資源描述:
《Matlab工程應(yīng)用基礎(chǔ)-3-3.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第3章矩陣、數(shù)組和符號(hào)運(yùn)算7、符號(hào)方程求解線性方程組的符號(hào)解法函數(shù)命令linsolve用來求解線性方程組符號(hào)解。對(duì)方程A*X=B,linsolve的調(diào)用格式為:X=linsolve(A,B)等同于X=sym(A)sym(B)>>A=sym('[10,-1,0;-1,10,-2;0,-2,10]')A=[10,-1,0][-1,10,-2][0,-2,10]>>B=('[9;7;6]')B=[9;7;6]>>linsolve(A,B)ans=[473/475][91/95][376/475]>>vpa(ans,6
2、)ans=[.995789][.957895][.791579]矩陣A必須至少是行滿秩的。當(dāng)A的列數(shù)大于行數(shù)時(shí),將給出解不惟一的警告提示。b.非線性方程的符號(hào)解法用函數(shù)零點(diǎn)法求非線性方程的解有兩個(gè)函數(shù)命令,即fzero和fsolve。fzero命令用于求一元函數(shù)零點(diǎn)fsolve命令用于求解非線性方程組首先需將方程f(x)=g(x)轉(zhuǎn)化為F(x)=f(x)-g(x)=0,方程組也是如此;然后再將函數(shù)F(x)寫成MATLAB的m函數(shù),以便在fzero和fsolve命令中調(diào)用。求解的過程為:先猜測一個(gè)初始零點(diǎn),或者該零
3、點(diǎn)大概所在的區(qū)間;然后通過計(jì)算,使猜測值不斷精確化,或使猜測區(qū)間不斷收縮,直到達(dá)到預(yù)先指定的精度為止。第3章矩陣、數(shù)組和符號(hào)運(yùn)算第3章矩陣、數(shù)組和符號(hào)運(yùn)算求一元函數(shù)零點(diǎn)命令fzero的調(diào)用格式為:◆x=fzero(fun,x0):求一元函數(shù)零點(diǎn)命令的最簡形式;◆[x,fval,exitflag]=fzero(fun,x0,options,P1,P2,...):求一元函數(shù)零點(diǎn)命令的完整格式。x0是初始猜測的零點(diǎn);options是優(yōu)化迭代所采用的參數(shù)選項(xiàng),options的缺省設(shè)置可以用命令options=optims
4、et(’fzero’)獲得;P1,P2是向函數(shù)fun傳遞的附加參數(shù)。它的具體取名和函數(shù)fun中一致;x是輸出參數(shù),為所求的零點(diǎn)自變量值;fval是輸出參數(shù),為函數(shù)fun在x處的值;exitflag是描述函數(shù)fun的退出情況。若exitflag>0,則表示找到函數(shù)零點(diǎn)后退出;若exitflag<0,則表示沒有找到零點(diǎn)或在搜索過程中遇到了無窮大的函數(shù)值。第3章矩陣、數(shù)組和符號(hào)運(yùn)算用fzero命令求解函數(shù)的零點(diǎn)(1)建立函數(shù)f(x)的M文件。functiony=fun1(x)y=x.^4-4*x-5;(2)建立水平橫軸
5、的M文件。functiony=fun2(x)y=0;(3)用作圖法估計(jì)函數(shù)零點(diǎn)位置。>>fplot('fun1',[-5,5],'r')>>holdon>>fplot('fun2',[-5,5],'r')(4)用zoom和ginput命令獲得零點(diǎn)的初始近似值在程序中輸入下列命令,可得到函數(shù)的局部放大圖及鼠標(biāo)操作線。zoomon%局部放大命令[tt]=ginput(1)[yy]=ginput(1)%用鼠標(biāo)獲取2個(gè)零點(diǎn)猜測值zoomoff%恢復(fù)原來圖形大小顯示所得零點(diǎn)初始猜測值,結(jié)果為:tt=-0.98380.000
6、1yy=1.87620.0091(5)用函數(shù)fzero命令求函數(shù)的精確零點(diǎn)[x,fval,exitflag]=fzero(’fun1’,tt(1),[])%靠近tt(1)點(diǎn)處的精確零點(diǎn)[x,fval,exitflag]=fzero(’fun1’,yy(1),[])%靠近yy(1)點(diǎn)處的精確零點(diǎn)結(jié)果為:Zerofoundneartt.x=-1fval=0exitflag=1第3章矩陣、數(shù)組和符號(hào)運(yùn)算Zerofoundnearyy.x=1.8812fval=-6.2172e-015exitflag=1解非線性方程組的
7、函數(shù)命令fsolve其調(diào)用格式為:◆x=fsolve(fun,x0):解非線性方程組最簡單的調(diào)用格式。該式中除兩個(gè)輸入?yún)?shù)外,其余輸入輸出參數(shù)都可以缺?。弧鬧x,fval,exitflag,output,jacob]=fsolve(fun,x0,options,P1,P2...):解非線性方程組最完整的調(diào)用格式。x0是表示零點(diǎn)數(shù)是猜測值的向量;options是優(yōu)化迭代所采用參數(shù)的結(jié)構(gòu)數(shù)組。P1和P2是向函數(shù)fun傳遞的參數(shù);x和fval是輸出參數(shù),所求零點(diǎn)的自變量值和函數(shù)值;output是輸出此命令所用的計(jì)算方法
8、、迭代次數(shù)等信息。jacob是函數(shù)在x處的jacobian。第3章矩陣、數(shù)組和符號(hào)運(yùn)算第3章矩陣、數(shù)組和符號(hào)運(yùn)算求方程組的根。首先編制函數(shù)文件fc.mfunctiony=fc(x)y(1)=x(1)-0.7*sin(x(1))-0.2*sin(x(2));y(2)=x(2)-0.7*cos(x(1))+0.2*sin(x(2));y=[y(1),y(2)];然后用fsol