MATLAB中如何用for 循环将结果代入矩阵中?

2024-12-26 04:07:34
推荐回答(4个)
回答1:

推荐的做法是:
1. 如果每次循环产生等长的行向量,就把每次产生的行向量作为矩阵的一行,行标就是当前循环数;
2. 如果每次循环产生的向量不等长,就把每次产生的行向量作为cell数组的一个元素,下标就是当前循环数。

回答2:

错在维数不一致,看看,f的大小是1x10,那么w的维数也是1x10,而a,b,c的大小都是2x2,那么你的d
=
(a*b*c).*w;
你是想用一个2x2的矩阵(a*b*c)去点乘一个1x10的向量么?这个通不过的。

回答3:

你的表示方法不太对
for i=1:10
a(i)=1+i;
b(i)=i+2;
c(:,:,i)=[1 a(i) 1;1 b(i) 1];
end
结果c为一系列矩阵

c(:,:,1) =

1 2 1
1 3 1

c(:,:,2) =

1 3 1
1 4 1

c(:,:,3) =

1 4 1
1 5 1

c(:,:,4) =

1 5 1
1 6 1

c(:,:,5) =

1 6 1
1 7 1

c(:,:,6) =

1 7 1
1 8 1

c(:,:,7) =

1 8 1
1 9 1

c(:,:,8) =

1 9 1
1 10 1

c(:,:,9) =

1 10 1
1 11 1

c(:,:,10) =

1 11 1
1 12 1

回答4:

for i=1:10
a(i)=1+i
b(i)=i+2
c{i,1}=[1 a(i) 1;1 b(i) 1]%采用cell数组存储为<10x1 cell>
end