資源描述:
《用matlab編寫拉格朗日插值算法的程序》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、用matlab編寫拉格朗日插值算法的程序10[?標(biāo)簽:matlab,插值算法,程序?]用matlab編寫拉格朗日插值算法的程序,并以下面給出的函數(shù)表為數(shù)據(jù)基礎(chǔ),在整個(gè)插值區(qū)間上采用拉格朗日插值法計(jì)算f(0.6),寫出程序源代碼,輸出計(jì)算結(jié)果x??-2.15????-1.00??0.01??1.02????2.03?????3.25y??17.03??7.24????1.05???2.03???17.06???23.05匿名回答:1人氣:6解決時(shí)間:2011-05-2419:58滿意答案好評(píng)率:83%做了一個(gè)測(cè)試,希望有所幫助。代碼:%用matlab編寫拉格朗日插值算法的程序,并
2、以下面給出的函數(shù)表為數(shù)據(jù)基礎(chǔ),%在整個(gè)插值區(qū)間上采用拉格朗日插值法計(jì)算f(0.6),寫出程序源代碼,輸出計(jì)算結(jié)果%x??-2.15????-1.00??0.01??1.02????2.03?????3.25%y??17.03??7.24????1.05???2.03???17.06???23.05functionmain()clc;x=[-2.15????-1.00??0.01??1.02????2.03?????3.25];y=[17.03??7.24????1.05???2.03???17.06???23.05];x0=0.6;f=Language(x,y,x0)funct
3、ionf=Language(x,y,x0)%求已知數(shù)據(jù)點(diǎn)的拉格朗日插值多項(xiàng)式%已知數(shù)據(jù)點(diǎn)的x坐標(biāo)向量:x%已知數(shù)據(jù)點(diǎn)的y坐標(biāo)向量:y%插值點(diǎn)的x坐標(biāo):x0%求得的拉格朗日插值多項(xiàng)式或在x0處的插值:fsymstl;if(length(x)==length(y))???n=length(x);else???disp('x和y的維數(shù)不相等!');???return;??%檢錯(cuò)endh=sym(0);for(i=1:n)???l=sym(y(i));???for(j=1:i-1)???????l=l*(t-x(j))/(x(i)-x(j));???end;???for(j=i+1:n
4、)???????l=l*(t-x(j))/(x(i)-x(j));???end;??????h=h+l;endsimplify(h);if(nargin==3)???f=subs(h,'t',x0);%計(jì)算插值點(diǎn)的函數(shù)值else???f=collect(h);???f=vpa(f,6);%將插值多項(xiàng)式的系數(shù)化成6位精度的小數(shù)end結(jié)果:f=???0.0201>>如何用MATLAB編寫的拉格朗日插值算法的程序、二階龍格-庫(kù)塔方法的程序和SOR迭代法的程序,要能運(yùn)行的∮初夏戀雨¢回答:2人氣:29解決時(shí)間:2009-12-0819:04滿意答案好評(píng)率:100%拉格朗日functio
5、ny=lagrange(x0,y0,x)n=length(x0);m=length(x);fori=1:mz=x(i);s=0.0;fork=1:np=1.0;forj=1:nifj~=kp=p*(z-x0(j))/(x0(k)-x0(j));endends=p*y0(k)+s;endy(i)=s;endSOR迭代法的Matlab程序function[x]=SOR_iterative(A,b)%用SOR迭代求解線性方程組,矩陣A是方陣x0=zeros(1,length(b));%賦初值tol=10^(-2);%給定誤差界N=1000;%給定最大迭代次數(shù)[n,n]=size(A)
6、;%確定矩陣A的階w=1;%給定松弛因子k=1;%迭代過程whilek<=Nx(1)=(b(1)-A(1,2:n)*x0(2:n)')/A(1,1);fori=2:nx(i)=(1-w)*x0(i)+w*(b(i)-A(i,1:i-1)*x(1:i-1)'-A(i,i+1:n)*x0(i+1:n)')/A(i,i);endifmax(abs(x-x0))<=tolfid=fopen('SOR_iter_result.txt','wt');fprintf(fid,'********用SOR迭代求解線性方程組的輸出結(jié)果********');fprintf(fid,'迭代
7、次數(shù):%d次',k);fprintf(fid,'x的值');fprintf(fid,'%12.8f',x);break;endk=k+1;x0=x;endifk==N+1fid=fopen('SOR_iter_result.txt','wt');fprintf(fid,'********用SOR迭代求解線性方程組的輸出結(jié)果********');fprintf(fid,'迭代次數(shù):%d次',k);fprintf(fid,'超過最大迭代次數(shù),求解失??!')