Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 在循环中写入矩阵_Matlab_Loops_Matrix - Fatal编程技术网

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)=…