matlab程式設計時怎樣呼叫迴圈中每次得到的值

時間 2022-01-31 06:02:56

1樓:匿名使用者

方法一:

儲存每次迴圈結果;

方法二:

把迴圈放置在外層,將你主調程式放置內部

matlab,怎樣將每次迴圈中生成的值存在乙個矩陣裡?要簡單的方法。。。。。。

2樓:依然特雷西

1、第一步開啟matlab,命令列視窗輸入a=[1 4 6;7 8 9] ,建立矩陣。

2、第二步輸入b=reshape(a,1,6),將a矩陣變成行向量,其中1是1行,6是a矩陣的元素個數。

3、按回車鍵之後,可以看到a矩陣已經變成行向量了。

4、輸入b=[a(1,:),a(2,:)],通過矩陣裁剪的方式,也可以將矩陣變成行向量。

5、按回車鍵之後,就完成了。

3樓:匿名使用者

你每次迴圈生成的值是什麼形式——標量,向量,矩陣,或是不定?標量的情況最簡單,如果是向量和矩陣,就要考慮你打算用什麼樣的形式儲存了。

通常採用兩種方法(以標量為例):

1、把新的結果存在下標為end+1的位置,陣列會自動擴充套件,例如:

a=; for i=1:10, a(end+1)=i^2; end

2、預置陣列(一般使用zeros),並設定乙個計數器標記陣列當前的儲存位置,然後用該計數器作為下標進行儲存。例如:

a=zeros(10000,1); idx=0; while idx<10000, idx=idx+1; a(idx)=idx^(1/idx); end

前一種做法用起來可能更省事一些,但如果迴圈次數多,陣列反覆自動擴充套件會造成效率很低,這種情況應該考慮使用第二種方法。

4樓:匿名使用者

一。設 i 為迴圈次數,且只有乙個迴圈,a 為要儲存的矩陣,b 為每次迴圈生成的資料。

那麼就在迴圈裡寫

a(i)=b;

二。設 i 為外迴圈次數,j 為內迴圈次數,a 為要儲存的矩陣,b 為每次內迴圈生成的資料。

那麼就在迴圈裡寫

a(i,j)=b;

matlab 怎麼在for迴圈中儲存每一次迴圈得到的值並儲存在矩陣中?

5樓:無為

matlab下標是用括號表示的

l = 4; % l劃分層數

for i = 1:l-1;

b_latitude=pi/l; % l劃分層數

latitude(i)= i*b_latitude; %第i層時的緯度

latitude(i)= pi-i*b_latitude; %計算天頂距

b_longitude(i)= acos((cos(b_latitude)-(cos(latitude(i)))^2)/(sin(latitude(i)))^2); %每層上的經度差

ni=floor(2*pi/b_longitude(i)); %每條緯線上的格網點數

for j=1:ni;

longitude(i,j)= (j - 0.5)*2*pi/ni; %經度

endend

matlab中迴圈中怎麼將得到的結果以迴圈次數命名

6樓:匿名使用者

可以使用eval函式進行執行。

**如下:

clear all

close all

a=[1 2;3 4;5 6];

for i=1:3

eval(['b_' int2str(i) '=a(i,1)+2']);

end結果如圖:

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

7樓:楊柳風

n = 10;

b = zeros(1,n);

for k = 1:n

r = k; % 運算後資料

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

end;

8樓:匿名使用者

你直接打為

a=1:10

就可以啦

9樓:

for i=1:10

b(i) = i ;

endb

10樓:匿名使用者

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

11樓:渣扎乙個

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

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

b(:,i)=i;end

12樓:簡簡單dan的

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

for i=1:10

b(:,i)=iend

matlab中怎麼把迴圈中生成的數值存入乙個陣列中

13樓:匿名使用者

length=input('請輸入陣列的長度:');

for i=1:length

s(i)=((-1)^(i+1) +1)/2;

ends

14樓:

%迴圈外初始化

a =%迴圈內加一句

a = [a mse-flit];

matlab中,如何將矩陣數值逐個取出在迴圈中使用??????

15樓:

>> delta_x=[3 5 7 4 6 3];

>> delta_x(1)

ans =

3>> delta_x(2)

ans =5

16樓:匿名使用者

i=1:6

b(i)=delta_x(i)

試試看,希望對你有幫助!

matlab中如何讓迴圈中的某一句只執行一次?或如何對乙個變數初始化一次?

17樓:qq號

自然是將初始化寫在迴圈之前了。

在你這個裡就是將a=0寫在第一次呼叫function2之前了

matlab程式設計問題,迴圈語句怎麼加

建議把主程式修改如下 r 0.0425 t time to expiration t 2 輸入年數 dp defaut point sd short debt,ld long debt in xlsread 資料 修改後.xls b2 e118 n size in,1 out cell n 1,5 ...

matlab的引數積分程式設計,如何在matlab的m檔案裡編寫個積分程式

輸出圖形為 見附件 如何在matlab的m檔案裡編寫個積分程式 感覺不需要使用m檔案,根據你給的 函式f x 的引數x沒有作用啊。具體需求是什麼?下面是求積分 f x exp 0.5 x sin x pi 6 s quad f,0,pi matlab中帶引數的定積分求解 來個簡單點的。步長統一取0....

關於matlab程式設計出現的問題,關於matlab程式設計出現的問題

少了乙個end,for迴圈,if語句等都需要end收尾,而function則不需要這樣,所以不應該在函式的最後加end,而是在前面加,就像樓上那樣。還有弱弱地問下b i,j 是個數值把,k好像是個矩陣,兩個怎麼比呢,是不是第乙個迴圈有點問題?還有你說輸出的r1會是11個結果,但是你定義的好像是乙個1...

matlab程式設計出錯求大神指導,求大神解答matlab的程式問題

錯誤在於邏輯與 的使用,正確的 如下,糾正錯誤的地方已用 注釋說明 s0 50 k 5 r 0.2 sigma 0.3 t 0.5 a 428.5912 b 246.7252 c 801.6449 random a ones 10,100 從你的錯誤提示,看出,你的程式之前已經給random a賦值...

請教高手幫忙程式設計序用matlab編寫數值優化方法(最速下降法,懲罰函式法),具體題目如下

這種方法叫做 灰色 法 即 gm 1,1 模型 現在,想用matlab程式設計function gm1 1 x0 format long m,n size x0 x1 cumsum 請高手們幫忙如何編寫matlab編寫程式來求整數規劃的題目 1 求解整數規劃問題並不是matlab的強項,如果不是有要...