Matlab 在循环中写入矩阵
我有一系列长度相等的数组,希望为这些数组的每个数据点生成一个矩阵,并执行某种操作,比如将矩阵相乘Matlab 在循环中写入矩阵,matlab,loops,matrix,Matlab,Loops,Matrix,我有一系列长度相等的数组,希望为这些数组的每个数据点生成一个矩阵,并执行某种操作,比如将矩阵相乘 a=ones(1,10); b=3*ones(1,10); c=zeros(1,10); for i=1:10 A(i)=[a(i) a(i); b(i) b(i)]; B(i)=[c(i) c(i)]; C(i)=B(i)*A(i); end 在不使用电池的情况下,这是可能的吗 A = zeros(2,2,length(a)); B = zeros
a=ones(1,10);
b=3*ones(1,10);
c=zeros(1,10);
for i=1:10
A(i)=[a(i) a(i);
b(i) b(i)];
B(i)=[c(i) c(i)];
C(i)=B(i)*A(i);
end
在不使用电池的情况下,这是可能的吗
A = zeros(2,2,length(a));
B = zeros(length(a),:);
C = zeros(size(B));
for i=1:10
A(:,:,i)=[a(i) a(i);
b(i) b(i)];
B(i,:)=[c(i) c(i)];
C(i,:)=B(i,:)*A(:,:,i);
end
注意:您可以使A
和B
不带循环:
aa = permute(A, [3,2,1]);
bb = permute(B, [3,2,1]);
A = [aa,aa;bb,bb];
B = [c.', c.'];
注意:您可以使A
和B
不带循环:
aa = permute(A, [3,2,1]);
bb = permute(B, [3,2,1]);
A = [aa,aa;bb,bb];
B = [c.', c.'];
您可以使用3d矩阵来存储a,使用诸如
a(:,:,i)=…
之类的赋值,您可以使用3d矩阵来存储a,使用诸如a(:,:,i)=…