導航:首頁 > 創造發明 > matlab創造函數

matlab創造函數

發布時間:2021-08-03 00:19:03

❶ matlab 如何建立、調用自定義函數

函數文件需要在編輯器中提前編好程序。點擊上面的黃色「+」號,有一個function,點開就可以編寫函數。

記得一定要保存m文件在調用

❷ matlab怎麼建立自定義函數

matlab中定義函數的方式有以下幾種:

1、函數文件+調用函數文件:定義多個M文件。

%調用函數文件:myfile.m

clear

clc

for 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);

End

function 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的數值運算內核的,所以它的運算速度較快,程序效率更高。 缺點是該方法只能對數值進行代入,但是不支持符號代入,且對定義後的函數不能進行求導等符號運算。

❸ matlab如何創建函數

m文件函數是Matlab中的子函數,其格式為:
function[輸出參數列表]=函數名(輸入參數列表)
函數體

舉個例子,編寫一個求自變數X的正弦值的m函數,如下:
function y=mysin(x)
y=sin(x);% 函數體

此時在Matlab命令窗口輸入若下內容時
>>x=pi/2;
>>y=mysin(x)
Matlab便會調用y.m文件子函數,計算sin值,並給出結果為
>>y=1

❹ 用matlab生成函數圖

matlab的數據處理能力很強大,這款軟體還能繪制各種函數圖形。我將介紹用matlab畫函數圖形的方法,以在同一張圖上畫出y1=sin(x)和y2=sin^2(x)的圖形為例。
1、輸入自變數:
畫已知的函數圖形,用向量的方式表示自變數比較方便。代碼為
x=linspace(0,8);
%
用向量形式創建x。
2、輸入因變數表達式:
y1=sin(x);
%
向量y1的值為x坐標上某一x的s
i
n
(
2
x
)值。
y2=(sin(x)).^2
;
%
向量y2的值為(
s
i
n
(
x
)
)
.^2,注意別忘記一點」.「
3、使用plot命令畫圖:
plot(x,y1)
按回車,則畫出y1=sin(x)的圖形。
4、如果這時直接繼續畫y2=sin^2(x)的圖形,則在另一張圖中畫,為了在同一張圖中畫兩個函數圖,輸入下面代碼:
hold
on
5、再輸入繪圖命令:
plot(x,y2)
按回車,則在同一張圖上畫出了這兩個函數的圖形。可以通過菜單欄中的insert添加坐標名稱,文本等。
其他函數的畫法類似!

❺ 在MATLAB中S函數怎麼生成

matlab中s函數編寫

s函數是system Function的簡稱,用它來寫自己的simulink模塊。(夠簡單吧,^_^,詳細的概念介紹大夥看幫助吧)可以用matlab、C、C++、 Fortran、Ada等語言來寫,這兒我只介紹怎樣用matlab語言來寫吧(主要是它比較簡單)
先講講為什麼要用s函數,我覺得用s函數可以利用matlab的豐富資源,而不僅僅局限於simulink提供的模塊,而用c或c++等語言寫的s函數還可以實現對硬體埠的操作,還可以操作windows API等的
先介紹一下simulink的模擬過程(以便理解s函數),simulink的模擬有兩個階段:一個為初始化,這個階段主要是設置一些參數,像系統的輸入 輸出個數、狀態初值、采樣時間等;第二個階段就是運行階段,這個階段里要進行計算輸出、更新離散狀態、計算連續狀態等等,這個階段需要反復運行,直至結 束。
在matlab的workspace里打edit sfuntmpl(這是matlab自己提供的s函數模板),我們看它來具體分析s函數的結構。 它的第一行是這樣的:function [sys,x0,str,ts]=sfuntmpl(t,x,u,flag)
先講輸入與輸出變數的含義:t是采樣時間,x是狀態變數,u是輸入(是做成simulink模塊的輸入),flag是模擬過程中的狀態標志(以它來判斷當 前是初始化還是運行等);sys輸出根據flag的不同而不同(下面將結合flag來講sys的含義),x0是狀態變數的初始值,str是保留參數 (mathworks公司還沒想好該怎麼用它,嘻嘻,一般在初始化中將它置空就可以了,str=[]),ts是一個1×2的向量,ts(1)是采樣周 期,ts(2)是偏移量。
下面結合sfuntmpl.m中的代碼來講具體的結構:
switch flag, %判斷flag,看當前處於哪個狀態
case 0,
[sys,x0,str,ts]=mdlInitializeSizes;
flag=0表示處於初始化狀態,此時用函數mdlInitializeSizes進行初始化,此函數在 sfuntmpl.m的149行
我們找到他,在初始化狀態下,sys是一個結構體,用它來設置模塊的一些參數,各個參數詳細說明如下
size = simsizes;%用於設置模塊參數的結構體用simsizes來生成
sizes.NumContStates = 0;%模塊連續狀態變數的個數
sizes.NumDiscStates = 0;%模塊離散狀態變數的個數
sizes.NumOutputs = 0;%模塊輸出變數的個數
sizes.NumInputs = 0;%模塊輸入變數的個數
sizes.DirFeedthrough = 1;%模塊是否存在直接貫通(直接貫通我的理解是輸入能 %直接控制輸出)

❻ matlab創建函數

不知你要問什麼。
你這個函數的功能是畫一個半徑為m的圓,函數名為f。直接在運行這個函數就會出現你這個錯誤,因為m是形參,沒有具體給定一個值。要畫半徑為1的圓,可在命令先執行:m=1,再f(m),或直接運行f(1)也可以。

❼ 用matlab怎麼創建函數啊

舉個例子
function [mean,stdev] = stat(x)
n = length(x);
mean = sum(x)/n;
stdev = sqrt(sum(x-mean).^2/n);
編輯一個m文件,保存為stat.m為文件名就可以在文件所在的目錄用輸入stat(輸入)的方法調用函數了,這個函數有兩個輸出,這一點和c不一樣。

❽ 如何用matlab生成任意函數

生成任意函數有點難度,但是有很多隨機數生成函數
如rand randn randperm randsrc normrand等
具體參見統計工具箱
另外,創建函數的幾種方法
f=inline('x^2+2*x+3',x):
f=@(x) (x^2+2*x+3);
或使用
function 命令創建函數文件即可
>>help function

❾ Matlab創建自定義函數

新建一個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()這個函數。

❿ matlab中怎麼定義一個函數

方法:

1、函數文件+調用函數文件:定義多個M文件;

%調用函數文件:myfile.m

clear

clc

for t=1:10

y=mylfg(t);

fprintf(『M^(1/3)=%6.4f 』,t,y);

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 』);

End

function y=lfg2(x)

Y= x^(1/3);

%註:自定義函數文件funtry2.m中可以定義多個子函數function。子函數lfg2隻能被主函數和主函數中的其他子函數調用。

3、Inline:無需M文件,直接定義;

%inline命令用來定義一個內聯函數:f=inline(『函數表達式』, 『變數1』,』變數2』,……)。

調用方式:y=f(數值列表) %

注意:代入的數值列表順序應與inline()定義的變數名順序一致。

閱讀全文

與matlab創造函數相關的資料

熱點內容
聚投訴珍愛網 瀏覽:47
公共衛生服務協議書2017 瀏覽:805
改革工作成果匯報 瀏覽:49
醫療糾紛管理倫理的主要要求不包括 瀏覽:959
工業光魔創造不可能720p 瀏覽:243
君主立憲制是法國大革命的成果 瀏覽:13
王成果青島科技大學 瀏覽:519
護理品管圈成果匯報書 瀏覽:875
使用權獲取途徑 瀏覽:759
怎麼投訴奧迪4s店 瀏覽:31
美術教師校本研修成果 瀏覽:740
股權轉讓合同模板 瀏覽:638
知識產權部門重點的工作計劃範文 瀏覽:826
用地批准書能證明土地的使用權權嗎 瀏覽:829
拓荒者知識產權 瀏覽:774
商標侵權事宜處理委託書 瀏覽:168
內容無版權今日頭條 瀏覽:327
房產糾紛訴訟時效是多長時間 瀏覽:269
無形資產年限怎麼確定 瀏覽:542
工商登記人員工作總結2018 瀏覽:799