Matlab求解線性方程組、非線性方程組_第1頁(yè)
Matlab求解線性方程組、非線性方程組_第2頁(yè)
Matlab求解線性方程組、非線性方程組_第3頁(yè)
Matlab求解線性方程組、非線性方程組_第4頁(yè)
Matlab求解線性方程組、非線性方程組_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、求解線性方程組solve,linsolve 例:a=5 0 4 2;1 1 2 1;4 1 2 0 ;1 1 1 1 ;%矩陣的行之間用分號(hào)隔開(kāi),元素之間用逗號(hào)或空格b=3;1;1;0x=zeros(4 ,1);%建立一個(gè) 4 元列向量x=linsolve (a,b)diff(fun,var ,n):對(duì)表達(dá)式 fun 中的變量 var 求 n 階導(dǎo)數(shù)。例如:f=sym(u(x,y)*v(x,y)); %sym ()用來(lái)定義一個(gè)符號(hào)表達(dá)式diff(f) ; %matlab 區(qū)分大小寫pretty(ans) pretty():用習(xí)慣書寫方式顯示變量;ans 是答案表達(dá)式非線性方程求解fsolve

2、(fun,x0,options) 其中 fun 為待解方程或方程組的文件名;x0 位求解方程的初始向量或矩陣;option 為設(shè)置命令參數(shù)建立文件 fun.m:function y=fun (x)y=x(1)-0.5 sin(x(1)0.3*cos(x (2), 。x(2) - 0。5cos(x(1)+0.3*sin (x(2);clear;x0=0.1,0.1 ;fsolve (fun,x0,optimset (fsolve )) 注:。為續(xù)行符m 文件必須以 function 為文件頭 ,調(diào)用符為; 文件名必須與定義的函數(shù)名相同;fsolve ()主要求解復(fù)雜非線性方程和方程組,求解過(guò)程是

3、一個(gè)逼近過(guò)程。matlab 求解線性方程組ax=b 或 xa=b 在 matlab 中,求解線性方程組時(shí),主要采用前面章節(jié)介紹的除法運(yùn)算符“/ 和“ ” 。如: x=ab 表示求矩陣方程 axb 的解;xb/a 表示矩陣方程 xa=b 的解。對(duì)方程組 xab,要求 a 和 b 用相同的行數(shù), x 和 b 有相同的列數(shù),它的行數(shù)等于矩陣 a 的列數(shù) ,方程 xb/a 同理。如果矩陣 a 不是方陣 ,其維數(shù)是 m n,則有:mn 恰定方程,求解精確解;mn 超定方程,尋求最小二乘解;mn 不定方程,尋求基本解 ,其中至多有 m 個(gè)非零元素。針對(duì)不同的情況, matlab 將采用不同的算法來(lái)求解。一

4、恰定方程組恰定方程組由 n 個(gè)未知數(shù)的 n 個(gè)方程構(gòu)成,方程有唯一的一組解,其一般形式可用矩陣 ,向量寫成如下形式:ax=b 其中 a 是方陣, b 是一個(gè)列向量;在線性代數(shù)教科書中,最常用的方程組解法有:(1)利用 cramer 公式來(lái)求解法;(2)利用矩陣求逆解法 ,即 x=a1b; (3)利用 gaussian 消去法;(4)利用 lu 法求解。一般來(lái)說(shuō),對(duì)維數(shù)不高,條件數(shù)不大的矩陣, 上面四種解法所得的結(jié)果差別不大.前三種解法的真正意義是在其理論上,而不是實(shí)際的數(shù)值計(jì)算。matlab 中,出于對(duì)算法穩(wěn)定性的考慮,行列式及逆的計(jì)算大都在lu 分解的基礎(chǔ)上進(jìn)行。在 matlab 中,求解這

5、類方程組的命令十分簡(jiǎn)單,直接采用表達(dá)式: x=ab. 在 matlab 的指令解釋器在確認(rèn)變量a 非奇異后,就對(duì)它進(jìn)行l(wèi)u 分解,并最終給出解 x;若矩陣 a 的條件數(shù)很大, matlab 會(huì)提醒用戶注意所得解的可靠性。如果矩陣 a 是奇異的 ,則 ax=b 的解不存在,或者存在但不唯一;如果矩陣a 接近奇異時(shí) ,matlab 將給出警告信息 ;如果發(fā)現(xiàn) a 是奇異的,則計(jì)算結(jié)果為inf,并且給出警告信息;如果矩陣a 是病態(tài)矩陣 ,也會(huì)給出警告信息 . 注意:在求解方程時(shí),盡量不要用inv(a)*b 命令,而應(yīng)采用 ab 的解法 .因?yàn)楹笳叩挠?jì)算速度比前者快、精度高,尤其當(dāng)矩陣a 的維數(shù)比較大

6、時(shí) .另外,除法命令的適用行較強(qiáng) ,對(duì)于非方陣 a,也能給出最小二乘解 .二超定方程組對(duì)于方程組 ax=b,a 為 n m 矩陣,如果 a 列滿秩,且 nm。則方程組沒(méi)有精確解,此時(shí)稱方程組為超定方程組。 線性超定方程組經(jīng)常遇到的問(wèn)題是數(shù)據(jù)的曲線擬合。對(duì)于超定方程,在matlab 中,利用左除命令( x=ab)來(lái)尋求它的最小二乘解;還可以用廣義逆來(lái)求, 即 x=pinv(a), 所得的解不一定滿足ax=b,x 只是最小二乘意義上的解 .左除的方法是建立在奇異值分解基礎(chǔ)之上,由此獲得的解最可靠 ;廣義逆法是建立在對(duì)原超定方程直接進(jìn)行householder 變換的基礎(chǔ)上 ,其算法可靠性稍遜與奇異值

7、求解,但速度較快; 【例 7】求解超定方程組a=2 -1 3 ;3 1 -5;4 -1 1;1 3 -13 a= 2 -1 3 3 1 5 4 1 1 1 3 13 b3 0 3 6 ;rank(a)ans= 3 x1=ab x1= 1。0000 2.0000 1.0000 x2=pinv (a)*b x2= 1。0000 2.0000 1.0000 a*x1b ans= 1。0e-014 -0.0888 -0.0888 0.1332 0 可見(jiàn) x1 并不是方程 ax=b 的精確解,用 x2=pinv(a )b 所得的解與 x1 相同。三欠定方程組欠定方程組未知量個(gè)數(shù)多于方程個(gè)數(shù),但理論上有無(wú)

8、窮個(gè)解。matlab 將尋求一個(gè)基本解 ,其中最多只能有 m 個(gè)非零元素。特解由列主元qr 分解求得?!纠?8】解欠定方程組a1 -2 1 1;1 2 1 1;1 -2 1 5 a= 1 -2 1 1 1 2 1 -1 1 -2 1 1 1 -2 1 5 b=1 -1 5 x1=ab warning:rank deficient ,rank=2 tol=4.6151e-015 x1= 0 0.0000 0 1。0000 x2=pinv (a)b x2= 0 -0。0000 0.0000 1。0000四方程組的非負(fù)最小二乘解在某些條件下, 所求的線性方程組的解出現(xiàn)負(fù)數(shù)是沒(méi)有意義的。雖然方程組可以

9、得到精確解, 但卻不能取負(fù)值解。 在這種情況下, 其非負(fù)最小二乘解比方程的精確解更有意義。在 matlab 中, 求非負(fù)最小二乘解常用函數(shù)nnls, 其調(diào)用格式為:(1) x=nnls(a,b) 返回方程 ax=b 的最小二乘解 ,方程的求解過(guò)程被限制在x 的條件下;(2)x=nnls(a ,b,tol )指定誤差 tol 來(lái)求解 ,tol 的默認(rèn)值為 tol=max(size(a))norm (a,1)*eps,矩陣的 1 范數(shù)越大 ,求解的誤差越大;(3)x,w=nnls (a,b) 當(dāng) x(i)=0 時(shí),w(i)0;當(dāng)下 x(i)0 時(shí),w(i)0,同時(shí)返回一個(gè)雙向量 w. 【例 9】求方程組的非負(fù)最小二乘解a=3.4336 -0 。5238 0 。6710 0.5238 3 。2833 0.7302 0。6710 -0 。7302 4.0261 ;b=-1.000 1 。5000 2 。5000; x,w=nnls(a ,b) x

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論