主题: [MATLAB数学相关] 求教:函数中矩阵元素调用
查看单个帖子
旧 2011-09-08, 08:46   #1
chengwh07
初级会员
 
注册日期: 2011-09-08
年龄: 35
帖子: 2
声望力: 0
chengwh07 正向着好的方向发展
问题 求教:函数中矩阵元素调用

求教高手,下面是我自己写的一个简单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
chengwh07 当前离线   回复时引用此帖