📄 gaussxiao.m
字号:
%Gauss消去法
clear
N=13; %矩阵阶数
H=hilb(N); %生成Hilbert矩阵H
b=1:N; %生成向量b
%高斯消去
for k=1:N-1
for i=k+1:N
s=H(i,k)/H(k,k); %计算行消去须乘的系数
H(i,k)=0; %直接令该消去的行为零
b(i)=b(i)-s*b(k); %对向量b逐行相减
for j=k+1:N
H(i,j)=H(i,j)-s*H(k,j); %对矩阵逐行相减
end
end
end
%回代
x=zeros(1,N); %解向量初始化
for i=1:N
m=N+1-i;
x(m)=b(m)/H(m,m); %解出x
for j=1:m-1
b(j)=b(j)-H(j,m)/H(m,m)*b(m); %逐行回代
H(j,m)=0; %直接令该消去行的为零
end
end
%输出结果
x
x0=(invhilb(N)*[1:N]')' %精确解
ss=zeros(1,N); %相对误差矩阵
for i=1:N
ss(i)=abs((x(i)-x0(i))/x0(i)); %计算相对误差
end
m1=max(ss) %求最大相对误差
m2=max(x-x0) %求最大绝对误差
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -