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