- 17
- 0
- 约 8页
- 2017-01-17 发布于重庆
- 举报
数值分析与算法-作业4
第四章 上机题作业
徐清瑶 仪器科学与技术 学号:20130308040002
1(P145)解:(1)用各方法求解方程组A*x=b的程序如下:
生成Hilbert矩阵的程序如下:
%hilbert.m
function A=hilbert(n)
%生成hilbert矩阵A
A=zeros(n);
for i=1:n
for j=1:n
A(i,j)=1/(i+j-1);
end
end
Jacobi迭代法求解方程组A*x=b的程序如下:
%myjacobi.m
function [x,k]=myjacobi(A,b,x0,N)
%用jacobi迭代法解线性方程组A*x=b
%说明:A为系数矩阵,b为右端向量,x0为初始向量,
% N为最大迭代次数,x返回近似解
n=length(b);
x=zeros(n,1);k=0;
%判断雅可比迭代法的收敛情况
D=diag(diag(A));
B=inv(D)*(D-A);
d=eig(B);
j=abs(d);
m=max(j)
if m1
disp(对任意的初始值雅可比迭代法收敛)
else
disp(对任意的初始值雅可比迭代法不收敛)
end
%求解线性方程组的解和迭代次数
while k=N
for i=1:n
x(i)=(b(i)-A(i,[1:i-
原创力文档

文档评论(0)