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

2021-07-01 01:41:09 字數 4654 閱讀 5037

1樓:匿名使用者

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

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

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

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

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

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

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

2樓:墨汁諾

按程式,後面的資料將覆蓋前面的資料,可按下面:

function xunhuan(k)

%input('迴圈次數')

for i=1:k

myfunc;

success=xlswrite('e:testdata.xls', w,i)

endend

這樣會在一個檔案中生成多個工作表

3樓:匿名使用者

將兩個m檔案放在同一目錄,在第一個m檔案裡面直接輸入第二個m檔案的檔名即可 ("字尾名不要")。

採用:run函式。

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

4樓:

普通的指令碼檔案(不是函式):

run('****') 裡面填相對路徑或絕對路徑。

例如當前資料夾下的 aa.m,則可以run('aa.m');

如果不在搜尋路徑,則需要給完整路徑,如run('c:\ddd\aa.m')、run('../../ddd/aa.m')

如果是自己寫的函式(以 function 開頭):

最好把它放在path的某個資料夾裡,一般的做法是,把所有自定義函式都集中放在一起,然後把這個資料夾(需要的話還有子資料夾)加入到path中

matlab m檔案中如何呼叫simulink模組

5樓:

m檔案對simulink的連線:

1、在m檔案中首先開啟mdl檔案,用open_system('model');

2、現在可以在m檔案中用set_param()和get_param()函式改變和獲得simulink中模組的引數值;

把m函式封裝成simulink模組(matlab7.0):

1、可以應用user-defined functions 裡面的embedded matlab function;

2、m函式為多輸入與多輸出時可直接改fcn函式輸入與輸出,儲存就可以那;

用sim()函式

該函式的呼叫格式為:

[t,x,y]=sim(f1,tspan,options,ut)

其中f1為simulink的模型名,tspan為**時間控制變數;引數options為模型控制引數;ut為外部輸入向量

6樓:匿名使用者

在m檔案裡呼叫模型mdl關鍵是用sim命令。

[ t, x, y ] = sim( model, timespan, options, ut)

[ t, x, y1, y2, …, yn] = sim( model, timespan, options, ut)

(1)model:需要進行**的

系統模型框圖名稱;

(2)timespan:系統**的時間範圍(起始至終止時間),可有如下形式:

tfinal:設定**終止時間。**起始時間預設為0;

[tstarttfinal]:設定起始時間(tstart)與終止時間(tfinal);

[tstartoutputtimestfinal]:設定起始時間(tstart)與終止時間(tfinal),並且設定**返回的時間向量[tstartoutputtimestfinal],其中tstart、outputtimes、tfinal必須按照升序排列。

(3)options:由simset命令所設定的除**時間外的**引數;

(4)ut:表示系統模型頂層的外部可選輸入。ut可以是matlab 函式。可以使用多個外部輸入ut1、ut2、…。

(5)t:返回系統**的時間向量。

(6)x:返回系統**的狀態變數矩陣。

(7)y:返回系統**的輸出矩陣。按照頂層輸出outport模組的順序輸出。如果輸出訊號為向量輸出,則輸出訊號具有與此向量相同的維數。

(8)y1,…,yn:返回多個系統**的輸出。

改變模型輸入引數的demo,同時不影響原來的mdl檔案

>t=0:0.1:10; t=t』; u=sin(t); sim_input=[t, u];

>[tout1, x1, yout1]=sim(『command_in_out』, 10); %使用simulink**引數對話方塊中的workspace i/o 從matlab 工作空間中獲得輸入訊號

>u=cos(t);

>ut=[t, u]; %改變系統輸入訊號

>>[tout2, x2, yout2]=sim(『command_in_out』, 10, , ut);

7樓:塵埃開出花

matlab m檔案中呼叫simulink模組步驟如下:

1、開啟simulink在simulink庫中選擇」simulink「庫,在其下的子庫」user-defined functions「中選擇 」matlab function「並新增到simulink**框圖中。

2、開啟m檔案:如下圖所示,雙擊matlab function 即可開啟編輯環境。

4、變數的定義:確定輸入輸出函式,在確定了輸入輸出變數之後進行函式頭的編輯。

6、m檔案模組外觀:m檔案編輯後即可進行封裝並連線成整個函式系統,從而實現所需要的**功能。

8樓:小丁創業

matlab m檔案中呼叫simulink模組的方法和詳細的操作步驟如下:

1、首先,開啟simulink,在simulink庫中選擇「 simulink」庫,在子庫「 user-defined functions」中選擇「 matlab function」,然後將其新增到simulink**框圖中,如下圖所示。

2、其次,開啟m檔案,雙擊「matlab function」開啟編輯環境,如下圖所示。

4、然後,變數的定義:確定輸入和輸出函式,並在確定輸入和輸出變數後編輯函式頭,如下圖所示。

6、最後,m檔案模組的外觀:編輯m檔案後,可以將其封裝並連線到整個功能系統中,以實現所需的**功能,如下圖所示。

matlab中怎麼同時執行多個m檔案,這些檔案怎麼相互呼叫?

9樓:匿名使用者

function sin=drawsin(x)%放在第一個m檔案中sin=sin(x);

plot(x,y,'g*');

function cos=drawcos(x)%放在第二個m檔案中cos=sin(x);

plot(x,y,'r*');

function main()%放在第三個m檔案中,drawsin,drawcos是子程式

x=-pi:0.1:pi;

drawsin(x)

drawcos(x)

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

10樓:楊好巨蟹座

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只能被主函式和主函式中的其他子函式呼叫。

11樓:匿名使用者

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

matlab提供程式語言,請簡述m檔案程式設計中的命令

看你的mysql當前預設的儲存引擎 mysql show variables like storage engine 你要看某個表用了什麼引擎 在顯示結果裡引數engine後面的就表示該專表當前用屬的儲存引擎 mysql show create table 表名 什麼是matlab語言 程式設計應用...

matlab編寫m檔案求兩矩陣的乘法有問題請高手指點

很高興為您解答這個問題,matlab中兩個矩陣是可以直接相乘的,比如c a b。如果要自己程式設計來實現,可以這樣做。function c mutiply matrix a,b m1,n1 size a m2,n2 size b if n1 m2 c return c endc zeros m1,n...

請問matlab中m檔案寫的程式開頭是定義的function後

m函式除了直接用函式名呼叫之外,也可以進行引數傳遞,使得matlab應用更加方專 便。m函式檔案以function開頭,格式為屬function 輸出變數 函式名稱 輸入變數 語句。編寫一個求自變數x的正弦值的m函式,如下 function y mysin x y sin x 函式體此時在matla...