matlab 求矩阵秩,用MATLAB编程求矩阵的秩

matlab 求矩阵秩,用MATLAB编程求矩阵的秩fori=n:-1:1我明白了,就是极大无关组,我的这个程序把所有的基都写出来了,你只要选一个就可以,还对两种矩形的矩阵(例如2×3,3×2都测试了);如果谁会优化这个程序的会更好!代码如下:ji.m%A=[17241815%23571416%46132022%812264044]A=[1,0,1,2;2,0,2,4;1,-1,1,1…

大家好,又见面了,我是你们的朋友全栈君。

for i=n:-1:1

我明白了,就是极大无关组,我的这个程序把所有的基都写出来了,你只要选一个就可以,还对两种矩形的矩阵(例如2×3,3×2都测试了);如果谁会优化这个程序的会更好!

代码如下:ji.m

% A=[17 24 1 8 15

% 23 5 7 14 16

% 4 6 13 20 22

% 8 12 26 40 44]

A=[1, 0, 1, 2; 2, 0, 2, 4; 1, -1, 1, 1];

% A=[2 4 6 8;3 6 9 12]

%

A=[1 2 1;

% 0 0 -1;

% 1 2 1;

% 2 4 1];% A的三组测试数据

r=rank(A);

s1=size(A);

c=1:min(size(A));

combos=combntns(c,r);

s2=size(combos);

if s1(1)<=s1(2)

for

i=1:s2(1)

B(:,:,i)=A(combos(i,1:r),1:s1(2));

if rank(B(:,:,i))==r

C=B(:,:,i)

end

end

else

for

i=1:s2(1)

B(:,:,i)=A(1:s1(1),combos(i,1:r));

if rank(B(:,:,i))==r

C=B(:,:,i)

end

end

end

复制内容到剪贴板代码:

clc; clear all;

%% 矩阵预处理

A=[1, 0, 1, 2; 2, 0, 2, 4; 1, -1, 1, 1];

r = rank(A);

s1 = size(A);

c = 1 : min(size(A));

combos = combntns(c,r);

s2 = size(combos);

%% 求出极大线性无关组

if s1(1) <= s1(2)

for i = 1

: s2(1)

B(:, :, i) = A(combos(i, 1:r), 1:s1(2));

if rank(B(:, :, i)) == r

C = B(:, :, i);

end

end

else

for i = 1

: s2(1)

B(:, :, i) = A(1 : s1(1), combos(i, 1:r));

if rank(B(:, :, i)) == r

C = B(:, :, i);

end

end

end

%% 正规化

for i = 1 : size(C, 1)

a1 =

max(C(i, :));

for j = 1

: size(C, 2)

a1 = gcd(a1, C(i, j));

end

C(i, :) =

C(i, :) / a1;

end

%% 打印

fprintf(‘\n The Basis Vector of Martix : \n’)

disp(A);

fprintf(‘ is : \n\n’);

for i = 1 : size(C, 1)

if i

> 1 & i <= size(C,

1)

fprintf(‘ + \n’);

end

str =

sprintf(‘k%d*[‘, i);

fprintf(str);

for j = 1

: size(C, 2)-1

fprintf(‘%.3f, ‘, C(i, j));

end

fprintf(‘%.3f ]’, C(i, j+1));

end

fprintf(‘\n\n ki belong to R \n’);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139149.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm安装第三方库报错[通俗易懂]

    pycharm安装第三方库报错[通俗易懂]清华源网址https://pypi.tuna.tsinghua.edu.cn/simple/阿里源https://mirrors.aliyun.com/pypi/simple/删除一个源,保留另一个

    2022年8月26日
  • 面试官:你连RESTful都不知道我怎么敢要你?

    面试官:你连RESTful都不知道我怎么敢要你?干货,2019RESTful最贱实践

    2022年5月5日
  • java 设置环境变量

    java 设置环境变量安装JDK向导进行相关参数设置。如图:正在安装程序的相关功能,如图:选择安装的路径,可以自定义,也可以默认路径。如图:成功安装之后,进行测试是否真的成功安装,点击【开始】—-【运行】—-输入CMD,在命令提示符里面输入“Java-version”并按回车键,出现下图,即为安装成功。如图:下面开始配置环境变量,右击【我的电脑】

    2022年5月11日
  • 最低公共祖先java_满族的祖先是

    最低公共祖先java_满族的祖先是原题链接题目描述如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。输入格式第一行包含三个正整数 N,M,SN,M,S,分别表示树的结点个数、询问的个数和树根结点的序号。接下来 N-1N−1 行每行包含两个正整数 x, yx,y,表示 xx 结点和 yy 结点之间有一条直接连接的边(数据保证可以构成树)。接下来 MM 行每行包含两个正整数 a, ba,b,表示询问 aa 结点和 bb 结点的最近公共祖先。输出格式输出包含 MM 行,每行包含一个正整数,依次为每一个询问的结果。输入

    2022年8月8日
  • 怎么清除火狐浏览器的cookie?

    怎么清除火狐浏览器的cookie?

    2021年10月15日
  • java json对象转map_公司c#都转java了

    java json对象转map_公司c#都转java了JAVA之Map转JSONObjectshowmecode:privateJSONObjecttoJsonObj(Map<String,Object>map,JSONObjectresultJson){Iteratorit=map.keySet().iterator();…

    2022年10月5日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号