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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 无尽的忙碌换来幸福的日子「建议收藏」

    人总是忙碌的,从小要读书,长大了工作,结婚了,有孩子了,一辈子也可能等到孩子成家了才能稍微休息一下下吧,不过有时候想想,忙碌点好,一辈子也就那么长,等闭了后还能休息好久好久呢,何不忙碌点呢。从过年以后,一直忙碌着,忙撒呢,上班忙新网站改版,下班忙结婚,周末也忙结婚,几乎一天都没有消停过,老婆无数次问我累不累,我说不累,再累也觉得幸福,嘿嘿。感叹了一下,好久也没来了,最近工作上呢刚赶出来一个…

    2022年4月13日
    33
  • 讨喜的隔离可变性(五)同时使用多个角色

    讨喜的隔离可变性(五)同时使用多个角色

    2022年3月2日
    32
  • KAFKA删除topic步骤[通俗易懂]

    KAFKA删除topic步骤[通俗易懂]以下删除kafka主题的方法在Windows环境下测试通过

    2022年10月17日
    2
  • C语言的seekg函数,C++ seekg函数用法详解[通俗易懂]

    C语言的seekg函数,C++ seekg函数用法详解[通俗易懂]很多时候用户可能会这样操作,打开一个文件,处理其中的所有数据,然后将文件倒回到开头,再次对它进行处理,但是这可能有点不同。例如,用户可能会要求程序在数据库中搜索某种类型的所有记录,当这些记录被找到时,用户又可能希望在数据库中搜索其他类型的所有记录。文件流类提供了许多不同的成员函数,可以用来在文件中移动。其中的一个方法如下:seekg(offset,place);这个输入流类的成员函数的名字se…

    2022年4月29日
    179
  • win7下,令人头疼的 classpnp.sys (附带:安装系统时蓝屏;0x0000007b)。[通俗易懂]

    win7下,令人头疼的 classpnp.sys (附带:安装系统时蓝屏;0x0000007b)。[通俗易懂]前言:1.今天到单位,打开笔记本,发现启动后,程序报appcrash错误。于是重启,使用安全模式进入,发现启动中停在classpnp.sys上,然后程序就再也不往下走了。安全模式都进入不了系统,我还是第一次遇到!!万恶的win7。——————————————-

    2022年7月18日
    22
  • 虚拟机怎么安装win7系统教程_win10怎么安装虚拟机

    虚拟机怎么安装win7系统教程_win10怎么安装虚拟机虚拟机安装xp经验1.打开vm软件 2.创建虚拟机选中单个文件 用pe系统打开3.用驱动精灵创建2个分区50g50g(一定要创建2个gost版要在d盘分配文件夹的)分配8g内存4核cpu4.将系统安装到分区上 …

    2022年8月16日
    7

发表回复

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

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