文档详情

matlab数值分析例题.docx

发布:2017-05-24约5.34千字共10页下载文档
文本预览下载声明
在MATLAB中用Jacobi迭代法讨论线性方程组,(1)给出Jacobi迭代法的迭代方程,并判定Jacobi迭代法求解此方程组是否收敛。(2)若收敛,编程求解该线性方程组。解(1):A=[4 -1 1;4 -8 1;-2 1 5] %线性方程组系数矩阵A = 4 -1 1 4 -8 1 -2 1 5 D=diag(diag(A))D = 4 0 0 0 -8 0 0 0 5 L=-tril(A,-1) % A的下三角矩阵L = 0 0 0 -4 0 0 2 -1 0 U=-triu(A,1) % A的上三角矩阵U = 0 1 -1 0 0 -1 0 0 0B=inv(D)*(L+U) % B为雅可比迭代矩阵B = 0 0.2500 -0.2500 0.5000 0 0.12500.4000 -0.2000 0 r=eigs(B,1) %B的谱半径r =0.3347 1Jacobi迭代法收敛。(2)在matlab上编写程序如下:A=[4 -1 1;4 -8 1;-2 1 5]; b=[7 -21 15]; x0=[0 0 0]; [x,k]=jacobi(A,b,x0,1e-7)x = 2.0000 4.0000 3.0000k =17附jacobi迭代法的matlab程序如下:function [x,k]=jacobi(A,b,x0,eps)% 采用Jacobi迭代法求Ax=b的解% A为系数矩阵% b为常数向量% x0为迭代初始向量% eps为解的精度控制max1= 300; %默认最多迭代300,超过300次给出警告D=diag(diag(A)); %求A的对角矩阵L=-tril(A,-1); %求A的下三角阵U=-triu(A,1); %求A的上三角阵B=D\(L+U);f=D\b;x=B*x0+f;k=1; %迭代次数while norm(x-x0)=eps x0=x; x=B*x0+f; k=k+1; if(k=max1) disp(迭代超过300次,方程组可能不收敛); return; endend2、设有某实验数据如下:序号xy序号xy1-3-3.9980.51.3776 2-2.5-3.3011911.54033-2-2.4161101.51.57074-1.5-158395-1-0.4597122.51.69896-0.50.377581332.01701(1)在MATLAB中作图观察离散点的结构,用多项式拟合的方法拟合一个合适的多项式函数;(2)在MATLAB中作出离散点和拟合曲线图.解(1):首先观察离散点的结构,matlab中的程序如下,x=[-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3 ]; y=[-3.99 -3.3011 -2.4161 -1.4293 -0.4597 0.37758 1 1.3776 1.5403 1.5707 1.5839 1.6989 2.01]; plot(x,y,r*)图形如下:离散点近似如抛物线,所以用二次多项式拟合,所以matlab程序如下:x=[-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3 ]; y=[-3.99 -3.3011 -2.4161 -1.4293 -0.4597 0.37758 1 1.3776 1.5403 1.5707 1.5839 1.6989 2.01]; s=polyfit(x,y,2); p=poly2str(s,t)p = -0.22214 t^2 + 1 t + 0.74384(2)做出离散点与拟合曲线的程序如下:x=[-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3 ]; f=[-3.99 -3.3011 -2.4161 -1.4293 -0.4597 0.37758 1 1.3776 1.5403 1.5707 1.583
显示全部
相似文档