数值分析课程设计报告书.docVIP

  • 34
  • 0
  • 约6.37千字
  • 约 19页
  • 2019-06-25 发布于安徽
  • 举报
. . 摘要 实验一 拉格朗日插及数值求解 1.1实验目的 了解Lagranger差值的基本原理和方法 通过实例掌握用MATLAB求插值的方法 根据实际计算理论.利用Lagranger插值多项式计算 1.2实验原理 设已知......,及=f()(i=0,1,.....,n),为不超过n次多项式且满足(i=0,1,...n). 易知 其中.均为n次多项式,再由(ji)为n次多项式的n个根知.最后.由 ,i=0,1,...,n. 总之.=.=式为n阶Lagrange插值公式.其中.(i=0,1,...n)称为n阶Lagrange插值的基函数。 1.3实验内容 function y = lagranger(x0,y0,x); %UNTITLED Summary of this function goes here % Detailed explanation goes here n=length(x0); m=length(x); for i=1:m z=x(i); s=0.0; for k=1:n li=1.0; for j=1:n if j~=k li=li*(z-x0(j))/(x0(k)-x0(j)); end end s=li*y0(k)+s; end y(i)=s; end 1.4实验案例及结果分析 (1) 输入: x0=[4,5,6];y0=[10,5.25,1];x=5; y=lagranger(x0,y0,x) (2) 输入: X0=[1,4,8];y0=[6,3.2,4];x=4; y=lagranger(x0,y0,x) 实验二 LU分解法解线性方程组 2.1实验目的 1.了解LU分解法解线性方程组的基本原理; 2.熟悉计算方法的技巧和过程.能用LU分解法解实际问题; 3.用matlab实现LU分解。 2.2实验原理 1.若一个线性方程组系数矩阵为n阶方阵A且各阶顺序主子式均不为0则A的LU分解存在且唯一。 将高斯消去法改写为紧凑形式.可以直接从矩阵A的元素得到计算L.U元素的递推公式.而不需任何中间步骤.这就是所谓直接三角分解法。一旦实现了矩阵A的LU分解.那么求解 Ax=b 的问题就等价于求解两个三角形方程组: Ly=b.求y; Ux=y.求x。 2.在满足1的条件下课推导得出以下公式 (1) (2) 3.公式(1)用于求解矩阵L、U.公式(2)用于会带求解y、x。从公式中可以看出:L对角线上元素为1.U第一行与A第一行相同。 4.LU分解的具体过程和顺序如下: (1)第一步分解: (2)第二步分解: (3)第三步分解: (n)第n步分解:依次计算:、............. 2.3实验内容 编写一个M文件 function [L,U,x]=Lu_x(A,b) [n,m]=size(A); if n~=m error(The rows and columns of matrix A must be equal!); return; end for ii=1:n for i=1:ii for j=1:ii AA(i,j)=A(i,j); end end if (det(AA)==0) error(The matrix can not be divided by LU!) return; end end A [n,n]=size(A); L=zeros(n,n); U=zeros(n,n); for i=1:n L(i,i)=1; end for k=1:n for j=k:n U(k,j)=A(k,j)-sum(L(k,1:k-1).*U(1:k-1,j)); end for i=k+1:n L(i,k)=(A(i,k)-sum(L(i,1:k-1).*U(1:k-1,k)))/U(k,k); end end y(1)=d(1); for i=2:n for j=1:i-1 d(i)=d(i)-L(i,j)*y(j); end y(i)=d(i); end x(n)=y(n)/U(n,n); for i=(n-1):-1:1 for

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档