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

2021-08-13 13:58:01 字數 4503 閱讀 1478

1樓:愛你凡凡麼麼噠

將兩個m檔案放在同一目錄,在第一個m檔案裡面直接輸入第二個m檔案的函式名稱即可 。

[輸出1,輸出2,..]=函式名稱(變數1,變數2,...)。

matlab是美國mathworks公司出品的商業數學軟體,用於演算法開發、資料視覺化、資料分析以及數值計算的高階技術計算語言和互動式環境,主要包括matlab和simulink兩大部分。

2樓:我行我素

matlab中的m檔案是可以在檔案外呼叫的,如y=myfun(x)是個個函式,可這樣呼叫:

x=[......];

y=myfun(x)

如果要呼叫m檔案中的函式,則只能在該m檔案內,不能在外部呼叫,這種函式叫子函式。如:function y=myfun(x)

a=[....];

y=myfunfun(a)

function f=myfunfun(a)f=a^2+1;

endend

這個檔案中的myfunfun函式只能在這個函式內使用,不能在外部呼叫。

3樓:楊好巨蟹座

n 1、函式檔案+呼叫命令檔案:需單獨定義一個自定義函式的m檔案;

n 2、函式檔案+子函式:定義一個具有多個自定義函式的m檔案;

1、函式檔案+呼叫函式檔案:定義多個m檔案:

% 呼叫函式檔案:myfile.m

clear

clcfor t=1:10

y=mylfg(t);

end%自定義函式檔案: mylfg.m

function y=mylfg(x) %注意:函式名(mylfg)必須與檔名(mylfg.m)一致

y=x^(1/3);

注:這種方法要求自定義函式必須單獨寫一個m檔案,不能與呼叫的命令檔案寫在同一個m檔案中。

2、函式檔案+子函式:定義一個具有多個子函式的m檔案%命令檔案:funtry2.m

function =funtry2()

for t=1:10

y=lfg2(t)

fprintf(『m^(1/3)=%6.4f\n』);

endfunction y=lfg2(x)y= x^(1/3);

%注:自定義函式檔案funtry2.m中可以定義多個子函式function。子函式lfg2只能被主函式和主函式中的其他子函式呼叫。

4樓:su顏ail依舊

我舉個例子:

新建m檔案

function [f,sf] = t2f(t,st)%dt = t(2) - t(1);

t = t(end);

df = 1/t;

n = length(st);

f = -n/2*df:1/1:n/2*df-df;

sf = fft(st);

sf = t/n*fftshift(sf);

儲存這個子函式檔名為t2f.m

然後在同一個目錄下另外建立主函式

clear all

close all

t=-1:0.001:1;

y=sinc(2*pi*t);

figure(1);

plot(t,y)

[f,y]=t2f(t,y);%這裡就是呼叫剛才的子函式figure(2);

plot(f,abs(y))

axis([-20 20 -0.1 0.1]);

該程式在第8行呼叫了子函式;

還有另外一種方法把子函式和主函式寫在同一個m檔案裡,這個只要求子函式在主函式之前就可以。

希望對你有所幫助。

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

5樓:越亭晚僑汝

將兩個m檔案放在同一目錄,在第一個m檔案裡面直接輸入第二個m檔案的檔名即可

("字尾名不要")。

採用:run函式。

這樣的話,就可以將另一個m檔案中的資料匯入到動態儲存中,這樣就可以呼叫變數的值了

matlab中如何在m檔案中呼叫自定義函式

6樓:楊好巨蟹座

n 1、函式覆檔案+呼叫命令

制檔案:需單獨定義一個自定

義函式的m檔案;

n 2、函式文

件+子函式:定義一個具有多個自定義函式的m檔案;

1、函式檔案+呼叫函式檔案:定義多個m檔案:

% 呼叫函式檔案:myfile.m

clear

clcfor t=1:10

y=mylfg(t);

end%自定義函式檔案: mylfg.m

function y=mylfg(x) %注意:函式名(mylfg)必須與檔名(mylfg.m)一致

y=x^(1/3);

注:這種方法要求自定義函式必須單獨寫一個m檔案,不能與呼叫的命令檔案寫在同一個m檔案中。

2、函式檔案+子函式:定義一個具有多個子函式的m檔案%命令檔案:funtry2.m

function =funtry2()

for t=1:10

y=lfg2(t)

fprintf(『m^(1/3)=%6.4f\n』);

endfunction y=lfg2(x)y= x^(1/3);

%注:自定義函式檔案funtry2.m中可以定義多個子函式function。子函式lfg2只能被主函式和主函式中的其他子函式呼叫。

7樓:匿名使用者

看看路徑有沒有設對,如果path裡面沒有包含f1.m的目錄,就用cd命令把這個目錄加進去,用法和dos下的一樣

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

8樓:愛你凡凡麼麼噠

將兩個m檔案放在同一目錄,在第一個m檔案裡面直接輸入第二個m檔案的函式名稱即可 。

[輸出1,輸出2,..]=函式名稱(變數1,變數2,...)。

matlab是美國mathworks公司出品的商業數學軟體,用於演算法開發、資料視覺化、資料分析以及數值計算的高階技術計算語言和互動式環境,主要包括matlab和simulink兩大部分。

9樓:扶德萬澎

matlab中的m檔案是可以在檔案外呼叫的,如y=myfun(x)是個個函式,可這樣呼叫:

x=[......];

y=myfun(x)

如果要呼叫m檔案中的函式,則只能在該m檔案內,不能在外部呼叫,這種函式叫子函式。如:function

y=myfun(x)

a=[....];

y=myfunfun(a)

function

f=myfunfun(a)

f=a^2+1;

endend

這個檔案中的myfunfun函式只能在這個函式內使用,不能在外部呼叫。

matlab的呼叫的函式能不能跟函式放在一個m檔案中?

10樓:

可以的,但是呼叫函式的程式本身必須定義成一個函式。比如:被呼叫的函式是fun1,呼叫它的函式是callfun1。那麼你要新建一個callfun1.m,裡面輸入:

function callfun1 %不需要輸入和輸出引數,直接點執行即可執行

a=0.1;

b = fun(a) %點執行後,會直接在command window裡顯示b=0.01

function y = fun1(x)

y=x^2;

注:function結尾加不加return沒有什麼區別,可加可不加

matlab怎麼呼叫m檔案

11樓:匿名使用者

用任何方式建立都行,包括記事本,或者是matlab自帶的編譯器,然後將matlab工作目錄切換到檔案所在目錄,直接輸入檔名執行。或者在任何目錄下輸入該檔案的完全路徑。

m檔案有兩種格式,一種叫做script,就是將一系列的命令寫成一個檔案。執行這種檔案相當於一次性執行了很多條命令;所有執行過程中的資料都在工作空間裡。

另一種叫function,在檔案開頭的地方有下面的說明行:

function [輸出引數1,輸出引數2,...]=函式名(輸入引數1, 輸入引數2,...)

呼叫的時候,用「檔名(引數列表)"的方式呼叫,這裡的檔名是不包含字尾".m"的。執行結束以後只會返回輸出引數,計算過程中的中間變數不會被顯示在工作空間裡。

學習matlab要多看其幫助檔案,比很多參考書有用得多。還有一本叫做「戰勝matlab必做練習五十題」的書對於快速掌握matlab基本應用很不錯。我初學的時候只做了前三十題就已經可以自如地工作了。

12樓:匿名使用者

function y=fun(x)

y=sin(x);

plot(y);

>> x=1; y=fun123(x)

y =0.8415

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

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

怎麼用matlab求m檔案中的函式的梯度

試試,下面的 如果xi是實數將eval syms sx,改為eval syms sx,real 計算結果可能更簡潔一些,這裡由於不知道 回你的m值,所以也將其引數化答了,你可以將其換為你需要的值。若有問題,可繼續追問 x m for i 1 24 sx x num2str i m num2str i...

如何能把MATLAB中的M檔案弄成模組,在SIMULIN

在simulink user defined function裡面有各種可以呼叫的自定義函式,其中embedded matlab function m file s function s function等等又可以實現m檔案被simulink所呼叫。內如果你容是初學者,不妨使用embedded ma...