用Matlab怎么将一个矩阵化为行最简矩阵
2个回答
展开全部
对矩阵实行初等行变换,化为行最简形矩阵,其特点是:非零行的第一个非零元为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;
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |