文档详情

数值计算方法短学期实验报告.pdf

发布:2017-09-13约7.5千字共26页下载文档
文本预览下载声明
数值计算方法短学期实验报告 2014 7 6 实验序号: 日期: 年 月 日 班级 应物1101 姓名 学号 实验 逐次超松弛迭代法 名称 硬件需求:pc 软件需求:MATLAB R2012a , Windows7 任务描述: 利用超松弛迭代法来求解给出的矩阵的解。给出线性方程组,以矩阵的形式 给出AX=B,然后利用超松弛迭代法求出X 的近似解,同时要给出精确度,初始 矩阵A,B。初始迭代矩阵X0,最后给出迭代的结果和迭代的次数。 流程图 算法详细描述(程序和注解) function[x,n]=SORSolve(A,b,w,x,ep,M) %超松弛逐次迭代法 %用途:求解线性方程组的SOR迭代法 %A为方程组的系数矩阵 %b为方程组的右端向量组 %x为迭代初始化向量(默认零向量) %w为松弛因子 %ep为精度要求(默认值为1e-6) %M为最大迭代次数(默认500次) %x为方程组的解 %n为迭代次数 if nargin6, M=500; end if nargin5, ep=1e-6; end if nargin4, x=zeros(size(b)); end if nargin3, w=1.2; end %对输入的量的个数验证以及判断 D=diag(diag(A)); %求A的对角矩阵 L=D-tril(A); %tril求A的下三角矩阵 U=D-triu(A); %triu求A的上三角矩阵 for n=1:M x=(D-w*L)\(((1-w)*D+w*U)*x+w*b); err=norm(b-A*x)/norm(b); %norm范数 if errep, break; end end 实验结果报告(图和表) A=[430;34-1;0-24]; b=[2430-24]; [x,n]=SORSolve(A,b) x= 2.4000 4.8000 -3.6000 n= 19 实验 拉格朗日多项式插值法 名称 任务描述:用matlab分别编译拉格朗日多项式插值法 拉格朗日多项式插值法对某个多项式函数,已知有给定的k+ 1个取值点: 其中 对应着自变量的位置,而 对应着函数在这个位置的取值。 假设任意两个不同的xj都互不相同,那么应用拉格朗日插值公式所得到的拉格朗 日插值多项式为: 其中每个 为拉格朗日基本多项式(或称插值基函数),其表达式为: 拉格朗日基本多项式 的特点是在 上取值为1,在其它的点 上取 值为0。 流程图 算法详细描述(程序和注解) function y=lagrange(xdata,ydata,x) % Lagrange插值y=lagrange(xdata,ydata,x) % 输入参数: % xdat :给定的节点横坐标 % ydat :给定的节点纵坐标 % x:需要进行插值的节点横坐标 % 输出参数: % y:Lagrange插值函数在x处的函数值 n=length(xdata);m=length(ydata); if n~=m %不等于 判断数据是否合适 error(插值数据长度不等!); end ii=1:n;y=zeros(size(x)); %获取X行列并全为零 for i=ii ij=find(ii~=i);V=1; for j=1:length(ij) if abs(xdata(i)-xdata(ij(j)))eps %节点判断 er
显示全部
相似文档