【正文】
p(i,j)=p(a,j)。 p(a,j)=c。 end c=t(a)。 t(a)=t(i)。 t(i)=c。 end u(i,i)=t(i)。 for j=i+1:m u(j,i)=t(j)/t(i)。 end for j=i+1:m for k=1:i1 u(i,j)=u(i,j)u(i,k)*u(k,j)。 end end end l=tril(u,1)+eye(m)。 u=triu(u,0)(Ⅱ).function x=PLU2(A,b) %定義列主元三角分解法的函數(shù)[l,u,p]=PLU1(A) %調(diào)用PLU分解系數(shù)矩陣A m=length(A)。 %由于A左乘p,故b也要左乘pv=b。for q=1:m b(q)=sum(p(q,1:m)*v(1:m,1))。end b(1)=b(1) %求解方程Ly=b for i=2:1:m b(i)=(b(i)sum(l(i,1:i1)*b(1:i1)))。endb(m)=b(m)/u(m,m)。 %求解方程Ux=yfor i=m1:1:1 b(i)=(b(i)sum(u(i,i+1:m)*b(i+1:m)))/u(i,i)。endclear x。disp(39。AX=b的解x是39。)x=b。【調(diào)用函數(shù)解題】①②【編程疑難】這是第一次用matlab編程,對(duì)matlab的語(yǔ)句還不是非常熟悉,因此在編程過(guò)程中,出現(xiàn)了許多錯(cuò)誤提示。并且此次編程的兩種方法對(duì)矩陣的運(yùn)算也比較復(fù)雜。問(wèn)題主要集中在循環(huán)控制中,循環(huán)次數(shù)多了一次或者缺少了一次,導(dǎo)致數(shù)據(jù)錯(cuò)誤,一些基本的編程語(yǔ)句在語(yǔ)法上也會(huì)由于生疏而產(chǎn)生許多問(wèn)題,但是語(yǔ)句的錯(cuò)誤由于系統(tǒng)會(huì)提示,比較容易進(jìn)行修改,數(shù)據(jù)計(jì)算過(guò)程中的一些邏輯錯(cuò)誤,比如循環(huán)變量的控制,這些系統(tǒng)不會(huì)提示錯(cuò)誤,需要我們細(xì)心去發(fā)現(xiàn)錯(cuò)誤,不斷修正,調(diào)試。