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);
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提供了了兩種定義分段函式的方法 常規方法 使用if.else.語句定義不同的分支下面進行舉例說明 在matlab中定義如下分段函式1 常規方法 function y fun x if x 1 y x elseif x 2 y x 2 else y x 3 endreturn functi...
請教高手matlab怎麼定義函式為什麼會出如下的錯
如果你的程式是個script,那麼裡面是不允許有函式定義的,除非你的程式本身也是一個函式。要不你就另存在另一個檔案中。 就是通過插值點用折線段連線起來逼近原曲線,這也是計算機繪製圖形的基本原理。實現分段線性插值不需編制函式程式,matlab自身提供了內部函式interp1其主要用法如下 interp...
matlab自定義函式function中輸入引數中有函式怎麼
天蠍神經俠侶 matlab自定義函式的六種方法 n1 函式檔案 呼叫函式 命令 檔案 需單獨定義一個自定義函式的m檔案 n2 函式檔案 子函式 定義一個具有多個自定義函式的m檔案 n3 inline 無需m檔案,直接定義 n4 匿名函式 n5 syms subs 無需m檔案,直接定義 n6 字串 s...