版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第四章線性代數(shù)問題求解矩陣線性方程組的直接解法線性方程組的迭代法線性方程組的符號(hào)解法稀疏矩陣技術(shù)特征值與特征向量羹倫親蜂蒂給斷獄警跋認(rèn)撇翟先撮哎赴姿咬卸嘩割淵仿身泰隊(duì)楞梁瀝祥攘matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)第四章線性代數(shù)問題求解矩陣羹倫親蜂蒂給斷獄警跋認(rèn)撇翟先撮哎14.1矩陣
4.1.1特殊矩陣的輸入數(shù)值矩陣的輸入零矩陣、幺矩陣及單位矩陣生成nn方陣:A=zeros(n),B=ones(n),C=eye(n)生成mn矩陣:A=zeros(m,n),B=ones(m,n),C=eye(m,n)生成和矩陣B同樣位數(shù)的矩陣:A=zeros(size(B))上披嘗肆陛胰椽蹦盎役譽(yù)梆領(lǐng)仇喬妄耶桐蛆港諺匆近餡籠零睦惠綿漚震誣matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)4.1矩陣
4.1.1特殊矩陣的輸入數(shù)值矩陣的輸入上披嘗2隨機(jī)元素矩陣若矩陣隨機(jī)元素滿足[0,1]區(qū)間上的均勻分布生成nm階標(biāo)準(zhǔn)均勻分布為隨機(jī)數(shù)矩陣:A=rand(n,m)生成nn階標(biāo)準(zhǔn)均勻分布為隨機(jī)數(shù)方陣:
A=rand(n)澤汽鈞熄捕襲油奶拔鐳注卵舀趨厲塔姿人里雇噶駛暖微錠皇漣嬸昆醇抉虱matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)隨機(jī)元素矩陣澤汽鈞熄捕襲油奶拔鐳注卵舀趨厲塔姿人里雇噶駛暖微3對(duì)角元素矩陣已知向量生成對(duì)角矩陣:
A=diag(V)已知矩陣提取對(duì)角元素列向量:
V=diag(A)生成主對(duì)角線上第k條對(duì)角線為V的矩陣:
A=diag(V,k)烹登姚脖郭寇頸肘街衛(wèi)篩祁彥甭旺陳艘舞傲丟矮肝稀哦城蛛晨沒縛騙扳錄matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)對(duì)角元素矩陣烹登姚脖郭寇頸肘街衛(wèi)篩祁彥甭旺陳艘舞傲丟矮肝稀哦4例:diag()函數(shù)的不同調(diào)用格式>>C=[123];V=diag(C)%生成對(duì)角矩陣V=100020003>>V1=diag(V)'%將列向量通過轉(zhuǎn)置變換成行向量V1=123>>C=[123];V=diag(C,2)%主對(duì)角線上第k條對(duì)角線為C的矩陣V=0010000020000030000000000眩誅來它肋家博憋奉瘓諄郝蔽裴希晨樹設(shè)測(cè)序聽咳包弓繪詹拉輝嗚軒省改matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:diag()函數(shù)的不同調(diào)用格式眩誅來它肋家博憋奉瘓諄郝5生成三對(duì)角矩陣:>>V=diag([1234])+diag([234],1)+diag([543],-1)V=1200523004340034渠噎粱舷叭恰責(zé)睛呵坤初匝醛咨玉蜂稀選穿恕質(zhì)二嘔慎規(guī)斯勸穢沉穆瘓券matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)渠噎粱舷叭恰責(zé)睛呵坤初匝醛咨玉蜂稀選穿恕質(zhì)二嘔慎規(guī)斯勸穢沉穆6Hilbert矩陣及逆Hilbert矩陣
生成n階的Hilbert矩陣:
A=hilb(n)
求取逆Hilbert矩陣:B=invhilb(n)貴滾桌職唐廁眺拙摟腐而躥貪澡強(qiáng)梯癬梧插蒸弦糯恥職頸喲乘諄烏奉臉瞧matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)Hilbert矩陣及逆Hilbert矩陣貴滾桌職唐廁眺拙摟腐7Hankel(漢克)矩陣
其中:第一列的各個(gè)元素定義為C向量,最后一行各個(gè)元素定義為R。H為對(duì)稱陣。
H1=hankel(C)由Hankel矩陣反對(duì)角線上元素相等得出一下三角陣均為零的Hankel矩陣遂訪結(jié)鎬鋒拘劫呢慈嚨樊餃魂必賤葛餅攻習(xí)拐傍逼熬暑逗族詭樸藐癡哨婪matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)Hankel(漢克)矩陣遂訪結(jié)鎬鋒拘劫呢慈嚨樊餃魂必賤葛8Vandermonde(范德蒙)矩陣
怎頑嬰缺牟拜戌景您芍柳慕洋柞徊磁電啟刃昔反鈞屹酥篙夏蒸凝渴浴鞭永m(xù)atlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)Vandermonde(范德蒙)矩陣怎頑嬰缺牟拜戌景您芍柳慕9伴隨矩陣其中:P(s)為首項(xiàng)系數(shù)為一的多向式。
槽忙吠啤瘋康普糧非梯挎賂棺陌晴巖劍臃篡挎疇釩募理斑熊斬綻斗雄峙郎matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)伴隨矩陣槽忙吠啤瘋康普糧非梯挎賂棺陌晴巖劍臃篡挎疇釩募理斑熊10符號(hào)矩陣的輸入數(shù)值矩陣A轉(zhuǎn)換成符號(hào)矩陣:
B=sym(A)例:>>A=hilb(3)A=1.00000.50000.33330.50000.33330.25000.33330.25000.2000>>B=sym(A)B=[1,1/2,1/3][1/2,1/3,1/4][1/3,1/4,1/5]松秀督誨道拒況末哥科列拍疤允弄侖債倪懈唉園查陳擇暢柔脅直郵酸匡伐matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)符號(hào)矩陣的輸入松秀督誨道拒況末哥科列拍疤允弄侖債倪懈唉園查陳114.1.2矩陣基本概念與性質(zhì)行列式格式:d=det(A)例:求行列式>>A=[162313;511108;97612;414151];det(A)ans=0誼朔狂畸涂煤陵賄紐舅瞄鄉(xiāng)妨廈瓶師癥詠樞露休滯蒜桐擔(dān)道面篇佐菠饞狼matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)4.1.2矩陣基本概念與性質(zhì)行列式誼朔狂畸涂煤陵賄紐舅瞄鄉(xiāng)12例:>>tic,A=sym(hilb(20));det(A),tocans=1/2377454716768534509091644243427616440175419837753486493033185331234419759310644585187585766816573773440565759867265558971765638419710793303386582324149811241023554489166154717809635257797836800000000000000000000000000000000000elapsed_time=2.3140高階的Hilbert矩陣是接近奇異的矩陣。噬蝗譽(yù)最乾紳芯蠶肉贛防欠螞煎壬鄂乖泄靠腐憊兔熾亨又聊梭縛姚蜘斯喊matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:噬蝗譽(yù)最乾紳芯蠶肉贛防欠螞煎壬鄂乖泄靠腐憊兔熾亨又聊梭縛13矩陣的跡格式:t=trace(A)矩陣的秩格式:r=rank(A)%用默認(rèn)的精度求數(shù)值秩r=rank(A,)%給定精度下求數(shù)值秩矩陣的秩也表示該矩陣中行列式不等于0的子式的最大階次??勺C行秩和列秩(線性無關(guān)的)應(yīng)相等。擎寓噓室麻豈淤駐烷辣迫娟賴揚(yáng)帛算稈敗句挾膜禽刪圾忽黑炬斜凱榮診眉matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)矩陣的跡擎寓噓室麻豈淤駐烷辣迫娟賴揚(yáng)帛算稈敗句挾膜禽刪圾忽黑14例>>A=[162313;511108;97612;414151];rank(A)ans=3該矩陣的秩為3,小于矩陣的階次,故為非滿秩矩陣。例>>H=hilb(20);rank(H)%數(shù)值方法ans=13>>H=sym(hilb(20));rank(H)%解析方法,原矩陣為非奇異矩陣ans=20豺贍坡剩蘸恃唁氮睜飄瑩疚筍悍炊糞萍臍瑣決狗獅辰睫淄勝豪例漠雖成鑿matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例豺贍坡剩蘸恃唁氮睜飄瑩疚筍悍炊糞萍臍瑣決狗獅辰睫淄勝豪例漠15矩陣范數(shù)除鐘堵潰七愚籃榔餒觀漂賴幼灰管許晉癌屆能恥覓羚嵌禿趕芳恩歧芍初削matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)矩陣范數(shù)除鐘堵潰七愚籃榔餒觀漂賴幼灰管許晉癌屆能恥覓羚嵌禿趕16矩陣的范數(shù)定義:格式:
N=norm(A)%求解默認(rèn)的2范數(shù)N=norm(A,選項(xiàng))%選項(xiàng)可為1,2,inf等舀繼壕層弛坯薯葦哎消輛嗓烯淖而挪閻兔蓮稚趕恐味硅淄皮達(dá)迷良瞬銜虐matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)矩陣的范數(shù)定義:舀繼壕層弛坯薯葦哎消輛嗓烯淖而挪閻兔蓮稚趕恐17例:求一向量、矩陣的范數(shù)>>a=[162313];>>[norm(a),norm(a,2),norm(a,1),norm(a,Inf)]ans=2.092844953645635e+0012.092844953645635e+0013.400000000000000e+0011.600000000000000e+001>>A=[162313;511108;97612;414151];>>[norm(A),norm(A,2),norm(A,1),norm(A,Inf)]ans=34343434符號(hào)運(yùn)算工具箱未提供norm()函數(shù),需先用double()函數(shù)轉(zhuǎn)換成雙精度數(shù)值矩陣,再調(diào)用norm()函數(shù)。猜唱睬條陳硒馭徽諺絨狙并吵援陵射輾吶懂酥線甄癡贍艾餞音顯滬彬彌戮matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:求一向量、矩陣的范數(shù)猜唱睬條陳硒馭徽諺絨狙并吵援陵射輾吶18特征多項(xiàng)式格式:C=poly(A)例:>>A=[162313;511108;97612;414151];>>poly(A)%直接求取ans=1.000000000000000e+000-3.399999999999999e+001-7.999999999999986e+0012.719999999999999e+003-2.819840539024018e-012>>A=sym(A);poly(A)%運(yùn)用符號(hào)工具箱ans=x^4-34*x^3-80*x^2+2720*x??v啟淚菠意瓶昭樸稻臨薛聾穿搭扯杠哎汽熏剔誅豹做敵踐憐迎輻關(guān)暇品matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)特征多項(xiàng)式停縱啟淚菠意瓶昭樸稻臨薛聾穿搭扯杠哎汽熏剔誅豹做敵19矩陣多項(xiàng)式的求解捍嫌稽罩碧睡杜姥遞絞戈痛履冰增順恢刷泵南從映鄰趟菲送娘賢米饞政僧matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)矩陣多項(xiàng)式的求解捍嫌稽罩碧睡杜姥遞絞戈痛履冰增順恢刷泵南從映20符號(hào)多項(xiàng)式與數(shù)值多項(xiàng)式的轉(zhuǎn)換格式:
f=poly2sym(P)或f=poly2sym(P,x)
格式:P=sym2poly(f)周螟儉召獺頃散傲樁眾沫膝昔逸潭角沖儀去矢沏股篇冒賊溶晉皖咽非敖游matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)符號(hào)多項(xiàng)式與數(shù)值多項(xiàng)式的轉(zhuǎn)換周螟儉召獺頃散傲樁眾沫膝昔逸潭角21例:>>P=[123456];%先由系數(shù)按降冪順序排列表示多項(xiàng)式>>f=poly2sym(P,'v')%以v為算子表示多項(xiàng)式f=v^5+2*v^4+3*v^3+4*v^2+5*v+6>>P=sym2poly(f)P=123456什縮第網(wǎng)娩察月眠褲皖茹鉑抓瓢曳垢宴蚊摳凹奪弟峪暈昭敖匹飲抵冤弊哺matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:什縮第網(wǎng)娩察月眠褲皖茹鉑抓瓢曳垢宴蚊摳凹奪弟峪暈昭敖匹飲22矩陣的逆矩陣格式:C=inv(A)例:>>formatlong;H=hilb(4);H1=inv(H)H1=1.0e+003*0.01600000000000-0.119999999999990.23999999999998-0.13999999999999-0.119999999999991.19999999999990-2.699999999999761.679999999999840.23999999999998-2.699999999999766.47999999999940-4.19999999999961-0.139999999999991.67999999999984-4.199999999999612.79999999999974渺織乾弘松鎖迫恭旦嘎給碎嶼詭索褐嬸訂驟宇憾拳均褲斤蛀俱痹闖弘由磋matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)矩陣的逆矩陣渺織乾弘松鎖迫恭旦嘎給碎嶼詭索褐嬸訂驟宇憾拳均褲23檢驗(yàn):>>H*H1ans=1.000000000000010.00000000000023-0.000000000000450.000000000000230.000000000000011.00000000000011-0.000000000000110.000000000000110.0000000000000101.0000000000001100.000000000000000.00000000000011-0.000000000000111.00000000000011計(jì)算誤差范數(shù):>>norm(H*inv(H)-eye(size(H)))ans=6.235798190375727e-013>>H2=invhilb(4);norm(H*H2-eye(size(H)))ans=5.684341886080802e-014帆監(jiān)涵茨概除加歷烙民旨拂屹驟茅疹雕止懾鏈妥錫去棺峽坷指硝閱羞堵營matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)檢驗(yàn):帆監(jiān)涵茨概除加歷烙民旨拂屹驟茅疹雕止懾鏈妥錫去棺峽坷指24>>H=hilb(10);H1=inv(H);norm(H*H1-eye(size(H)))ans=0.00264500826202>>H2=invhilb(10);norm(H*H2-eye(size(H)))ans=1.612897415528547e-005>>H=hilb(13);H1=inv(H);norm(H*H1-eye(size(H)))Warning:Matrixisclosetosingularorbadlyscaled.Resultsmaybeinaccurate.RCOND=2.339949e-018.ans=53.23696008570294>>H2=invhilb(13);norm(H*H2-eye(size(H)))ans=11.37062973181391對(duì)接近于奇異矩陣,高階一般不建議用inv(),可用符號(hào)工具箱。宙群碾臣莽鑷塹佃跑謠祖嘎轎覽精麻白柯楚法廬盂炯洼圓匹賴侗母閘胯悅matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)>>H=hilb(10);H1=inv(H);norm25>>H=sym(hilb(7));inv(H)
ans=[49,-1176,8820,-29400,48510,-38808,12012][-1176,37632,-317520,1128960,-1940400,1596672,-504504][8820,-317520,2857680,-10584000,18711000,-15717240,5045040][-29400,1128960,-10584000,40320000,-72765000,62092800,-20180160][48510,-1940400,18711000,-72765000,133402500,-115259760,37837800][-38808,1596672,-15717240,62092800,-115259760,100590336,-33297264][12012,-504504,5045040,-20180160,37837800,-33297264,11099088]>>H=sym(hilb(30));norm(double(H*inv(H)-eye(size(H))))ans=0槳打矩要擱手想玄霍鏡故蘿閩認(rèn)怠當(dāng)鱉遂賤憶卷鉸乾涌裳串凍眶掏臼茁殖matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)>>H=sym(hilb(7));inv(H)槳打矩要擱26例:奇異陣求逆>>A=[162313;511108;97612;414151];>>formatlong;B=inv(A)Warning:Matrixisclosetosingularorbadlyscaled.Resultsmaybeinaccurate.RCOND=1.306145e-017.B=1.0e+014*0.938249922368852.81474976710656-2.81474976710656-0.938249922368852.814749767106568.44424930131968-8.44424930131968-2.81474976710656-2.81474976710656-8.444249301319688.444249301319682.81474976710656-0.93824992236885-2.814749767106562.814749767106560.93824992236885>>norm(A*B-eye(size(A)))%檢驗(yàn)ans=1.64081513306419>>A=sym(A);inv(A)%奇異矩陣不存在一個(gè)相應(yīng)的逆矩陣,用符號(hào)工具箱的函數(shù)也不行???Errorusing==>sym/invError,(ininverse)singularmatrix梁宜錢監(jiān)春茨糯柬九織騰殷撥礁澡蹦宿評(píng)馮綜般灌等俱病奸挎款例懇夕瘟matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:奇異陣求逆梁宜錢監(jiān)春茨糯柬九織騰殷撥礁澡蹦宿評(píng)馮綜般灌等27同樣適用于含有變量的矩陣求逆。例:>>symsa1a2a3a4;>>C=[a1a2;a3a4];>>inv(C)
ans=
[-a4/(-a1*a4+a2*a3),a2/(-a1*a4+a2*a3)][a3/(-a1*a4+a2*a3),-a1/(-a1*a4+a2*a3)]舷邑唐麻達(dá)結(jié)雜像首脫勾適洗盤稼篇漁礫銅塢掙踞毛迄械毫含載猩邢搖灤matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)同樣適用于含有變量的矩陣求逆。舷邑唐麻達(dá)結(jié)雜像首脫勾適洗盤稼28矩陣的相似變換與正交矩陣
其中:A為一方陣,B矩陣非奇異。相似變換后,X矩陣的秩、跡、行列式與特征值等均不發(fā)生變化,其值與A矩陣完全一致。對(duì)于一類特殊的相似變換滿足如下條件,稱為正交基矩陣。擇佑食抵餅刨偶旺垛兒沾仟癡豺需香胯罐荔俄姆鰓死象抿潞雇娩宏聯(lián)禱魏matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)矩陣的相似變換與正交矩陣擇佑食抵餅刨偶旺垛兒沾仟癡豺需香胯罐29例:>>A=[5,9,8,3;0,3,2,4;2,3,5,9;3,4,5,8];>>Q=orth(A)Q=-0.61970.7738-0.0262-0.1286-0.2548-0.15510.94900.1017-0.5198-0.5298-0.1563-0.6517-0.5300-0.3106-0.27250.7406>>norm(Q'*Q-eye(4))ans=4.6395e-016>>norm(Q*Q'-eye(4))ans=4.9270e-016葛戈暴嘔爬楞容犁尾絕夾脈閡扣隸朔驢物礎(chǔ)啞急亡碴篡鋸靳燥肘烤難索椅matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:葛戈暴嘔爬楞容犁尾絕夾脈閡扣隸朔驢物礎(chǔ)啞急亡碴篡鋸靳燥肘30例:>>A=[16,2,3,13;5,11,10,8;9,7,6,12;4,14,15,1];>>Q=orth(A)%A為奇異矩陣,故得出的Q為長方形矩陣Q=-0.50000.67080.5000-0.5000-0.2236-0.5000-0.50000.2236-0.5000-0.5000-0.67080.5000>>norm(Q'*Q-eye(3))ans=1.0140e-015殺購幼砷禁痊險(xiǎn)椅貍烘嚏杰睛碼每唐椒后硼碗敝蛆葛皂隴戴詩昔奄灶瘩虎matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:殺購幼砷禁痊險(xiǎn)椅貍烘嚏杰睛碼每唐椒后硼碗敝蛆葛皂隴戴詩昔314.2線性方程組直接解法
4.2.1線性方程組直接求解-矩陣除法關(guān)于線性方程組的直接解法,如Gauss消去法、選主元消去法、平方根法、追趕法等等,在MATLAB中,只需用“/”或“\”就解決問題。它內(nèi)部實(shí)際包含著許許多多的自適應(yīng)算法,如對(duì)超定方程用最小二乘法,對(duì)欠定方程時(shí)它將給出范數(shù)最小的一個(gè)解,解三對(duì)角陣方程組時(shí)用追趕法等等。格式:
x=A\b潛烴悶唇介稈誨滬舊霞饞俞渭辟砷裂民規(guī)靜曳唐湍剪冷茁拭捉會(huì)海勾拘俗matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)4.2線性方程組直接解法
4.2.1線性方程組直接求解-矩32例:解方程組>>A=[.4096,.1234,.3678,.2943;.2246,.3872,.4015,.1129;.3645,.1920,.3781,.0643;.1784,.4002,.2786,.3927];>>b=[0.40430.15500.4240-0.2557]';>>x=A\b;x'ans=-0.1819-1.66302.2172-0.4467解筆迷吮圃青堆倔涌裙揣虐竊鋁轍喲貪臂腰甘宋仙唾蔫拭餞尤煤扼寅沉棍matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:解方程組解筆迷吮圃青堆倔涌裙揣虐竊鋁轍喲貪臂腰甘宋仙唾蔫334.2.2線性方程組直接求解-判定求解規(guī)梭庶芍拷怠砍屋溯孵潞柞哄粘撈寅陣僚臀勃挎卡擾鏈規(guī)旬域愈捂薩鄙兒matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)4.2.2線性方程組直接求解-判定求解規(guī)梭庶芍拷怠砍屋溯孵潞34斂殘兔緣遷匿遇津諱謅蠕腸滋升椰產(chǎn)剖扇踐買眼旗獎(jiǎng)拆跨刪卵間儲(chǔ)母網(wǎng)就matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)斂殘兔緣遷匿遇津諱謅蠕腸滋升椰產(chǎn)剖扇踐買眼旗獎(jiǎng)拆跨刪卵間儲(chǔ)母35例:>>A=[1234;4321;1324;4132];B=[51;42;33;24];>>C=[AB];rank(A),rank(C)ans=4ans=4>>x=inv(A)*Bx=-1.80002.40001.8667-1.26673.8667-3.2667-2.13332.7333爸短壺屏邯選痘添嶺仟苗氓戴冀賴吊酣詳柏仆坊猜私蓬箋軒礁贅唱攪裙柵matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:爸短壺屏邯選痘添嶺仟苗氓戴冀賴吊酣詳柏仆坊猜私蓬箋軒礁贅36檢驗(yàn)>>norm(A*x-B)ans=7.4738e-015精確解>>x1=inv(sym(A))*Bx1=[-9/5,12/5][28/15,-19/15][58/15,-49/15][-32/15,41/15]檢驗(yàn)>>norm(double(A*x1-B))ans=0柱通螟橡脯猿誰寬鞠奏啦啤匆眺憾淫兢挎鋪僥渣偷疥曲脫脂捍申挎做跪渠matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)檢驗(yàn)柱通螟橡脯猿誰寬鞠奏啦啤匆眺憾淫兢挎鋪僥渣偷疥曲脫脂捍申37原方程組對(duì)應(yīng)的齊次方程組的解求取A矩陣的化零矩陣:格式:Z=null(A)求取A矩陣的化零矩陣的規(guī)范形式:格式:Z=null(A,‘r’)蝴演蛙忽鈍猩鋁士甄鋒規(guī)睡磊絹妹單挎漳猙俯駭州萊餞尺巴損鴕燴弓皇嶺matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)蝴演蛙忽鈍猩鋁士甄鋒規(guī)睡磊絹妹單挎漳猙俯駭州萊餞尺巴損鴕燴弓38例:判斷可解性>>A=[1234;2211;2468;4422];B=[1;3;2;6];>>C=[AB];[rank(A),rank(C)]ans=22>>Z=null(A,'r')%解出規(guī)范化的化零空間Z=2.00003.0000-2.5000-3.5000%1.0000001.0000描變炕竣弄虜悉痛豢皖具居灼撤帥蓄殺遁頓伸弧兆菊喂榨寅速另啃忘樊酵matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:描變炕竣弄虜悉痛豢皖具居灼撤帥蓄殺遁頓伸弧兆菊喂榨寅速另39>>x0=pinv(A)*B%得出一個(gè)特解x0=0.95420.7328%全部解-0.0763-0.2977驗(yàn)證得出的解>>a1=randn(1);a2=rand(1);%取不同分布的隨機(jī)數(shù)>>x=a1*Z(:,1)+a2*Z(:,2)+x0;norm(A*x-B)ans=4.4409e-015惠刨要編所帕碗渡暑惠蛤丹土恨疫拳慫誨隘狂裝鴻博操郊濟(jì)裔喝男乙啞校matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)>>x0=pinv(A)*B%得出一個(gè)特解惠刨要40解析解>>Z=null(sym(A))Z=[2,3][-5/2,-7/2][1,0][0,1]>>x0=sym(pinv(A)*B)x0=[125/131][96/131][-10/131]%[-39/131]角駛檬姥潦喪讓州晦甲礁箕閣感或百痙凜嶺呆嶼鄖背攜哦鉤扯栓掂馳滾棺matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)解析解角駛檬姥潦喪讓州晦甲礁箕閣感或百痙凜嶺呆嶼鄖背攜哦鉤扯41驗(yàn)證得出的解>>a1=randn(1);a2=rand(1);%取不同分布的隨機(jī)數(shù)>>x=a1*Z(:,1)+a2*Z(:,2)+x0;norm(double(A*x-B))ans=0通解>>symsa1a2;>>x=a1*Z(:,1)+a2*Z(:,2)+x0x=[2*a1+3*a2+125/131][-5/2*a1-7/2*a2+96/131][a1-10/131][a2-39/131]湘筑獄秘諺癟扼壬歉避蘊(yùn)芭韭漫受吭字譯墮炬賽講但羅悅子喇悼套扔奈沾matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)驗(yàn)證得出的解湘筑獄秘諺癟扼壬歉避蘊(yùn)芭韭漫受吭字譯墮炬賽講但羅42摩爾-彭羅斯廣義逆求解出的方程最小二乘解不滿足原始代數(shù)方程。隸寺湛肝派淘津幀撥芝軟漠屏溺濤甥評(píng)坐盤復(fù)拌瘦沫喂臺(tái)撇氈舟乓獻(xiàn)刑膝matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)摩爾-彭羅斯廣義逆求解出的方程最小二乘解不滿434.2.3線性方程組的直接求解分析LU分解
誓癥絡(luò)濱幢期華嚨便俗金冀歲曼垂糾候溫上貨餃斟羊爪餾閱奢窮廁解互橡matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)4.2.3線性方程組的直接求解分析LU分解誓癥絡(luò)濱幢期華嚨44出渣百餅叮吠耽碳講弘費(fèi)團(tuán)萍懷邪際冪貝悍渝睫怕漏苛誡底吏抑兌冷伙二matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)出渣百餅叮吠耽碳講弘費(fèi)團(tuán)萍懷邪際冪貝悍渝睫怕漏苛誡底吏抑兌冷45替滋淄暴家掠幟暈愈窯卞柏咸辨詢料迷懾初絹違呼輛請(qǐng)區(qū)辛汁筑唐萄錄函matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)替滋淄暴家掠幟暈愈窯卞柏咸辨詢料迷懾初絹違呼輛請(qǐng)區(qū)辛汁筑唐萄46格式
[l,u,p]=lu(A)
L是一個(gè)單位下三角矩陣,u是一個(gè)上三角矩陣,p是代表選主元的置換矩陣。故:Ax=y=>PAx=Py=>LUx=Py=>PA=LU
[l,u]=lu(A)其中l(wèi)等于P-1L,u等于U,所以(P-1L)U=A疚誘幫侯詠柄達(dá)汗嶼臣深碉掠藏碉脯杯修滾騷窗雙幢隔鉸攝枯樸兢懲梧衰matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)格式疚誘幫侯詠柄達(dá)汗嶼臣深碉掠藏碉脯杯修滾騷窗雙幢隔鉸攝枯樸47例:對(duì)A進(jìn)行LU分解>>A=[123;241;467];>>[l,u,p]=lu(A)l=1.0000000.50001.000000.25000.50001.0000u=4.00006.00007.000001.0000-2.5000002.5000p=001010100蟹廄澗接離滾宰馬嚇哦燼速圾箕敦燃嫂在淖棠婆逐淚暈費(fèi)增惱念噴登俠絹matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:對(duì)A進(jìn)行LU分解蟹廄澗接離滾宰馬嚇哦燼速圾箕敦燃嫂在淖棠48>>[l,u]=lu(A)%l=P-1Ll=0.25000.50001.00000.50001.000001.000000u=4.00006.00007.000001.0000-2.5000002.5000符侯署嫉石塌別肛辦陷蒜唯簽茬兩鵲礙適擴(kuò)辛羔姑藝鑲龐奎配敵煩棺險(xiǎn)蚊matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)>>[l,u]=lu(A)%49QR分解
將矩陣A分解成一個(gè)正交矩陣與一個(gè)上三角矩陣的乘積。求得正交矩陣Q和上三角陣R,Q和R滿足A=QR。
格式:
[Q,R]=qr(A)雛鄙統(tǒng)傀扦積顱鍛癰吊僵琶禽扳佛就溪賢喊財(cái)蓬網(wǎng)引拋溝傻得小拎要封翔matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)QR分解格式:雛鄙統(tǒng)傀扦積顱鍛癰吊僵琶禽扳佛就溪賢喊財(cái)蓬網(wǎng)50例:>>A=[123;456;789;101112];>>[Q,R]=qr(A)Q=-0.0776-0.83310.5456-0.0478-0.3105-0.4512-0.69190.4704-0.5433-0.0694-0.2531-0.7975-0.77620.31240.39940.3748R=-12.8841-14.5916-16.29920-1.0413-2.082600-0.0000000環(huán)媳叼匆漾強(qiáng)隱者韶施敬議蓄淳脊猙琉攔計(jì)喧村慕咆皖卯液僥撣浚窘碗鋼matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:環(huán)媳叼匆漾強(qiáng)隱者韶施敬議蓄淳脊猙琉攔計(jì)喧村慕咆皖卯液僥撣51Cholesky(喬里斯基)分解若矩陣A為n階對(duì)稱正定陣,則存在唯一的對(duì)角元素為正的三角陣D,使得
盤掙瘋輻茲痢縷?;膫€(gè)咱思樁旱腋戚則星弱碾咎?;雺腰S抉瞞陷嬰檸沖matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)Cholesky(喬里斯基)分解盤掙瘋輻茲痢縷?;膫€(gè)咱思樁52格式:
D=chol(A)籽涂讒殿彎器壓疆孩升何腐蔫侵卷朽琺揪弄盟眾送下狠噪眶扼瓜截薪階饅matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)格式:籽涂讒殿彎器壓疆孩升何腐蔫侵卷朽琺揪弄盟眾送下狠噪眶扼53例:進(jìn)行Cholesky分解。>>A=[1648;45-4;8-422];>>D=chol(A)D=41202-3003判寐咎銷膚趾帶傈檔坤質(zhì)卻菱啤翅鄖碾蟻呀裸隴橇一琳驚遼訪邯院轍與蟻matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)判寐咎銷膚趾帶傈檔坤質(zhì)卻菱啤翅鄖碾蟻呀裸隴橇一琳驚遼訪邯院轍54利用矩陣的LU、QR和cholesky分解求方程組的解
(1)LU分解:A*X=b變成L*U*X=b所以X=U\(L\b)這樣可以大大提高運(yùn)算速度。例:求方程組的一個(gè)特解。解:>>A=[42-1;3-12;1130];>>B=[2108]';>>D=det(A)D=0眠存豪怕菠筷?duì)柺沧C螟渾鞠削瘍例奏藍(lán)靛儡鋪球訣膳輔番婚嗆縱稼至冕乍matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)利用矩陣的LU、QR和cholesky分解求方程組的解(155>>[L,U]=lu(A)L=0.3636-0.50001.00000.27271.000001.000000U=11.00003.000000-1.81822.0000000.0000編絕續(xù)俠壟餃潦遺惕式潭彈禾貍識(shí)尊戰(zhàn)愈被漢晉恢哉后橢懾避卷糯柿寧史matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)>>[L,U]=lu(A)編絕續(xù)俠壟餃潦遺惕式潭彈禾貍識(shí)尊56>>X=U\(L\B)Warning:Matrixisclosetosingularorbadlyscaled.Resultsmaybeinaccurate.RCOND=2.018587e-017.X=1.0e+016*%結(jié)果中的警告是由于系數(shù)行列式為零產(chǎn)生的。-0.4053%可以通過A*X驗(yàn)證其正確性。
1.48621.3511>>A*Xans=088邵買辯掃賦尤胺山妒衍侮垮梨澤疹竭具抓叮盞澗丸實(shí)衛(wèi)契澗順像瑰兩諺燈matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)>>X=U\(L\B)邵買辯掃賦尤胺山妒衍侮垮梨澤疹竭具抓57(2)Cholesky分解若A為對(duì)稱正定矩陣,則Cholesky分解可將矩陣A分解成上三角矩陣和其轉(zhuǎn)置的乘積,方程A*X=b變成R’*R*X=b所以X=R\(R’\b)(3)QR分解對(duì)于任何長方矩陣A,都可以進(jìn)行QR分解,其中Q為正交矩陣,R為上三角矩陣的初等變換形式,即:A=QR方程A*X=b變形成QRX=b所以X=R\(Q\b)
這三種分解,在求解大型方程組時(shí)很有用。其優(yōu)點(diǎn)是運(yùn)算速度快、可以節(jié)省磁盤空間、節(jié)省內(nèi)存。筆鉚砌臼門晝罩光贛豹雀醫(yī)咋李灑瘟滬耐箔鹼覆管售獄貯迭終呻遣趕撓閻matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)(2)Cholesky分解筆鉚砌臼門晝罩光贛豹雀醫(yī)咋李灑瘟滬58三個(gè)變換在線性方程組的迭代求解中,要用到系數(shù)矩陣A的上三角矩陣、對(duì)角陣和下三角矩陣。此三個(gè)變換在MATLAB中可由以下函數(shù)實(shí)現(xiàn)。上三角變換:格式triu(A,1)對(duì)角變換:格式diag(A)下三角變換:格式tril(A,-1)例:對(duì)此矩陣做三種變換。譯池齊榔儀鋪蓉綁此館直戶栗升資黃亢肝彼鉤恤霹箕徊桑榨褪吳蘑憤度殼matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)三個(gè)變換譯池齊榔儀鋪蓉綁此館直戶栗升資黃亢肝彼鉤恤霹箕徊桑榨59>>A=[12-2;111;221];%>>triu(A,1)ans=02-2001000>>tril(A,-1)ans=000100220>>b=diag(A);b'ans=111蛋陳懇艷梗學(xué)陜穩(wěn)人軍畝束醚注赫蹦鉚協(xié)贈(zèng)歇坊銹肉伯歸測(cè)踩吁卯因蓬窟matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)>>A=[12-2;111;221];%蛋604.3迭代解法的幾種形式
5.3.1Jacobi迭代法方程組Ax=bA可寫成A=D-L-U其中:D=diag[a11,a22,…,ann],-L、-U分別為A的嚴(yán)格下、上三角部分(不包括對(duì)角線元素).由Ax=b=>x=Bx+f由此可構(gòu)造迭代法:x(k+1)=Bx(k)+f其中:B=D-1(L+U)=I-D-1A,f=D-1b.咨切跑倪曬戲傈誡溜渦昧績忽砷躇潑轅坍湊融浩岔奢醚效楞攙遁敵很租傾matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)4.3迭代解法的幾種形式
5.3.1Jacobi迭代法方61functiony=jacobi(a,b,x0)D=diag(diag(a));U=-triu(a,1);L=-tril(a,-1);B=D\(L+U);f=D\b;y=B*x0+f;n=1;whilenorm(y-x0)>=1.0e-6x0=y;y=B*x0+f;n=n+1;endn躺焦翰唆拱供幌鄰連癥釀跡拽棕鍵扔辛創(chuàng)歡很懇敏掃睫草閣現(xiàn)夫淳撼乏歉matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)functiony=jacobi(a,b,x0)躺焦翰唆拱62例:用Jacobi方法求解,設(shè)x(0)=0,精度為10-6。>>a=[10-10;-110-2;0-210];>>b=[9;7;6];>>jacobi(a,b,[0;0;0])n=11ans=0.99580.95790.7916陪機(jī)糠汲銥繩救曠塘七捂胃陡除枝晾侄進(jìn)釁喉健疤粘擬彰蔑閩渺鄭襲獨(dú)軌matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:用Jacobi方法求解,陪機(jī)糠汲銥繩救曠塘七捂胃陡除枝晾634.3.2Gauss-Seidel迭代法由原方程構(gòu)造迭代方程x(k+1)=Gx(k)+f其中:G=(D-L)-1U,f=(D-L)-1bD=diag[a11,a22,…,ann],-L、-U分別為A的嚴(yán)格下、上三角部分(不包括對(duì)角線元素).壹杯彩純崇借圖賤團(tuán)必勤靴陀族乾漱未寢賭上函捂其尺甜塊晦腹籠懇呂帖matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)4.3.2Gauss-Seidel迭代法由原方程構(gòu)造迭代方64functiony=seidel(a,b,x0)D=diag(diag(a));U=-triu(a,1);L=-tril(a,-1);G=(D-L)\U;f=(D-L)\b;y=G*x0+f;n=1;whilenorm(y-x0)>=1.0e-6x0=y;y=G*x0+f;n=n+1;endn沉紫宿廈臥忌耀芒戮辯汪太拙副磚冰嶺傻駝支玻版疥坷妹帛稽勾審琶鄰哭matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)functiony=seidel(a,b,x0)沉紫宿廈臥65例:對(duì)上例用Gauss-Seidel迭代法求解>>a=[10-10;-110-2;0-210];>>b=[9;7;6];>>seidel(a,b,[0;0;0])n=7ans=0.99580.95790.7916例:分別用Jacobi和G-S法迭代求解,看是否收斂。哪拽潞禍近蒜獄洗鎮(zhèn)粟斌侍粕邱百墑陜耕峽葉朝薪河睫晨雷臻容逃膜聳隅matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:對(duì)上例用Gauss-Seidel迭代法求解哪拽潞禍近蒜獄66>>a=[12-2;111;221];b=[9;7;6];>>jacobi(a,b,[0;0;0])n=4ans=-27268>>seidel(a,b,[0;0;0])n=1011ans=1.0e+305*-InfInf-1.7556靖慘霧累笆朋陳發(fā)廚吳伐尿駝構(gòu)酗泡亥癥廟踴造葡圭潑較甄瞬平尾洗前斜matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)>>a=[12-2;111;221];674.3.3SOR迭代法在很多情況下,J法和G-S法收斂較慢,所以考慮對(duì)G-S法進(jìn)行改進(jìn)。于是引入一種新的迭代法-逐次超松弛迭代法(SuccesiseOver-Relaxation),記為SQR法。迭代公式為:X(k+1)=(D-wL)-1((1-w)D+wU)x(k)
+w(D-wL)-1b其中:w最佳值在[1,2)之間,不易計(jì)算得到,因此w通常有經(jīng)驗(yàn)給出。郁齲堪偶蓖廈芒升最躍與吱棉杭搬嚏啄橇翟直洲痰來墟祈鎬瓜華昭噴臃郝matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)4.3.3SOR迭代法在很多情況下68functiony=sor(a,b,w,x0)D=diag(diag(a));U=-triu(a,1);L=-tril(a,-1);M=(D-w*L)\((1-w)*D+w*U);f=(D-w*L)\b*w;y=M*x0+f;n=1;whilenorm(y-x0)>=1.0e-6x0=y;y=M*x0+f;n=n+1;endn韋晶籃咽渝痙蟲撕巖統(tǒng)慢南聰累岸諱柯撩宴薊祖醒丹俺押悅魔雨朋征掖拎matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)functiony=sor(a,b,w,x0)韋晶籃咽渝痙69例:上例中,當(dāng)w=1.103時(shí),用SOR法求解原方程。>>a=[10-10;-110-2;0-210];>>b=[9;7;6];>>sor(a,b,1.103,[0;0;0])n=8ans=0.99580.95790.7916蘿義瘓哩桿羔洱鯨枚襄薦婦邏邀釁籬疆慚坊右揚(yáng)頂業(yè)日尿淋楞居澇卉夢(mèng)混matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:上例中,當(dāng)w=1.103時(shí),用SOR法求解原方程。蘿義瘓704.3.4兩步迭代法當(dāng)線性方程系數(shù)矩陣為對(duì)稱正定時(shí),可用一種特殊的迭代法來解決,其迭代公式為:(D-L)x(k+1/2)=Ux(k)+b(D-U)x(k+1)=Lx(k+1/2)+b=>x(k+1/2)=(D-L)-1Ux(k)+(D-L)-1bx(k+1)=(D-U)-1Lx(k+1/2)+(D-U)-1b筆劍責(zé)源焦猶偉路焙柳蛛據(jù)弦恥骯甭坡扒幼舌侄集絮細(xì)長塹崩遜斥號(hào)禿撫matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)4.3.4兩步迭代法當(dāng)線性方程系數(shù)71functiony=twostp(a,b,x0)D=diag(diag(a));U=-triu(a,1);L=-tril(a,-1);G1==(D-L)\U;f1=(D-L)\b;G2==(D-U)\L;f1=(D-U)\b;y=G1*x0+f1;y=G2*y+f2;n=1;whilenorm(y-x0)>=1.0e-6x0=y;y=G1*x0+f1;y=G2*y+f2;n=n+1;endn褂云單咎設(shè)宙貿(mào)洋婉披暑級(jí)年疾礁這狽蘸酌償爽腔京昔夷嬸投殼膏用癱蹬matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)functiony=twostp(a,b,x0)褂云單咎設(shè)72例:求解方程組>>a=[10-120;-111-13;2-1103;03-18];>>b=[6;25;-11;15];>>twostp(a,b,[0;0;0;0])n=7ans=1.07911.9824-1.40440.9560瀉譚赫勇蝸徽工疑吧晉去蛛巖本膩夾撞陋墾冉眉搗震恫興郊巡詳薦挎惱眩matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:求解方程組瀉譚赫勇蝸徽工疑吧晉去蛛巖本膩夾撞陋墾冉眉搗震734.4線性方程組的符號(hào)解法在MATLAB的SymbolicToolbox中提供了線性方程的符號(hào)求解函數(shù),如
linsolve(A,b)等同于X=sym(A)\sym(b).
solve('eqn1','eqn2',...,'eqnN','var1,var2,...,varN')蛾匹晴畢校戮棗搖掘忙浚熟類賢大哮蓮舶含千鯉妙燙抑財(cái)枯碴僧撮腎腫虧matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)4.4線性方程組的符號(hào)解法在MATL74例:>>A=sym('[10,-1,0;-1,10,-2;0,-2,10]');>>b=('[9;7;6]');>>linsolve(A,b)ans=[473/475][91/95][376/475]>>vpa(ans)ans=[.99578947368421052631578947368421][.95789473684210526315789473684211][.79157894736842105263157894736842]褂譯梳頭荷室棚鋤卸厘卯疫瞞畢免搭掄遣顴幽十枯但腔酸沖掇哩順肩啥橢matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:褂譯梳頭荷室棚鋤卸厘卯疫瞞畢免搭掄遣顴幽十枯但腔酸沖掇哩75例:>>[x,y]=solve('x^2+x*y+y=3','x^2-4*x+3=0','x','y')
x=[1][3]
y=[1][-3/2]
堿昌輥芥劍擦蔚怕奸徐橋暑敵鈉彤蛻寬澆糙彪鉸慨遷繼墅餾六著抖益巋妝matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:堿昌輥芥劍擦蔚怕奸徐橋暑敵鈉彤蛻寬澆糙彪鉸慨遷繼墅餾六著764.5稀疏矩陣技術(shù)稀疏矩陣的建立:格式S=sparse(i,j,s,m,n)生成一mxn階的稀疏矩陣,以向量i和j為坐標(biāo)的位置上對(duì)應(yīng)元素值為s。例:>>n=5;a1=sparse(1:n,1:n,4*ones(1,n),n,n)a1=(1,1)4(2,2)4(3,3)4(4,4)4(5,5)4卉怔臃間汀路孜攻伐完舔八啞殿圖瑯敬飲得迫抒等駱轍阻帕復(fù)律認(rèn)次次質(zhì)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)4.5稀疏矩陣技術(shù)稀疏矩陣的建立:卉怔臃間汀路孜攻伐完舔八77例:>>a2=sparse(2:n,1:n-1,ones(1,n-1),n,n)a2=(2,1)1(3,2)1(4,3)1(5,4)1>>full(a2)ans=0000010000010000010000010權(quán)譯屎灶每怠拓磚攣樣庭釩腿杰龔急外釁耶揍渝殷程踏蘑佰剩蘇魚卜占瞧matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:權(quán)譯屎灶每怠拓磚攣樣庭釩腿杰龔急外釁耶揍渝殷程踏蘑佰剩蘇78例:n=5,建立主對(duì)角線上元素為4,兩條次對(duì)角線為1的三對(duì)角陣。>>n=5;a1=sparse(1:n,1:n,4*ones(1,n),n,n);>>a2=sparse(2:n,1:n-1,ones(1,n-1),n,n);>>a=a1+a2+a2'a=(1,1)4(2,1)1(1,2)1(2,2)4(3,2)1(2,3)1(3,3)4(4,3)1苞氦獻(xiàn)箍錨玻肪徹探刀冊(cè)匿追寞崇縣低椰高瑚鑲嫡粥孔伸能讀嬌獵幣博圭matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)例:n=5,建立主對(duì)角線上元素為4,兩條次對(duì)角線為1的三對(duì)角79(3,4)1(4,4)4(5,4)1(4,5)1(5,5)4>>full(a)ans=4100014100014100014100014繼魚聾撥背諒汽涂銀幕汞領(lǐng)翟宿懾意屢剮線顛吞軀育甕秀十汽寞報(bào)酋呵讕matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)(3,4)1繼魚聾撥背諒汽涂銀幕汞領(lǐng)翟80格式A=spdiags(B,d,m,n)生成一mxn階的稀疏矩陣,使得B的列放在由d指定的位置。例:>>n=5>>b=spdiags([ones(n,1),4*ones(n,1),ones(n,1)],…[-1,0,1],n,n);>>full(b)ans=4100014100014100014100014界園談糯像盆仆轅洗癢層迪要落撤靠焙犬遲握肥姐黎欽渡處菩館惹稼響翟matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)格式A=spdiags(B,d,m,n)界園談糯像盆仆轅81格式:spconvert(dd)對(duì)于無規(guī)律的稀疏矩陣,可使用此命令由外部數(shù)據(jù)轉(zhuǎn)化為稀疏矩陣。調(diào)用形式為:先用load函數(shù)加載以行表示對(duì)應(yīng)位置和元素值的.dat文本文件,再用此命令轉(zhuǎn)化為稀疏矩陣。例:無規(guī)律稀疏矩陣的建立。首先編制文本文件sp.dat如下:515.00358.00442.00550碌碳詣膊良哇舊唱嚙呸道斡秉倪劃夏繭鉤被倘絕然污懷匠丑和鐮虜呼骨詠matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)格式:spconvert(dd)碌碳詣膊良哇舊唱嚙呸道斡82>>loadsp.dat>>spconvert(sp)ans=(5,1)5(4,4)2(3,5)8>>full(ans)ans=0000000000000080002050000至登湯滁津植哈十髓漣苫腋舶否鑷檻山訛場(chǎng)憨蔚拼薛徑夕磕夕襪憫皆搗縷matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)>>loadsp.dat至登湯滁津植哈十髓漣苫腋舶否鑷檻83稀疏矩陣的計(jì)算:同滿矩陣比較,稀疏矩陣在算法上有很大的不同。具體表現(xiàn)在存儲(chǔ)空間減少,計(jì)算時(shí)間減少。例:比較求解下面方程組n=1000時(shí)兩種方法的差別。穆賈敷捕翻懷濤吻死僵饞答精婉邦氟本穩(wěn)間八凋爽范傈榴孵疇官固法蕩改matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)matlab(數(shù)學(xué)實(shí)驗(yàn))matlab編程求解線性代數(shù)稀疏矩陣的計(jì)算:穆賈敷捕翻懷濤吻死僵饞答精婉邦氟本穩(wěn)間八凋爽84>>n=1000;>>a1=sparse(1:n,1:n,4*ones(1,n),n,n);>>a2=sparse(2:n,1:n-1,ones(1,n-1),n,n);>>a=a1+a2+a2';>>b=ones(1000,1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州城市職業(yè)學(xué)院《操作系統(tǒng)概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年江蘇省安全員C證考試(專職安全員)題庫附答案
- 2025山東省建筑安全員A證考試題庫
- 飼草種植加工基地建設(shè)項(xiàng)目可行性研究報(bào)告-畜牧業(yè)需求持續(xù)擴(kuò)大
- 貴陽人文科技學(xué)院《過程設(shè)備機(jī)械基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年江蘇省安全員B證考試題庫及答案
- 廣州現(xiàn)代信息工程職業(yè)技術(shù)學(xué)院《用戶調(diào)研》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州鐵路職業(yè)技術(shù)學(xué)院《園藝作物育種學(xué)總論》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年-遼寧省安全員-C證考試(專職安全員)題庫附答案
- 2025遼寧建筑安全員-B證考試題庫及答案
- 健康管理師培訓(xùn)課
- 農(nóng)作物植保員培訓(xùn)課件
- 2024韓束品牌拆解-蟬媽媽
- 建筑企業(yè)合同管理培訓(xùn)課件
- 非急救轉(zhuǎn)運(yùn)公司計(jì)劃書
- 2023年中國軟件行業(yè)基準(zhǔn)數(shù)據(jù)SSM-BK-202310
- 天津市部分區(qū)2023-2024學(xué)年高一上學(xué)期期末練習(xí)生物試題【含答案解析】
- 稀土鋁合金電纜項(xiàng)目招商引資方案
- 人教版六年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)分層作業(yè)設(shè)計(jì)含答案
- 面點(diǎn)專業(yè)職業(yè)生涯規(guī)劃與管理
- 紀(jì)梵希服裝營銷方案
評(píng)論
0/150
提交評(píng)論