MATLAB中如何用for迴圈將結果代入矩陣中

2021-07-01 01:45:18 字數 2819 閱讀 8444

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=[1 a(i) 1;1 b(i) 1]%採用cell陣列儲存為<10x1 cell>end

matlab怎樣將迴圈輸出的資料結果放進一個矩陣中,然後用作他用?

5樓:楊柳風

n = 10;

b = zeros(1,n);

for k = 1:n

r = k; % 運算後資料

b(k) = r; % 存入矩陣內

end;

6樓:匿名使用者

你直接打為

a=1:10

就可以啦

7樓:

for i=1:10

b(i) = i ;

endb

8樓:匿名使用者

b=zeros(1,10); 的位置放錯了,放到迴圈外,如下所示;

b=zeros(1,10);

for i=1:10

b(:,i)=i;

end或者

b=;for i=1:10

b=[b,i];end

9樓:渣扎一個

b = zeros(1,10);%矩陣要在迴圈外定義,如果定義在迴圈裡每次迴圈時把之前的資料覆蓋

for i = 1 : 10 %只有最後一個資料為10,前9個覆蓋為0

b(:,i)=i;end

10樓:簡簡單dan的

把b=zeros(1,10); 放到迴圈外就好了b=zeros(1,10);

for i=1:10

b(:,i)=iend

在matlab裡如何用一個迴圈語句將一個矩陣中的每一列元素顯示出來?

11樓:轉基因牛

for i=1:5 %假設5列

b(:,i) %結尾不加分號。就會顯示出結果end

怎樣將迴圈輸出的資料結果放進一個矩陣中 matlab

12樓:匿名使用者

首先做一個空矩陣,用來存你輸出的內容

如:sum =

然後舉例說明,一下迴圈為例子:

for i = 1:5

for j = 1:5

%假設每次迴圈生成矩陣為a(i,j)

sum = horzcat(sum,a(i,j))%這句就會把每次生成的矩陣a(i,j)橫向加入到sum裡面%如果要縱向加,可用vertcat 函式

%也可以用 sum [sum; a(i,j)]的方法來把兩個matrix加起來

%要是包括了橫向和縱向新增,可以用if根據迴圈的情況來自定義如何新增,按照什麼次序新增

endend

最後併為一個矩陣 sum

常用的矩陣操作函式有:

cathorzcat

vertcat

repmat

blkdiag

13樓:五粒兵

把e和x裡冒號逗號去掉

怎麼把matlab中for迴圈得到的值儲存到矩陣中

14樓:

d1(t*10+1)=t*d1;

f1(t*10+1)=tr*f1;

MATLAB中如何用simulink對系統的開環傳遞函式進行

先開啟simulink,新建模型檔案,然後從模組庫裡拖出傳遞函式模組,雙擊,設定傳遞函式的表示式,你這種最好用零極點模型,然後在拖出來一個延遲模組,雙擊設定延遲時間tao。接著把這兩個模組串聯起來。然後拖出一個step訊號源和一個比較點,把他們之間連起來,再接一個負反饋到比較點,就完成了 如果這個直...

急請問在matlab中如何對for迴圈及if語句的嵌

給k1 k2設定下標就好了啊,k1 m k2 n 開始m n都為1 滿足條件時在加1.希望採納,設定為滿意答案,謝謝。matlab中if語句和for語句的巢狀 10 可以。行不行在matlab裡面執行下,然後檢視下變數是不是你想要的值就知道是對是錯了。可以的 f5一下你就知道 可以。matlab中 ...

matlab執行中如何解決程式迴圈次數增加後出現Inf或NAN

在必須使用多重迴圈時下,如果兩個迴圈執行的次數不同,則在迴圈的外環執行迴圈次數少的,內環執行迴圈次數多的,這樣可以提高速度。n 1000 a ones 1000 13 fork 1 n ticfor i 1 10 forj 1 1000 a i,j a i,j 15 endend t1 k toc ...