I want to generate 2000 matrices for statistical analysis, when I put m=2 my code works but for greater then m it gives error like that "Error using ' Transpose on ND array is not defined. Use PERMUTE instead." see my code

조회 수: 1 (최근 30일)
clc
tic
m=3;
A = randn(3,3, m);
J=blkdiag(eye(3),-eye(2));
B=rand(2,3);
C=hilb(2);
for j=1:m
A(:,:,j) = 0.5*(A(:,:,j)+A(:,:,j)');
A(:,:,j) = A(:,:,j) + 5*eye(3);
K=[A(:,:,j),B';B,C];
L1(:,:,j) = chol(A(:,:,j),'lower');
g(:,:,j)=L1(:,:,j)';
I(:,:,j)=inv(g(:,:,j));
L2(:,:,j)=B*I(:,:,j);
B(:,:,j)=L2(:,:,j)*L1(:,:,j)';
G(:,:,j)=(C+L2(:,:,j)*L2(:,:,j)');
L3(:,:,j) = chol(G(:,:,j),'lower');
L(:,:,j)=[L1(:,:,j) zeros(3,2);L2(:,:,j) L3(:,:,j)];
end
toc

채택된 답변

Matt J
Matt J 2018년 10월 30일
편집: Matt J 2018년 10월 30일
Maybe just do
B=L2(:,:,j)*L1(:,:,j)';

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Design of Experiments (DOE)에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by