




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第5章程序設計和M文件
5.1程序控制5.2M文件結構5.3函數的使用5.4程序的調試5.5匿名函數、inline對象和函數句柄5.6函數繪圖5.7數值分析Matlab_程序設計和M文件5.1程序控制三種常用的結構:順序結構、分支結構和循環結構。4種程序流程控制語句:分支控制語句、循環控制語句、錯誤控制語句和流程控制語句。Matlab_程序設計和M文件5.1.1分支控制語句——
實現滿足一定條件就執行相應分支的功能。1.if結構
if
條件1
語句段1
elseif
條件2
語句段2 ......
else
語句段n
endMatlab_程序設計和M文件例5-1x=-5:0.1:5;ifx>=1y=x.^2-1;elseif-1<x<1y=0;elsey=-x.^2-1;endplot(x,y);Matlab_程序設計和M文件2.switch結構——
常用于各種條件的列舉。switch
表達式
case
值1
語句段1
case值2
語句段2 ...
otherwise
語句段n
end說明:(1)表達式只能是標量或字符串;(2)case后面的值可以是標量、字符串或元胞數組;(3)switch和end必須配對使用。Matlab_程序設計和M文件例5-2
使用switch結構判斷學生成績的等級,90分以上為優,80~90為良,70~80為中,60~70為及格,60分以下為不及格。score=98;s1=fix(score/10); %取十位數switchs1
case{9,10}s='優'
case8s='良'
case7s='中'
case6s='及格'
otherwises='不及格'ends=優Matlab_程序設計和M文件5.1.2循環控制語句——
實現將某段程序重復執行。1.for循環
for
循環變量=array
循環體
end
說明:array可以是向量也可以是矩陣,循環執行的次數就是array的列數,每次循環中循環變量依次取array的各列并執行循環體,直到array所有列取完。練習Matlab_程序設計和M文件forn=1:5 %循環5次forn=-1:0.1:1 %循環21次forn=linspace(-2*pi,2*pi,5) %循環5次a=eye(2,3);forn=a %循環3次,n為列向量例5-3x=eye(5);len=length(x)forn=1:lenx(n,n)=nendlen=5x=1000001000001000001000001x=1000002000001000001000001…x=1000002000003000004000005Matlab_程序設計和M文件or:x=eye(5);forn=1:length(x)x(n,:)=x(n,:)*nendMatlab_程序設計和M文件2.while循環——常用于預先知道循環條件或循環結束條件的情況。
while
條件表達式 循環體
end例5-4
使用while循環計算f(x)=sin(x),x<5且每次x遞增ln(x)。x=0.1;whilex<5
f=sin(x)x=x+log(x)endf=-4.0651e+002-1.5921e+003ix=5.5640+9.2717iMatlab_程序設計和M文件3.break和continue語句——控制循環的流程。(1)break語句
break語句使包含break的最內層for或while循環強制終止,并立即跳出該循環結構,執行end后面的命令,break一般與if語句結合使用。(2)continue語句
continue語句與break不同的是continue只結束本次for或while循環,而繼續進行下次循環,continue一般也與if語句結合使用。Matlab_程序設計和M文件eg.for循環中的break語句forii=1:5ifii==3;break;endfprintf('ii=%d\n',ii);enddisp('Endofloop!');結果:ii=1ii=2Endofloop!Matlab_程序設計和M文件eg.for
中的continue
語句forii=1:5ifii==3;continue;end
fprintf('ii=%d\n',ii);enddisp('Endofloop!');結果:ii=1ii=2ii=4ii=5Endofloop!Matlab_程序設計和M文件【例5-5】計算f(x)=ex,使用break語句當f(x)>1000時終止計算。x=0:10;forn=xf=exp(n);
iff>1000break
endendn=7f=1.0966e+003Matlab_程序設計和M文件例5-6
使用for循環將字符串中的數值取出,遇到非數值則跳過。str='Theresultis100.';len=length(str);s=[];forn=1:len
ifstr(n)>'9'|str(n)<'0' %非數值時
continue
ends=[sstr(n)]ends=1s=10s=100Matlab_程序設計和M文件相當于:str='Theresultis100.';len=length(str);s=[]forn=1:len
ifstr(n)>='0‘&str(n)<='9's=[sstr(n)]endendMatlab_程序設計和M文件5.1.3錯誤控制語句——
當程序可能出現運行錯誤時,可以使用錯誤控制結構來捕獲和處理錯誤,避免程序出錯而不能繼續運行。
try
語句段1
catch
語句段2
end執行過程:先試探地執行語句段1,如果出現錯誤則將錯誤信息賦給保留的lasterr變量,并放棄語句段1轉而執行語句段2中的語句;如果語句段2正確則結束;當語句段1和語句段2都錯誤,則程序出錯。如果語句段1正確則不執行語句段2就結束;Matlab_程序設計和M文件例5-7>>a=[135];>>b=[123];>>tryc=a.*b'catchc=a.*b;end>>cc=1615>>[lastmsg,lastid]=lasterrlastmsg=Errorusing==>timesMatrixdimensionsmustagree.lastid=MATLAB:dimagreeMatlab_程序設計和M文件例5-7-2a=[123]b=[456]tryc=a*b;disp('tryisexcute')catchc=a.*b;disp('catchisexcute')endcMatlab_程序設計和M文件5.1.4流程控制命令1.return命令return命令:(1)用于結束程序的執行,并立即返回到上一級調用函數
(2)終止鍵盤方式注意:當程序進入死(無限)循環時,則按Ctrl+break鍵來終止程序的運行。2.keyboard命令keyboard命令用來使程序暫停運行,等待鍵盤命令,命令窗口出現“K>>”提示符,當鍵盤輸入“return”后,程序才繼續運行。keyboard命令可以用來在程序調試或程序執行時修改變量。Matlab_程序設計和M文件a=[135];keyboardtryc=a.*b';catchc=a.*b;endcMatlab_程序設計和M文件3.input命令
a=input(‘Placeenteradata:’);
r=input(‘str’,‘s’)%從鍵盤中輸入字符串保存到變量r4.disp命令disp命令是較常用的顯示命令,常用來顯示字符串型的信息提示。5.pause命令pause命令用來使程序暫停運行,當用戶按任意鍵才繼續執行。常用于程序調試或查看中間結果,也可以用來控制執行的速度。pause的命令格式如下:pause(n)
%暫停n秒練習Matlab_程序設計和M文件5.2M文件結構MATLAB7.3的程序如果要保存則使用擴展名是“.m”的M文件,M文件有兩種即M腳本文件(ScriptFile)和M函數文件(FunctionFile)。Matlab_程序設計和M文件5.2.1M文件的一般結構1.函數聲明行函數聲明行是在M函數文件的第一行,只有M函數文件必須有,以“function”引導并指定函數名、輸入和輸出參數,M腳本文件沒有函數聲明行。2.H1行H1行是幫助文字的第一行。3.幫助文本4.程序代碼
程序代碼由MATLAB語句和注釋語句構成。Matlab_程序設計和M文件5.2.2M腳本文件和M函數文件1.M腳本文件格式:通常為一連串指令,沒有函數聲明行,無輸入和輸出參數.M腳本文件的說明:(1)運行腳本文件時,只是簡單地按順序從文件中讀取一條條命令,送到MATLAB命令窗口中去執行;(2)M腳本文件運行產生的變量都駐留在MATLAB的基本工作空間中,在命令窗口中運行的命令可以使用這些變量;(3)腳本文件的命令可以訪問工作空間的所有數據,因此要注意避免工作空間和腳本文件中的同名變量相互覆蓋,一般在M腳本文件的開頭使用“clear”命令清除工作空間的變量。Matlab_程序設計和M文件例5-8
在M文件編輯/調試器窗口中編寫M腳本文件得出10~50范圍內的所有素數。%EX5_8計算10~50內的素數cleary1=primes(50); %獲得50以內的所有素數n=length(primes(10)); %獲得10以內素數的個數y=y1(n+1:end)在命令窗口中輸入:>>ex5_8y=1113171923293137414347在工作空間中就可以查看到變量y1、n和y,并可以修改和使用這些變量。練習
PRIMES(N)isarowvectoroftheprimenumberslessthanorequaltoN.Aprimenumberisonethathasnofactorsotherthan1anditself.Matlab_程序設計和M文件2.M函數文件格式:有函數聲明行,可以輸入參數和輸出參數。M函數文件的說明如下:(1)M函數文件在運行過程中產生的變量都存放在函數本身的工作空間中。函數的工作空間隨具體的M函數文件調用而產生,并隨調用結束而刪除,如果運行多個函數則產生多個臨時的函數工作空間;(2)當文件執行完最后一條命令或遇到“return”命令時就結束函數文件的運行,同時函數工作空間的變量被清除;(3)一個M函數文件至少要定義一個函數。Matlab_程序設計和M文件函數聲明行的格式:function[輸出參數列表]=函數名(輸入參數列表)
說明:函數名是函數的名稱,保存時最好函數名與文件名一致,當不一致時,MATLAB以文件名為準;輸入參數列表是函數接收的輸入參數,多個參數間用“,”分隔;輸出參數列表是函數運算的結果,多個參數間用“,”分隔。Matlab_程序設計和M文件函數定義的形式舉例:定義多輸入輸出參數的函數
function[x,y,z]=sphere(theta,phi,rho)無輸入參數的函數
functiony=sphere(orsphere())無輸出參數的函數
functionsphere(x)(orfunction[]=sphere(x))Matlab_程序設計和M文件例5-9
將例5-7的計算行向量乘積的運算使用M函數文件保存。functionc=ex5_9(a,b)%EX5_9(a,b)returnstheproductofaandb%cistheproduct%aisthemultiplier%bisthemultiplicand%copyright2007-10-01
tryc=a.*b';catchc=a.*b;end調用該函數:>>z=ex5_9([123],[456])z=41018Matlab_程序設計和M文件例:functiondistance=dist2(x1,y1,x2,y2)%DIST2Calculatethedistancebetweentwopoints%FunctionDIST2calculatesthedistancebetween%twopoints(x1,y1)and(x2,y2)inaCartesiancoordinatesystem.%%Callingsequence:%res=dist2(xl,y1,x2,y2)%Definevariables:%x1--x-positionofpoint1%y1--y-positionofpoint1%x2--x-positionofpoint2%y2--y-positionofpoint2%distance--Distancebetweenpoints%Recordofrevisions:%DateProgrammerDescriptionofchange%12/15/98S.J.ChapmanOriginalcode%Calculatedistance.distance=sqrt((x2-x1).^2+(y2-y1).^2);Matlab_程序設計和M文件使用該函數的腳本文件如下:%Scriptfile:test_dist2.m%Purpose:%Thisprogramtestsfunctiondist2.%Recordofrevisions:%DateProgrammerDescriptionofchange%12/15/98S.J.Chapmanoriginalcode%Definevariables:%ax--x-positionofpointa%ay--y-positionofpointa%bx--x-positionofpointb%by--y-positionofpointb%result--DistancebetweenthepointsMatlab_程序設計和M文件%Getinputdata.disp('Calculatethedistancebetweentwopoints:');ax=input('Enterxvalueofpointa:');ay=input('Enteryvalueofpointa:');bx=input('Enterxvalueofpointb:');by=input('Enteryvalueofpointb:');%Evaluatefunctionresult=dist2(ax,ay,bx,by);%Writeoutresult.fprintf('Thedistancebetweenpointsaandbis%f\n',result);Matlab_程序設計和M文件直接在命令窗口調用該函數:>>test_dist2Calculatethedistancebetweentwopoints:Enterxvalueofpointa:1Enteryvalueofpointa:1Enterxvalueofpointb:4Enteryvalueofpointb:5Thedistancebetweenpointsaandbis5.000000Matlab_程序設計和M文件>>helpdist2DIST2CalculatethedistancebetweentwopointsFunctionDIST2calculatesthedistancebetweentwopoints(xl,yl)and(x2,y2)inaCartesiancoordinatesystem.Callingsequence:res=dist2(xl,y1,x2,y2)……Matlab_程序設計和M文件5.3函數的使用模塊化程序設計:將一個大任務分成若干小的子任務,用一個一個的函數完成這些子任務,通過函數間的調用完成復雜任務.優點:易于維護和修改程序.注意:主函數可以調用子函數,子函數可以調用其他子函數或本身,但子函數不能調用主函數.Matlab_程序設計和M文件5.3.1主函數和子函數一個M函數文件中可以包含一個或多個函數.1.主函數主函數是出現在文件最上方的函數,即第一行聲明的函數.一個M文件只能有一個主函數,通常主函數名與M函數文件名相同。2.子函數(1)子函數的次序無任何限制;(2)子函數只能被同一文件中的函數(主函數或子函數)調用,不能被其它文件的函數調用;(3)同一文件的主函數和子函數運行時的工作空間是相互獨立的。
eg.ex5_10Matlab_程序設計和M文件5.3.2函數的輸入輸出參數Matlab函數調用過程實際上也是參數的傳遞過程.函數A調用了函數B,稱A為“主調函數”,而B為“被調用函數”.函數通過輸入參數接收數據,經函數運算后由輸出參數輸出結果.Matlab_程序設計和M文件1.參數的傳遞函數的參數傳遞是將主調函數中的變量值傳給被調函數的輸入參數。(1)函數參數傳遞的是數值;(2)參數的存儲空間:被調函數的輸入參數存放在函數的工作空間中,與MATLAB的工作空間是獨立的,當調用結束時函數的工作空間被清除,輸入參數就消失了。eg.ex5_10Matlab_程序設計和M文件2.輸入輸出參數的個數Matlab中調用函數時的參數個數和函數聲明時的不一定相同,可用專用函數確定實際調用時輸入輸出參數的個數。(1)nargin和nargout函數
nargin('fun')
%獲取函數fun的輸入參數個數
nargout('fun')
%獲取函數fun的輸出參數個數說明:fun是函數名,當nargin和nargout函數在函數體內時fun可省略,在函數外時fun不省略。Matlab_程序設計和M文件補充:可選參數MATLAB的許多函數有可選參數,它們如何判斷用到了哪些參數以及進行了什么操作呢?可以用8個特殊函數來獲得可選參數的信息,及報告參數中的錯誤.Matlab_程序設計和M文件▲nargin
該函數返回調用函數時實際用的輸入參數的個數.▲nargout該函數返回調用函數時實際用的輸出參數的個數.▲nargchk
當調用函數時用了太少或太多輸入參數時,該函數返回一個標準的錯誤信息.▲error
當參數有致命錯誤時,顯示錯誤信息并異常中斷產生錯誤的函數.▲warning
當參數無致命錯誤時,顯示警告信息且函數繼續執行.▲inputname
該函數根據參數個數返回實際的變量名.Matlab_程序設計和M文件>>helpnargchkNARGCHKValidate(驗證)numberofinputarguments.
MSG=NARGCHK(LOW,HIGH,N)returnsanappropriateerrormessagestringifNisnotbetweenLOWandHIGH.Ifitis,NARGCHKreturnsanemptymatrix.Example:
error(nargchk(1,3,nargin,'struct'))
Matlab_程序設計和M文件eg.使用可選參數function[mag,angle]=polar_value(x,y)%POLAR_VALUEConverts(x,y)to(r,theta)%FunctionPOLAR_VALUEconvertsaninput(x,y)%valueinto(r,theta),withthetaindegrees.%Itillustratestheuseofoptionalarguments,%Definevariables:%angle--Angleindegrees%msg--Errormessage%mag--MagnitudeMatlab_程序設計和M文件%x--Inputxvalue%y--Inputyvalue(optional)%Recordofrevisions:%DateProgrammerDescriptionofchange%12/16/98S.J..Chapmanoriginalcode%Checkforalegalnumberofinputarguments.msg=nargchk(1,2,nargin);error(msg);Matlab_程序設計和M文件%Iftheyargumentismissing,setitto0.ifnargin<2y=0;end%Checkfor(0,0)inputarguments,andprintout%awarningmessage.ifx==0&y==0msg='Bothxandyarezero:angleismeaningless!';warning(msg);endMatlab_程序設計和M文件%Nowcalculatethemagnitude.mag=sqrt(x.^2+y.^2);%Ifthesecondoutputargumentispresent,calculate%angleindegrees.ifnargout==2angle=atan(y,x)*180/pi;endMatlab_程序設計和M文件執行函數:>>[magangle]=polar_value???Errorusing==>polar-valueNotenoughinputarguments.>>[magangle]=polar_value(1,-1,1)???Errorusing==>polarvalueToomanyinputarguments.>>[magangle]=polar_value(1)mag=1angle=0Matlab_程序設計和M文件>>[magangle]=polar_value(1,-1)mag=1.4142angle=-45>>mag=polar_value(1,-1)mag=1.4142>>[magangle]=polar_value(0,0)Warning:Bothxandyarezero:angleismeaningless!Ind:\book\matlab\chap5\polar_value.matline32mag=0angle=0Matlab_程序設計和M文件(2)varargin和varargout函數用于處理復雜輸入輸出參數,varargin和varargout函數需要與分支結構結合使用,將函數調用時實際傳遞的參數構成元胞數組,通過訪問元胞數組中各元素內容來獲得輸入輸出變量。格式:
functiony=fun(varargin)%輸入參數為varargin的函數funfunctionvarargout=fun(x)%輸出參數為varargout的函數funfunctionvarargout=fun(varargin)Matlab_程序設計和M文件5.3.3局部變量、全局變量和靜態變量變量的作用域和生存期:作用域是變量的作用范圍,生存期是變量的生存時間。根據變量作用域的不同,可將其分為局部變量和全局變量。根據變量生存期的不同,可將其分為自動變量和靜態變量。注意:函數名與同一作用域的變量名不能重復,否則函數無法被調用.Matlab_程序設計和M文件1.局部變量局部變量(LocalVariables)的作用范圍是定義該變量的函數內部。聲明局部變量:不需要特別聲明變量的存儲:在獨立的函數工作空間中變量結束:變量所在的函數執行完畢時。Matlab_程序設計和M文件2.全局變量
全局變量具有全局作用域,可在不同函數和Matlab工作空間中共享。作用:減少參數傳遞過程,提高程序執行效率。缺點:全局變量在任何定義過的函數中都可以修改,使用時應十分小心。Matlab_程序設計和M文件(1)聲明全局變量
全局變量在使用前必須用“global”聲明,而且每個要共享全局變量的函數和工作空間,都必須逐個用“global”對該變量加以聲明。(2)清除全局變量使用clear命令,命令格式如下:
clearglobal變量名 %清除某個全局變量
clearglobal %清除所有的全局變量
eg.li5_13Matlab_程序設計和M文件3.靜態變量格式:
persistentx;注意:它只能在function里聲明,且只有這個function才能認識它.聲明后需初始化,注意不能直接賦值;而是先用isempty(x)判斷x是否已經賦值,若沒有,則可以賦值給x。如:functiony=test()
persistenta;
ifisempty(a)
a=0;
end
a=a+1;
y=a;之后第一次調用y=test;結果y=1,第二次調用y=test;結果y=2。就是說a記錄了每次調用function后的結果。如果a為自動變量,則每次調用y=test后結果都是1.Matlab_程序設計和M文件5.3.4嵌套函數、私有函數和重載函數1.嵌套函數在MATLAB中一個函數的內部還可以定義一個或多個函數,這種定義在其他函數內部的函數就稱為嵌套函數。此時,每個函數必須用end結束。調用原則:
(1)外層函數可以調用內一層函數,但不能隔層調用;
(2)同層嵌套函數可以互相調用
(3)內層函數可以調用外一層函數及和外層函數同層的其他函數。Matlab_程序設計和M文件functionA(x)functionB(x,y)functionC(z)endendfunctionD(x)functionE(z,y)endendendA可以調用:B,DB可以調用:C,D,AC可以調用:B,D,ED可以調用:E,B,AE可以調用:D,B,CMatlab_程序設計和M文件2.私有函數私有函數是限制訪問權限的函數,私有函數存放在“private”子目錄中,只能被其直接父目錄的M函數文件所調用。3.重載函數重載函數是指兩個函數使用相同的名稱,處理的功能相似,但參數類型或個數不同,重載函數通常放在不同的文件夾下,文件夾名稱以“@”開頭后面跟一個數據類型名。Matlab_程序設計和M文件5.3.5函數的工作過程和P碼文件1.函數的搜索過程當在MATLAB中輸入一個標識符時,首先確認是不是變量名,若不是,則做如下搜索:檢查是否是本M函數文件內部的子函數;檢查是否是“private”目錄下的私有函數;檢查是否在當前路徑中;檢查是否在搜索路徑中。Matlab_程序設計和M文件2.P碼文件P碼就是偽代碼(Pseudocode),一個M文件第一次被調用時,MATLAB就將其進行編譯并生成P碼文件存放在內存中,生成的P碼文件與原M文件名相同,其擴展名為“.p”,P碼文件的保密性好。pcode......-inplace %生成……文件Matlab_程序設計和M文件3.函數的工作空間每一個M函數運行時都有一個內存區,稱為函數的工作空間。清除函數的工作空間:
clearfunctions
%清除所有編譯過的M函數文件和MEX文件工作空間
clearfunctionfunname%清除某個編譯過的函數工作空間Matlab_程序設計和M文件5.4程序的調試
5.4.1直接檢測(1)對于需要檢測的變量可以通過刪除語句行末尾的分號,或在程序的適當位置加顯示變量值的語句,將結果顯示在命令窗口中;(2)以腳本文件的方式來執行該函數。調試函數時,可以將該函數的第一句函數聲明行前加“%”,并給輸入參數賦值;(3)在程序的適當位置添加“keyboard”語句,當程序運行至此句會暫停運行,并在命令窗口顯示“k>>”提示符,這時就可以在命令窗口查看和修改各變量的內容。Matlab_程序設計和M文件5.4.2M文件編輯/調試器窗口1.“Debug”菜單(1)Step(F10)(2)Stepin(F11)和Stepout(shift+F11)(3)Run/Continue(F5)(4)Set/ClearBreakpoints(F12)(5)Set/ModifyConditionalBreakpoint…(6)StopifErrors/Warnings…(7)ExitDebugModeMatlab_程序設計和M文件5.5匿名函數、inline對象和函數句柄
5.5.1匿名函數匿名函數是面向命令行代碼的函數形式,通常只有一句很簡單的語句。fhandle=@(arg1,arg2,......)(expr)
%創建匿名函數說明:fhandle是函數句柄;arg1,arg2,......是參數列表,也可以省略;expr是函數表達式。例:5-16>>fhnd1=@(x)(1+exp(-x)); %創建匿名函數>>rf1=fhnd1(2) %調用匿名函數rf1=1.1353Matlab_程序設計和M文件5.5.2inline對象創建inline對象就是使用inline函數將字符串轉換成inline對象。inline_fun=inline(‘string’,arg1,arg2,…)
%創建inline對象例:5-17>>f=inline('sin(x)*exp(-z*x)','x','z') %創建inline對象f>>class(f) %查看f的類型ans=inline>>y1=f(1,2) %調用inline對象fy1=0.1139>>y2=feval(f,1,2)y2=0.1139Matlab_程序設計和M文件5.5.3函數句柄函數句柄(Function_Handle)包含了函數的路徑、函數名、類型以及可能存在的重載方法,即函數是否為內部函數、M或P文件、子函數、私有函數等。1.創建函數句柄fhandle=@fun %創建函數句柄2.函數句柄的調用[y1,y2,…]=fhandle(arg1,arg2…)%調用函數句柄fhandle[y1,y2,…]=feval(fhandle,arg1,arg2…)[y1,y2,…]=feval('fun',arg1,arg2…)Matlab_程序設計和M文件5.6函數繪圖
5.6.1fplot命令fplot命令可以繪制函數的曲線。fplot(fun,limits,tol,Linespec)
%繪制函數fun的曲線fplot(fun,limits,n)
說明:fun是函數句柄或函數名;limits是自變量的取值范圍[xminxmax]或[xminxmaxyminymax];tol是相對誤差度,默認為2e-3,可省略;Linespec是線型,與plot命令的設置相同,可省略;n是繪制的點數,當n≥1時至少繪制n+1個點。例:>>fhnd=@(x)(exp(-x).*sin(x));>>fplot(fhnd,[020],'b-.*')Matlab_程序設計和M文件5.6.2ezplot命令ezplot命令也是用于繪制函數在某一自變量區域內的圖形,ezplot命令格式如下:ezplot(fun,[min,max])
%繪制函數fun的曲線ezplot(x,y,[tmin,tmax])
說明:fun是函數句柄或函數名;[min,max]是自變量的范圍,可省略,省略時默認為[-2*pi,2*pi],當fun是二元函數,則范圍是[xminxmaxyminymax];x和y是指x(t)和y(t);[tmin,tmax]是t的范圍,可省略,省略時范圍是[0,2*pi]。例:>>ezplot('x^2+y^2-1',[-3,3,-3,3])Matlab_程序設計和M文件5.7數值分析
5.7.1求最小值和過零點1.一元函數的最小值fminbnd函數可以獲得一元函數在給定區間內的最小值。x=fminbnd(fun,x1,x2)%尋找最小值2.多元函數的最小值fminsearch函數可以獲得多元函數的最小值。[x,fval]=fminsearch(fun,x0) %尋找最小值3.一元函數的過零點x=fzero(fun,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 歷史●重慶卷丨2022年重慶市普通高中學業水平選擇性考試歷史試卷及答案
- 箱式變電站施工方案
- 2025年高風險作業培訓考試試題
- 外研版(2019)選擇性必修 第三冊Unit 2 A lifes work Understanding ideas課件(內嵌視頻)
- 貴州省貴陽市觀山湖區2023-2024學年四年級下學期數學期末試卷(含答案)
- 生物實驗室安全防護措施
- 商場反恐安全管理制度
- 廣告策劃流程與表格工具
- 南昌公交服務管理制度
- 倉庫qcc活動方案
- 人大代表應聘簡歷
- 23《海底世界》說課稿- 2023-2024學年統編版語文三年級下冊
- 起重機培訓課件-指揮職責及操作
- 經濟地理學講義(2024級)
- 無處不在-傳染病知到智慧樹章節測試課后答案2024年秋南昌大學
- 中醫外科學(云南中醫藥大學)知到智慧樹章節答案
- 梵高星空課件
- 北京市2024年中考歷史真題【附參考答案】
- 2024年家庭防水施工合同范本
- 10kV電纜線路穿越樂山至成都高速公路涵洞-專項施工方案
- 螺桿空壓機微電腦控制器MAM880
評論
0/150
提交評論