当前位置:首页 > 用高斯约旦方法计算随机矩阵的MATLAB原代码
用高斯约旦方法计算随机矩阵的MATLAB原代码 i=input('输入行数:'); j=input('输入列数:');
a=rand(i,j);%创建矩阵随机矩阵a[i][j] if i>j a=a'; else
a=a; end
if i~=j %增广矩阵计算方法
[m,n]=size(a)%确定a的行数,列数m为行数,n为列数 h=min(m,n) %h 为m,n中的最小值
for j=1:h-1 %上三角形成开始 for i=j:h-1
a(i+1,:)=-a(j,:)*(a(i+1,j)/a(j,j))+a(i+1,:); end
end %以上形成上三角
for j=1:h-1 %下三角形成开始 for i=1:h-j
a(i,:)=(-a(i,(h-j+1))/a((h-j+1),(h-j+1)))*a((h-j+1),:)+a(i,:) end
end %以上下三角形成
for m=1:m %计算x的值并输出 x(m)=a(m,n)/a(m,m)
end %第二个if到这个end为止为增广矩阵的高斯约旦计算方法,限制:行数+1=列数 else %方阵计算方法
[m,n]=size(a)%确定a的行数,列数m为行数,n为列数 h=min(m,n) %h 为m,n中的最小值
for j=1:h-1 %上三角形成开始 for i=j:h-1
a(i+1,:)=-a(j,:)*(a(i+1,j)/a(j,j))+a(i+1,:); end
end %以上形成上三角
for j=1:h-1 %下三角形成开始 for i=1:h-j
a(i,:)=(-a(i,(h-j+1))/a((h-j+1),(h-j+1)))*a((h-j+1),:)+a(i,:) end
end %以上下三角形成
end
共分享92篇相关文档