.
追赶法
1. 程序:
function [x,L,U]=zhuiganfa(a,b,c,f) a=input('输入矩阵-1对角元素a='); b=input('输入矩阵对角元素b='); c=input('输入矩阵+1对角元素c='); f=input('输入增广矩阵最后一列元素f='); n=length(b); % 对A进行分解 u(1)=b(1); for i=2:n
if(u(i-1)~=0)
l(i-1)=a(i-1)/u(i-1); u(i)=b(i)-l(i-1)*c(i-1); else break; end end
L=eye(n)+diag(l,-1); U=diag(u)+diag(c,1); x=zeros(n,1); y=x;
.
.
% 求解Ly=b y(1)=f(1); for i=2:n
y(i)=f(i)-l(i-1)*y(i-1); end % 求解Ux=y if(u(n)~=0) x(n)=y(n)/u(n); end
for i=n-1:-1:1
x(i)=(y(i)-c(i)*x(i+1))/u(i); end
2.运行结果:
.
.
高斯-塞德尔迭代格式
1.程序:
function x=Gauss_Seidel(a,b) a=input('输入系数矩阵a=')
b=input('输入增广矩阵最后一列b='); e=0.5e-7; n=length(b); N=50;
x=zeros(n,1); t=zeros(n,1); for k=1:N sum=0; E=0;
t(1:n)=x(1:n); for i=1:n
x(i)=(b(i)-a(i,1:(i-1))*x(1:(i-1))-a(i,(i+1):n)*t((i+1):n))/a(i,i); end
if norm(x-t) . . end end 2. 运行结果: . . 雅戈比迭代格式 1.程序: function x=Jocabi(a,b) a=input('输入系数矩阵a='); b=input('输入增广矩阵最后一列b='); e=0.5e-7; n=length(b); N=100; x=zeros(n,1); y=zeros(n,1); for k=1:N sum=0; for i=1:n y(i)=(b(i)-a(i,1:n)*x(1:n)+a(i,i)*x(i))/a(i,i); end for i=1:n sum=sum+(y(i)-x(i))^2; end if sqrt(sum) .
数值分析编程及运行结果(高斯顺序消元法)



