用Matlab怎么将一个矩阵化为行最简矩阵
展开全部
对矩阵实行初等行变换,化为行最简形矩阵,其特点是:非零行的第一个非零元为1,且这些非零元所在的列的其他元素都为0
x=[2 -1 -1 1 2;1 1 -2 1 4;4 -6 2 -2 4;3 6 -9 7 9]
object=x;
[m,n]=size(object);
for i=1:m
temp(1:m,1)=object(1:m,i);
if( all(abs(temp(i:m,1))<eps))
continue;
end
N_zero=find(temp);
clear temp;
[p,q]=size(N_zero);
clear Modulus;
if( all(abs(object(i,1:n))<eps))
continue;
end
z=1;
for j=1:p
T_M=object(N_zero(j,1),i)/object(N_zero(i,1),i);
if z==1
Modulus=T_M;
z=z+1;
continue;
end
Modulus=[Modulus,T_M];
z=z+1;
end
%初等行变换:把某一行所有元素的k倍加到另一行对应的元素上去(第j行的k倍加到第i行上,记做ri+k*rj)
for j=1:p
if j==i
continue;
end
object(N_zero(j,1),1:n)=object(N_zero(j,1),1:n)-object(N_zero(i,1),1:n)*Modulus(j);
end
%初等行变换:对调两行(对调i,j两行,记做ri<->rj)
temp(1:m,1)=object(1:m,i);
N_zero=find(temp);
clear temp;
if N_zero(1)==i
object(i,1:n)=object(i,1:n)/object(i,i);
continue;
end
temp(1,1:n)=object(i,1:n);
object(i,1:n)=object(N_zero(1,1),1:n);
object(N_zero(1,1),1:n)=temp(1,1:n);
%初等行变换:以数k~=0乘某一行中的所有元素(第i行乘k,记作ri*k);
object(i,1:n)=object(i,1:n)/object(i,i);
end
L=abs(object)<eps;
object(L)=0;
a=object;
x=[2 -1 -1 1 2;1 1 -2 1 4;4 -6 2 -2 4;3 6 -9 7 9]
object=x;
[m,n]=size(object);
for i=1:m
temp(1:m,1)=object(1:m,i);
if( all(abs(temp(i:m,1))<eps))
continue;
end
N_zero=find(temp);
clear temp;
[p,q]=size(N_zero);
clear Modulus;
if( all(abs(object(i,1:n))<eps))
continue;
end
z=1;
for j=1:p
T_M=object(N_zero(j,1),i)/object(N_zero(i,1),i);
if z==1
Modulus=T_M;
z=z+1;
continue;
end
Modulus=[Modulus,T_M];
z=z+1;
end
%初等行变换:把某一行所有元素的k倍加到另一行对应的元素上去(第j行的k倍加到第i行上,记做ri+k*rj)
for j=1:p
if j==i
continue;
end
object(N_zero(j,1),1:n)=object(N_zero(j,1),1:n)-object(N_zero(i,1),1:n)*Modulus(j);
end
%初等行变换:对调两行(对调i,j两行,记做ri<->rj)
temp(1:m,1)=object(1:m,i);
N_zero=find(temp);
clear temp;
if N_zero(1)==i
object(i,1:n)=object(i,1:n)/object(i,i);
continue;
end
temp(1,1:n)=object(i,1:n);
object(i,1:n)=object(N_zero(1,1),1:n);
object(N_zero(1,1),1:n)=temp(1,1:n);
%初等行变换:以数k~=0乘某一行中的所有元素(第i行乘k,记作ri*k);
object(i,1:n)=object(i,1:n)/object(i,i);
end
L=abs(object)<eps;
object(L)=0;
a=object;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询