(1)编写通用列选主元消元法求解线性方程组的程序(2)编写通用拟牛顿法求解非线性方程组的程序,使用(1)中的程序

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 23:20:52
(1)编写通用列选主元消元法求解线性方程组的程序(2)编写通用拟牛顿法求解非线性方程组的程序,使用(1)中的程序

(1)编写通用列选主元消元法求解线性方程组的程序(2)编写通用拟牛顿法求解非线性方程组的程序,使用(1)中的程序
(1)编写通用列选主元消元法求解线性方程组的程序
(2)编写通用拟牛顿法求解非线性方程组的程序,使用(1)中的程序

(1)编写通用列选主元消元法求解线性方程组的程序(2)编写通用拟牛顿法求解非线性方程组的程序,使用(1)中的程序
1)function [x,XA]=GaussXQLineMain(A,b)
%高斯按列主元消去法解线性方程组 Ax=b 的解
%线性方程组的系数矩阵:A
%线性方程组中的常数向量:b
%线性方程组的x
%消元后的系数矩阵:XA
N = size(A);
n = N(1);
index = 0;
for i=1:(n-1)
me = max(abs(A(1:n,i))); %选取列主元
for k=i:n
if(abs(A(k,i))==me)
index = k; %保存列主元所在的行
break;
end
end
temp = A(i,1:n);
A(i,1:n) = A(index,1:n);
A(index,1:n) = temp;
bb = b(index);
b(index)=b(i);
b(i) = bb; %交换主行
for j=(i+1):n
if(A(i,i)==0)
disp('对角元素为0!');
return;
end
l = A(j,i);
m = A(i,i);
A(j,1:n)=A(j,1:n)-l*A(i,1:n)/m;
b(j)=b(j)-l*b(i)/m; %消元
end
end
x=SolveUpTriangle(A,b);
XA = A;
function x=SolveUpTriangle(A,b)
%求上三角系数矩阵的线性方程组Ax=b的解
%线性方程组的系数矩阵:A
%线性方程组中的常数向量:b
%线性方程组的x
N=size(A);
n=N(1);
for i=n:-1:1
if (i