- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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.1250
0.4000 -0.2000 0
r=eigs(B,1) %B的谱半径
r =
0.3347 1
Jacobi迭代法收敛。
(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;
end
end
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 =
-0.22214 t^2 + 1 t + 0.74384
文档评论(0)