matlab数据分析题目,matlab数值分析例题教程.docx

matlab数值分析例题教程

在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 0

B=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.0000

k =

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; endend 2、设有某实验数据如下:序号xy序号xy1-3-3.9980.51.3776 2-2.5-3.3011911.54033-2-2.4161101.51.57074-1.5-1.42931121.58395-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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值