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

2021-04-13 01:51:11 字數 4413 閱讀 8748

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...