1.回溯法(系数矩阵为上三角)
function X=uptrbk(A,B)
%求解方程组,首先化为上三角,再调用函数求解
[N,N]=size(A);
X=zeros(N,1);
C=zeros(1,N+1);
Aug=[A B];
for p=1:N-1
C=Aug(p,:);
end
D=Aug;
X=backsub(Aug(1:N,1:N),Aug(1:N,N+1));
2.系数矩阵为下三角
function x=matrix_down(A,b)
%求解系数矩阵是下三角的方程组
n=length(b);
x=zeros(n,1);
x(1)=b(1)/A(1,1);
for k=2:1:n
end
3.普通系数矩阵(先化为上三角,在用回溯法)
function X=uptrbk(A,B)
%求解方程组,首先化为上三角,再调用函数求解
[N,N]=size(A);
X=zeros(N,1);
C=zeros(1,N+1);
Aug=[A B];
for p=1:N-1
C=Aug(p,:);
end
D=Aug;
X=backsub(Aug(1:N,1:N),Aug(1:N,N+1));
4.三角分解法
function [X,L,U]=LU_matrix(A,B)
%A是非奇异矩阵
%AX=B化为LUX=B,L为下三角,U为上三角
%程序中并没有真正解出L和U,全部存放在A中
[N,N]=size(A);
X=zeros(N,1);
Y=zeros(N,1);
C=zeros(1,N);
R=1:N;
for p=1:N-1
'A is singular.No unique solution'
A(k,p)=mult;
end
end
Y(1)=B(R(1));
for k=2:N
Y(k)=B(R(k))-A(k,1:k-1)*Y(1:k-1);
end
X(N)=Y(N)/A(N,N);
for k=N-1:-1:1
end
L=tril(A,-1)+eye(N)
U=triu(A)
5.雅克比迭代法
function X=jacobi(A,B,P,delta,max1);
%雅克比迭代求解方程组
N=length(B);
for k=1:max1
end
relerr=err/(norm(X)+eps);
P=X';
end
end
X=X';
k
6.盖斯迭代法
function X=gseid(A,B,P,delta,max1);
%盖斯算法,求解赋初值的微分方程
N=length(B);
for k=1:max1
for j=1:N
end
relerr=err/(norm(X)+eps);
P=X';
end
end
X=X';
k