求教:函数中矩阵元素调用
求教高手,下面是我自己写的一个简单gauss消元法的程序,完成LU分解之后的逆推运算中对矩阵中的元素调用显示有error:Index exceeds matrix dimensions.
Error in ==> gauss at 17
X(n)=A(n,n+1)/A(n,n);
function [X] = gauss(A,b)
%function [X] =gauss(A,b)
%线性方程组的Gauss消元法求解
%A为系数矩阵,b为常数向量,X为解向量
n=size(A);
L=eye(n);
for k=1:n-1
L1=[zeros(n-k,k-1),-A(k+1:n,k)/A(k,k),zeros(n-k,n-k)];
L1=[zeros(k,n);L1];
L1=L1+eye(n);
A=L1*A;
L=L1*L;
end
b=L*b
A=[A,b]
n=size(A);
X(n)=A(n,n+1)/A(n,n);
for k=2:n
suma=0;
for j=n-k+2:n
suma=suma+A(n-k+1,j)*X(j);
end
X(n-k+1)=(A(n-k+1,n+1)-suma)/A(n-k+1,n-k+1);
end
X;
end
|