1樓:寢室
m函式除了直接用函式名呼叫之外,也可以進行引數傳遞,使得matlab應用更加方專
便。m函式檔案以function開頭,格式為屬function 輸出變數 = 函式名稱(輸入變數)語句。
編寫一個求自變數x的正弦值的m函式,如下:function y=mysin(x)y=sin(x);% 函式體此時在matlab命令視窗輸入若下內容時》x=pi/2;>>y=mysin(x)matlab便會呼叫y.m檔案子函式,計算sin值,並給出結果為》y=1。
2樓:匿名使用者
我想,你執行不出來的原因是:你可能直接執行此function函式了。如果要真是這樣的話,那肯定是不行的。function函式只能被呼叫。不能直接執行。
3樓:匿名使用者
function [output1,output2,...] = functionname(param1,param2,...)
將該函抄
數實現儲存在一個m檔案中,命名為functionname呼叫的時候:
[output1,output2] = functionname(param1,param2);
然後就可以用output1和output2這兩個返回值或者返回向量了
4樓:匿名使用者
function用來bai定義函式,一般一個du函式放在一個.m檔案裡。舉個zhi簡單的例子建立一dao個myfunction.m,然後在版檔案中寫。權
function y=myfunction(a,b)其中a,b是輸入函式的引數,y是函式返回的值。當需要返回多個值時,可以將y看作一個陣列,或者直接將函式的開頭寫成如function [x,y]=myfunction(x,y)的形式。
然後就是定義函式的內容,通俗的說就是怎樣由輸入引數a,b得到返回值y。比如最簡單的y=a+b。
總結一下,將下面的**
function y=myfunction(a,b)y=a+b;
儲存為一個m檔案myfunction.m,呼叫方式如下。
num=myfunction(3,4);
這樣就可以由函式中的y=a+b得到num的值是3+4=7。
以上是最簡單的例子,不知說清楚沒有,如不清楚可以直接hi我。
5樓:匿名使用者
可以直接用來polyval([1 0 3 4],0),由於你這個源是多項式,很好bai處理的
如果是不du能寫成矩陣係數的非線性zhi函式,相對就麻煩一點了dao比如y=sin(x)+x^2,要求x=0處的值,可以這樣求,f=inline('sin(x)+x^2','x')%表示符號函式y=f(0)%將x=0帶入符號函式中,求符號函式的值如果你要問的只是function的用法,那麼需要另外建立一個單獨的檔案,相對來說不如上述方法簡單。
function的用法是
1新建一個m檔案
function f=f(x)
f(1)=x^3+3*x+4;%f(1)表示第一個方程,如果還有可以追加f(2),一次類推,當然只有一個時f(1)可以簡寫成f。
2將其儲存為f_x.m
2在matlab命令視窗中直接呼叫f_x(0)就可以了>> f_x(0)
ans =4
6樓:匿名使用者
用來自定義函式的,例如
function y=summ(a,b)
y=a+b;
7樓:匿名使用者
要在command視窗中直接呼叫執行
請教關於matlab中的m函式和m檔案的程式編寫,謝謝!
8樓:minquan一人
函式檔案
function myfun(a,b,c);
x=-b/2/a-5:0.1:-b/2/a+5;
y=a*x.^2+b*x+c;
plot(x,y);
xlabel('x');ylabel('y');xlim([min(x),max(x)]);
命令視窗中 輸入
myfun(1,1,1)
命令視窗中 輸入
myfun(-1,2,1)
matlab中如何在m檔案中呼叫自定義函式
9樓:楊好巨蟹座
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只能被主函式和主函式中的其他子函式呼叫。
10樓:匿名使用者
看看路徑有沒有設對,如果path裡面沒有包含f1.m的目錄,就用cd命令把這個目錄加進去,用法和dos下的一樣
matlab中的.m檔案是什麼意思
11樓:四舍**入
函式檔案或者指令碼檔案,matlab的m檔案分為兩種。
一種為指令碼檔案,就是由一堆命令構成的,裡面第一行不是 function 開頭,這種檔案比如是myfun.m 就在命令視窗裡輸入myfun回車就行,matlab會把m檔案中的命令都執行一次。
另一種為函式檔案,第一行為function ,比如說 function y=myfun(x),這種檔案函式名與檔名必須是一致的,在命令視窗裡輸入myfun(x), x是執行引數,回車即執行。
要注意的是,不同於c語言,matlab的m檔案不允許指令碼和函式在同一個m檔案中。
.m* 中的*表示目前該檔案被修改後,還沒有儲存。
12樓:nb呵呵
函式檔案或者指令碼檔案
比如自己編一個函式程式,可以在命令視窗呼叫
13樓:
matlab的m檔案分為兩種。
一種為指令碼檔案,就是由一堆命令構成的,裡面第一行不是 function 開頭
,這種檔案比如是myfun.m 就在命令視窗裡輸入myfun回車就行,matlab會把m檔案中的命令都執行一次。
另一種為函式檔案,第一行為function ,比如說 function y=myfun(x),這種檔案函式名與檔名必須是一致的,在命令視窗裡輸入myfun(x), x是執行引數,回車即執行。
要注意的是,不同於c語言,matlab的m檔案不允許指令碼和函式在同一個m檔案中。
.m* 中的*表示目前該檔案被修改後,還沒有儲存。
14樓:梧桐偶
matlab寫程式的檔案。
matlab是解釋型語言,就是說matlab命令列中敲入的命令在當前matlab程序
中被解釋執行。但是,每次執行一個任務時敲入長長的命令序列是很煩人的。有兩種方法可以使matlab的力量得到擴充套件——指令碼和函式。
這兩種方法都用像emacs一樣的文字編輯器中編寫的m檔案(因為副檔名是.m所以這樣命名,m檔案還稱點m檔案)。m檔案的好處在於它可以儲存命令,還可以輕易地修改命令而無需重新敲入整個命令列
15樓:匿名使用者
就是matlab命令或函式構成的檔案,有命令檔案和函式檔案兩種型別
matlab用function定義一個函式後 怎麼讓這個函式生效 是把這個m檔案存到哪啊
16樓:卜項離
函式 是要呼叫的,.m檔案應該和呼叫它的.m檔案放在一個資料夾裡才行,不然找不到它的;
譬如函式為 out = function(input1,input2); 此函式有兩個引數,一個返回值;
呼叫它的話,就是 result = function(x1,x2); result 就是用函式function對實際引數x1和x2計算得到的返回值;
matlab的函式定義和函式呼叫基本和其它程式語言是一個道理,引數傳入,引數傳出等
matlab怎麼呼叫m檔案,matlab中一個m檔案怎麼呼叫另一個m檔案的函式
用任何方式建立都行,包括記事本,或者是matlab自帶的編譯器,然後將matlab工作目錄切換到檔案所在目錄,直接輸入檔名執行。或者在任何目錄下輸入該檔案的完全路徑。m檔案有兩種格式,一種叫做script,就是將一系列的命令寫成一個檔案。執行這種檔案相當於一次性執行了很多條命令 所有執行過程中的資料...
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編制函式檔案求出輸入引數中的最
matlab已經提供了求最小值的函式min 所以可以藉助內部函式迅速實現。如果不考慮使用內部函式,那麼可以使用if語句來實現。下面給出具體 使用min 函式 function x fun min a,b,c x min a,b,c return 使用if判斷語句 function x fun min...