matlab怎麼定義函式啊,matlab中怎麼定義一個函式?

時間 2021-08-30 11:15:20

1樓:

matlab中定義函式的方式有以下幾種:

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

% 呼叫函式檔案:myfile.m

clear

clcfor x=1:10

y=mylfg(x);

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

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

y=3*x+1;

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

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

%命令檔案:funtry2.m

function =funtry2()

for x=1:10

y=lfg2(x);

endfunction y=lfg2(x)

y= 3*x+1;

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

3、inline行內函數:無需m檔案,直接定義。

%inline命令用來定義一個行內函數:f=inline(‘函式表示式’, ‘變數1’,’變數2’,……)。

呼叫方式:y=f(數值列表) %注意:代入的數值列表順序應與inline()定義的變數名順序一致。

例如:f=inline(‘3*x+1‘,’x’);

z=f(2)

ans=7

注:這種函式定義方式是將它作為一個內部函式呼叫。特點是,它是基於matlab的數值運算核心的,所以它的運算速度較快,程式效率更高。

缺點是該方法只能對數值進行代入,但是不支援符號代入,且對定義後的函式不能進行求導等符號運算。

2樓:泥新庚鴻暢

刪掉重複的語句: " index=0;"

改動兩處寫錯的語句:

“ xlable('aspect angle,theta[degrees]');

ylable('rcs-dbsm');”

改為:“ xlabel('aspect angle,theta[degrees]');

ylabel('rcs-dbsm');”

輸入命令為rcs_cylinder(1,2,3,4,5,'circular')

得到的圖形為:

3樓:匿名使用者

新建一個m檔案 在m檔案裡面第一行輸入function [x,y]=pll(x1,y1,x2,y2),這裡x1 x2 y1 y2是你函式的輸入值, x y是輸出值,接著定義你要實現的功能,比如:x = x1 + x2; y = y1 + y2; 接著儲存這個m檔案,注意!! 這個m檔案的名字必須是定義的函式的名字,即儲存為pll.

m 否則會出錯。

接著在matlab命令視窗中輸入 pll(1,2,3,4)看看會得到什麼? 也可以另外建立一個m檔案,在這裡呼叫pll()這個函式。

4樓:宇逸

可以有三種方法建立:

(1)inline函式:

f=inline('3*x+1','x')可以得到:f=

inline function :

f(x)=3*x+1

輸入t=0:3;

f(t)

ans =

1 4 7 10

(2)匿名函式:

f=@(x)3*x+1

可以得到:f=

@(x)3*x+1

輸入t=0:3;

f(t)

ans =

1 4 7 10

(3)建立m-函式

新建m檔案,輸入:

function f=equation(x)f=3*x+1;

儲存m檔案到工作資料夾;

呼叫:輸入t=0:3;

f=equation(t)

ans =

1 4 7 10

5樓:匿名使用者

新建一個m檔案,輸入 function f=myfun()

matlab中怎麼定義一個函式?

6樓:老表遊戲

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

% 呼叫函式檔案:myfile.m

clear

clcfor t=1:10

y=mylfg(t);

fprintf(‘m^(1/3)=%6.4f\n’,t,y);

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

3、inline:無需m檔案,直接定義;

%inline命令用來定義一個行內函數:f=inline(‘函式表示式’, ‘變數1’,’變數2’,……)。

呼叫方式:y=f(數值列表) %

注意:代入的數值列表順序應與inline()定義的變數名順序一致。

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

優勢特點:

1、 高效的數值計算及符號計算功能,能使使用者從繁雜的數**算分析中解脫出來。

2、具有完備的圖形處理功能,實現計算結果和程式設計的視覺化。

3、友好的使用者介面及接近數學表示式的自然化語言,使學者易於學習和掌握。

4、功能豐富的應用工具箱(如訊號處理工具箱、通訊工具箱等) ,為使用者提供了大量方便實用的處理工具。

程式設計環境:

matlab由一系列工具組成。這些工具方便使用者使用matlab的函式和檔案,其中許多工具採用的是圖形使用者介面。包括matlab桌面和命令視窗、歷史命令視窗、編輯器和偵錯程式、路徑搜尋和用於使用者瀏覽幫助、工作空間、檔案的瀏覽器。

隨著matlab的商業化以及軟體本身的不斷升級,matlab的使用者介面也越來越精緻,更加接近windows的標準介面,人機互動性更強,操作更簡單。而且新版本的matlab提供了完整的聯機查詢、幫助系統,極大的方便了使用者的使用。簡單的程式設計環境提供了比較完備的除錯系統,程式不必經過編譯就可以直接執行,而且能夠及時地報告出現的錯誤及進行出錯原因分析。

7樓:

只有在m檔案中定義的第一個函式才可以在命令視窗直接呼叫,並且檔名字必須和函式名字相同。命令視窗是不能定義函式的

matlab怎麼建立自定義函式

8樓:

matlab中定義函式的方式有以下幾種:

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

% 呼叫函式檔案:myfile.m

clear

clcfor x=1:10

y=mylfg(x);

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

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

y=3*x+1;

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

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

%命令檔案:funtry2.m

function =funtry2()

for x=1:10

y=lfg2(x);

endfunction y=lfg2(x)

y= 3*x+1;

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

3、inline行內函數:無需m檔案,直接定義。

%inline命令用來定義一個行內函數:f=inline(‘函式表示式’, ‘變數1’,’變數2’,……)。

呼叫方式:y=f(數值列表) %注意:代入的數值列表順序應與inline()定義的變數名順序一致。

例如:f=inline(‘3*x+1‘,’x’);

z=f(2)

ans=7

注:這種函式定義方式是將它作為一個內部函式呼叫。特點是,它是基於matlab的數值運算核心的,所以它的運算速度較快,程式效率更高。

缺點是該方法只能對數值進行代入,但是不支援符號代入,且對定義後的函式不能進行求導等符號運算。

9樓:天雲一號

% 函式檔案fun.m

function y = fun(x)

y = x.^2;

% 主檔案main.m

a = [3, 2, 5];

b = fun(x); % 呼叫之前自定義的函式fun,輸出結果為[9, 4, 25]

% 函式檔案 examp.m

function fout = examp(a,b,c)

if nargin == 1   % 如果輸入變數只有一個

fout = a;

elseif nargin == 2  % 如果輸入變數只有2個

fout = a + b;

elseif nargin == 3  % 如果輸入變數有3個

fout = (a*b*c) / 2;

end% 主檔案main.m

b = examp(4); % 呼叫之前自定義的函式examp,輸出結果為4

c = examp(4, 6); % 呼叫之前自定義的函式examp,輸出結果為10

d = examp(4, 5, 6); % 呼叫之前自定義的函式examp,輸出結果為60

10樓:雙槍老椰子

新建一個m檔案 在m檔案裡面第一行輸入function [x,y]=pll(x1,y1,x2,y2),這裡x1 x2 y1 y2是你函式的輸入值, x y是輸出值,接著定義你要實現的功能,比如:x = x1 + x2; y = y1 + y2; 接著儲存這個m檔案,注意!! 這個m檔案的名字必須是定義的函式的名字,即儲存為pll.

m 否則會出錯。

接著在matlab命令視窗中輸入 pll(1,2,3,4)看看會得到什麼? 也可以另外建立一個m檔案,在這裡呼叫pll()這個函式。

11樓:紫風**

新建一個m檔案,在editor編輯器中輸入函式function [x,y]=pll(x1,y1,x2,y2)以及其欲實現的功能,儲存,然後在另外一個m檔案中就可以呼叫這個函式,在命令視窗中不能實現呼叫。

我初學,我就是這樣用的,並且那個自定義了函式的m檔案與呼叫此函式的m檔案須在同一儲存路徑下

matlab自定義函式怎麼用,matlab 如何建立 呼叫自定義函式?

hui翽 matlab自定義函式的七種方法 1 函式檔案 呼叫命令檔案 需單獨定義一個自定義函式的m檔案。2 函式檔案 子函式 定義一個具有多個自定義函式的m檔案。3 inline 無需m檔案,直接定義。4 匿名函式。5 syms subs 無需m檔案,直接定義。6 字串 subs 無需m檔案,直接...

matlab中利用ma函式找最大值報錯

value 0.0000000001127510.000000000022347 0.000000000022369 0.000000000054461 0.000000000014980 0.000000000021612 0.000000000013461 0.000000000013303 0...

matlab中怎麼定義大矩陣,matlab中怎麼定義乙個大矩陣

在matlab中,矩陣一般指二維陣列,當然矩陣也可以是多維的。生產的方法常用的有 直接輸入法。比如 c 1 2 3 4 生成2x2階矩陣2.函式法。matlab中提供了若干特殊函式用於繪製二維陣列。比如magic 3 生成3x3階魔方矩陣3.外部檔案法 通過外部檔案,比如data.m命令執行生產資料...