200分求,matlab程式中以function開頭的檔案,怎麼和主函式一起執行

時間 2022-03-16 10:15:10

1樓:匿名使用者

不一定放在電腦中安裝matlab的work那個資料夾下。

但是一定要將子函式和主函式放在同乙個資料夾下,並且,matlab路徑選擇在那個資料夾。

希望對樓主有幫助~~~

2樓:

對,把主程式和function函式都放在work資料夾下,然後matlab裡,選擇路徑到work資料夾下

然後在main裡可以直接呼叫函式了

3樓:匿名使用者

1、先找到matlab的資料夾,

2、選擇1:然後自己新建乙個資料夾,名字任取,選擇2:或者直接用work資料夾

3、你的主函式和別的函式(相關聯),都放在這個資料夾裡,就可以相互呼叫了

4、使用時注意設定路徑,工具欄上就有這個按鈕,設定到你的這個資料夾,5、就好了·~~~~

4樓:匿名使用者

一般需要把你的工作分門別類的放在不同的工作目錄裡,以方便使用。

開啟matlab後可以重新設定工作目錄,使得工作目錄為你現在要處理的問題,而函式以及呼叫函式就必須放在這個工作目錄中。

5樓:匿名使用者

就是說主函式放在哪個資料夾裡,你的子函式就放在哪個資料夾。

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

matlab中m檔案程式開頭定義function後怎麼執行?

matlab中的function,和主程式寫在一起。怎麼檢視變數的值。

6樓:匿名使用者

matlab中函式執行的變數不會在工作空間顯示,

可以把函式中的;去掉來顯示,或者用disp()來顯示變數的值

也可以把函式檔案改成指令碼檔案執行,指令碼檔案執行時變數會在工作空間顯示,便於檢視。

7樓:匿名使用者

寫在一起最好是用不同的變數名啦。

不然你就步進執行,慢慢看

8樓:匿名使用者

想看變數的值設定斷點看不就可以了

matlab主程式和子程式怎麼寫到一塊

9樓:求雅韻

寫在同乙個m檔案下就可以了,主函式寫在最開始例如:function main

...............

function submain1

.................

function submain2

.................

是這個意思麼

10樓:匿名使用者

寫在一起,必須都是function,

如果你的主程式是普通的m程式,不是function,而子程式是function,這兩個程式是不能寫在一起的

舉個例子:

%主程式

a=1;

b=2;

c=addfun(a,b)

% 子程式

function c=addfun(a,b)c=a+b;

return

以上是不能寫在乙個m檔案裡的。

但是function mainfun()

clca=1;

b=2;

c=addfun(a,b)

% 子程式

function c=addfun(a,b)c=a+b;

return

這樣子時可以的,可以直接執行。不過當程式執行結束後,你將無法檢視主程式和子程式的變數的值。

matlab 如何同時獨立執行兩個函式呢?這兩個函式沒有關係,但需要同時執行~各位朋友幫幫忙,不會實現啊。

11樓:劉賀

不用什麼特別的

來命令,當主程式呼叫源時,兩個

函式自動就會同時執行了

舉個簡單例子:

函式1:(myfun1.m)

function y=myfun1(x)

y=3*sin(x)+4*cos(x);

-----------------------------函式2:(myfun2.m)

function y=myfun2(x)

y=2*sin(2*x)+3*cos(2*x);

-------------------------------主程式:

clear all;clc;

x=-pi:pi/40:pi;

y=myfun1(x)+myfun2(x);

plot(x,y);grid on;

12樓:匿名使用者

我想你是要實現matlab平行計算。以前實現比較麻煩,新版本的matlab很容易了

matlabpool(2)

parfor i=1:2

eval(['myfun' num2str(i) ';']);end

function在matlab中怎麼用

13樓:寢室

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。

14樓:未來還在那裡嗎

1.通過在命令欄中輸入function,點選右鍵或者按f1來查詢function函式的幫助...

2.在幫助文件中對function函式進專行了詳細的功能描述,使用方法屬的介紹。其基本形式為...

3.點選軟體左上角新建,新建乙個.m檔案或者函式都可以進行編輯。

4.第一行定義函式輸入輸出;第二三行百分號部分是注釋部分,這裡注意一定要...

5.這裡舉乙個簡單的求和例子。**如下: function [ c ] = untitled...

15樓:匿名使用者

我想,你執行不出來的原因是:你可能直接執行此function函式了。如果要真是這樣的話,那肯定是不行的。function函式只能被呼叫。不能直接執行。

16樓:匿名使用者

相當於c語言裡面的copy子函式 宣告方法: out=函式名(in1,in2,in3)

宣告完之後就是 定義函式的**例: result=adder(a,b)result=a+b;

end然後點選儲存(注意不是執行,而是儲存)然後就能在命令列裡面使用你定義的函式了

例: >> a=1;

>>b=2;

>>c=adder(a,b);。

17樓:匿名使用者

function [output1,output2,...] = functionname(param1,param2,...)

將該函抄

數實現儲存在乙個m檔案中,命名為functionname呼叫的時候:

[output1,output2] = functionname(param1,param2);

然後就可以用output1和output2這兩個返回值或者返回向量了

18樓:匿名使用者

相當於c語言裡面的子函式 宣告方法: out=函式名(in1,in2,in3)

宣告完之後就是 定義函式的**回例: result=adder(a,b)result=a+b;

end然後點選保

存(注意不是答執行,而是儲存)

然後就能在命令列裡面使用你定義的函式了

例: >> a=1;

>>b=2;

>>c=adder(a,b);

結果是c=a+b=1+2=3

回答完畢,不懂請追問

19樓:匿名使用者

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我。

20樓:匿名使用者

可以直接用來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

21樓:匿名使用者

用來自定義函式的,例如

function y=summ(a,b)

y=a+b;

22樓:匿名使用者

要在command視窗中直接呼叫執行

新學matlab,輸入引數的數目不足是什麼意思?

23樓:

是因為當執行函式的時候,沒有提供足夠的引數。

解決方法:

1、首先需要知道在matlab中用log函式表示對數,在命令列視窗中輸入「help log」,可以看到log函式的使用方法。

2、輸入以e為底的對數函式,輸入log(2.7183),可以看到結果為1,e的值大約為2.7183。

3、輸入以2位底的對數函式,可以輸入log2(16)。

4、輸入以10位底的對數函式,可以輸入log10(1000)。

5、輸入其他為底的對數函式logm(n),可以通過log(n)/log(n)的方式,如要輸入log3(9)的形式,可以通過log(9)/log(3)實現。

matlab中定義函式並儲存後怎麼執行啊?

24樓:王

matlab自定義函式的幾種方法

1、函式檔案+呼叫命令檔案:需單獨定義乙個自定義函式的m檔案;

2、函式檔案+子函式:定義乙個具有多個自定義函式的m檔案;

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

4、匿名函式;

5、syms+subs: 無需m檔案,直接定義;

6、字串+subs:無需m檔案,直接定義;

7、直接通過@符號定義.

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()定義的變數名順序一致。

例如:f=inline(『x^2+y』,』x』,』y』);

z=f(2,3)

ans=7

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

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

例:clear

clcf=』x^2』;

syms x g;

g=x^2;

h=inline(『x^2』,』x』);

4. 匿名函式

使用matlab函式控制代碼操作符@,可以定義指向matlab內建函式和使用者自定義函式的函式控制代碼,函式控制代碼也可以像函式一樣的使用。例如:

>>x=-pi:0.1:pi;

>> fh=;

fh =

@cos @sin

>>plot(fh(x))

5、syms+subs: 無需m檔案,直接定義;

用syms定義乙個符號表示式,用subs呼叫:

syms f x %定義符號

f=1/(1+x^2); %定義符號表示式

subs(f, 『x』, 代替x的數值或符號)

注:對於在syms中已經定義過的符號變數,在subs中進行替代時,單引號可以省略。但是,如果在syms後又被重新定義為其他型別,則必須加單引號,否則不可替換。

這種函式定義方法的特點是,可以用符號進行替換

syms f x

f=1/(1+x^2);

subs(f, 『x』,』y^2』)

ans=

1/(1+(y^2)^2)

注:該方法的缺點是,由於使用符號運算核心,運算速度會大大降低。

6、字串+subs:無需m檔案,直接定義;

直接定義乙個字串,用subs命令呼叫。例如:

f=』1/(1+x^2)』 %定義字串

z=subs(f,』x』,2)

g=subs(f,』x』,』y^2』)

注:優點是,占用記憶體最少,定義格式方面自由。

缺點是,無法對字元進行符號轉化。

當所要替代的符號在呼叫前都已經有了數值定義,則可以直接呼叫:subs(f).例如:

f=』x^2*y』;

x=2;y=3;

subs(f)

ans=12

7、直接通過@符號定義.

示例如下:

>> f=@(x,y)(x.^2-sin(y))

f =@(x,y)(x.^2-sin(y))

>> f(2,3)

ans =

3.8589

matlab中求極值點,matlab中求極值點

先畫出導數的曲線,根據其零點判斷有幾個極點,然後對各極點分別指定適當的初值,利用fsolve求出準確的零點位置,再繪圖即可.參考 如下 symsxf 2 x.2 4 sin 2 pi x df diff f ezplot df,33 x0 1.8 1.3 0.80.50.20.51.2 x0 fso...

200分求個好名,200分求個好名

男孩 蘇嘉韻 嘉 善 美 好 誇獎 讚許 吉慶 幸福 歡樂,亦 佳 家 之諧音。韻 美妙動聽之聲音,運 之諧音 好運 福運 福氣也 亦 蘊 之諧音 包含 積蓄 事理深奧。寓意一是貴子降生乃家庭快樂幸福之大喜事,給家庭帶來好運 福運 二是貴子善良忠厚 內涵豐綽 底蘊上佳,值得誇獎讚許 引為自豪 三是貴...

求MATLAB大神幫我看看程式哪有問題,謝謝

我把步長改了改,因為不然電腦執行太慢不出結果,所以改長了,但是沒有其他影響.下面的 是沒改的.t 0.1 r 0.5 a 2 d的取值區間上限 b 0.04 d的步長,我取的0.1 c1 0 o取值區間下限 c2 10 o取值區間上限 d 0.1 o的步長,我取的0.5 p21 1 r21 0.1 ...