列主元高斯消去法、LU三角分解法、龙贝格(Romberg)算法、最小二乘法的Matlab程序及运行结果_第1页
列主元高斯消去法、LU三角分解法、龙贝格(Romberg)算法、最小二乘法的Matlab程序及运行结果_第2页
列主元高斯消去法、LU三角分解法、龙贝格(Romberg)算法、最小二乘法的Matlab程序及运行结果_第3页
列主元高斯消去法、LU三角分解法、龙贝格(Romberg)算法、最小二乘法的Matlab程序及运行结果_第4页
列主元高斯消去法、LU三角分解法、龙贝格(Romberg)算法、最小二乘法的Matlab程序及运行结果_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 列主元高斯消去法M文件functionx=gauss(a,b) n=length(a); x=zeros(n,1); a=a b; for k=1:n-1 max=k; for i=k+1:n if a(i,k)>a(max,k) max=i; end end temp=a(k,k:n+1); a(k,k:n+1)=a(max,k:n+1); a(max,k:n+1)=temp; for i=k+1:n a(i,k)=-a(i,k)/a(k,k); a(i,k+1:n+1)=a(i,k+1:n+1)+a(i,k)*a(k,k+1:n+1); end end x(n,1)=a(n,n+

2、1)/a(n,n); for i=n-1:-1:1 sum=0; for j=i+1:n sum=sum+x(j,1)*a(i,j); end x(i,1)=(a(i,n+1)-sum)/a(i,i); endMatlab运行结果2LU三角分解法M文件function y=LU(A,B); n=length(A); A=A B; for k=1:n-1; for i=k:n; if(abs(A(i,k)=max(abs(A(k:n,k) P(k)=i; temp=A(k,:); A(k,:)=A(i,:); A(i,:)=temp; end end for j=k+1:n; A(j,k)=A(

3、j,k)/A(k,k); A(j,k+1:n+1)=A(j,k+1:n+1)-A(j,k)*A(k,k+1:n+1); endendP(n)=n; L(1,1)=1; L(2:n,1)=A(2:n,1);L(1,2:n)=0;U(1,1)=A(1,1); U(2:n,1)=0;U(1,2:n)=A(1,2:n); for i=2:n; L(i,1:i-1)=A(i,1:i-1); L(i,i)=1; L(i,i+1:n)=0; U(i,1:i-1)=0; U(i,i:n)=A(i,i:n);end x(n) = A(n,n+1)/U(n,n); for k = n-1:-1:1 x(k)=A(

4、k,n+1);for p=n:-1:k+1;x(k) = x(k)-U(k,p)*x(p); end x(k)=x(k)/U(k,k); endxLUPEndMatlab运行结果3龙贝格(Romberg)算法M文件functiont=romberg(f,a,b,e) t=zeros(15,4); t(1,1)=(b-a)/2*(f(a)+f(b); for k=2:4 sum=0; for i=1:2(k-2) sum=sum+f(a+(2*i-1)*(b-a)/2(k-1); end t(k,1)=0.5*t(k-1,1)+(b-a)/2(k-1)*sum; for i=2:k t(k,i)

5、=(4(i-1)*t(k,i-1)-t(k-1,i-1)/(4(i-1)-1); end end for k=5:15 sum=0; for i=1:2(k-2) sum=sum+f(a+(2*i-1)*(b-a)/2(k-1); end t(k,1)=0.5*t(k-1,1)+(b-a)/2(k-1)*sum; for i=2:4 t(k,i)=(4(i-1)*t(k,i-1)-t(k-1,i-1)/(4(i-1)-1); end if k>6 if abs(t(k,4)-t(k-1,4)<e disp('答案 ',num2str(t(k,4); break; end end end if k>=15 disp('溢出'); end Matlab运行结果4最小二乘法M文件functiona,max,det=zuixiaoerchengfa(x,y,r) n=length(x); c=ones(n,r+1); for i=2:r+1 for j=1:n c(j,i)=x(j)(i-1); end end A=c'*c; b=c'*y' a=inv(A)*b; det=0; max=0; for i=1:n sum=a(1); for j=2:r+1 sum=sum+a(j)*x(i)(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论