matlab中迴圈呼叫同函式是不是很慢?和呼叫函式後再循

2021-05-19 12:32:26 字數 833 閱讀 6817

1樓:我行我素

這個問題不能一概而論。一般情況,迴圈語句for...end是較慢的,但程式要求必須用,是沒辦法的。

在for迴圈中呼叫函式,與for...end後呼叫同一個函式相比,呼叫快慢是一樣的。

matlab 函式中怎麼呼叫自身,進行自迴圈? 20

2樓:匿名使用者

在matlab中,一個函式可以呼叫其它函式,也可以呼叫自身(即遞迴呼叫)。

利用遞迴演算法編寫函式的典型例子是計算fibonacci數列。

m-函式檔案:

function a = my_fibo(k)

if k == 1 || k == 2

a = 1;

else

a = my_fibo(k-1) + my_fibo(k-2);

end將這個檔案寫入m-檔案編輯器並以名稱「my_fibo.m」儲存,然後就可以呼叫:

>> my_fibo(26)

ans =

121393

遞迴演算法是解決某一類問題的有效方法,但不宜濫用,因為它的運算速度往往很慢。例如

>> tic, n= my_fibo(26) ,toc

n =121393

elapsed_time =

1.468

但如果用一般的迴圈語句來求解這個問題:

>> tic,n=[1,1];for k=3:100,n(k)=n(k-1)+n(k-2);end,toc,n(26)

elapsed_time =

0ans =

121393

速度差別是非常明顯。

matlab怎麼呼叫m檔案中的函式

將兩個m檔案放在同一目錄,在第一個m檔案裡面直接輸入第二個m檔案的函式名稱即可 輸出1,輸出2,函式名稱 變數1,變數2,matlab是美國mathworks公司出品的商業數學軟體,用於演算法開發 資料視覺化 資料分析以及數值計算的高階技術計算語言和互動式環境,主要包括matlab和simulink...

MATLAB中for迴圈與while迴圈的區別

while可以在不知道最大迴圈次數的情況下,在滿足條件的時候退出迴圈,但是for必須指定最大迴圈次數,到達最大迴圈次數時就要退出了,在滿足條件時也可以退出的.同樣的功能抄,用for和while都能實現 雖然如此,但這兩個命令各有優勢,同一項功能,用這兩個命令實現起來的複雜程度可能不一樣!自己總結認為...

matlab中怎麼呼叫pythonpython計算結果再返回

全部用檔案io的話可以這樣 matlab把所有引數輸出到一個檔案裡,然後用system命令調python指令碼。python指令碼讀檔案做計算結果再寫檔案。最後matlab再讀檔案得到結果。假設python指令碼的用法是 python py in.txt out.txt則matlab呼叫命令為 st...