搜索
编程论坛
→
技术综合
→
『 Matlab 』
→ [求助]给定矩阵A,如何用matlab求解出所有的最高阶非零子式
标题:
[求助]给定矩阵A,如何用matlab求解出所有的最高阶非零子式
只看楼主
gaoy1
等 级:
新手上路
帖 子:3
专家分:0
注 册:2013-7-2
结帖率:
100%
楼主
已结贴
√
问题点数:20 回复次数:5
[求助]给定矩阵A,如何用matlab求解出所有的最高阶非零子式
给定矩阵A,如何用matlab编程求解出所有的最高阶非零子式?
搜索更多相关主题的帖子:
matlab
如何
2013-07-02 08:39
cuirun
等 级:
论坛游民
帖 子:18
专家分:64
注 册:2006-4-6
第
2
楼
得分:20
A=[ 1 -2 2 3;
-2 4 -1 3;
-1 2 0 3;
0 6 2 3;
2 -6 3 4];
[R,C] = size(A);
Rank = rank(A);
count = 0;
for i = 1 : R-Rank+1
for j = 1 : C-Rank+1
B = A(i:i+Rank-1,j:j+Rank-1);
if rank(B)>0
B
count = count + 1;
end
end
end
count
2013-07-08 15:10
gaoy1
等 级:
新手上路
帖 子:3
专家分:0
注 册:2013-7-2
第
3
楼
得分:0
非常感谢
2013-07-09 22:58
gaoy1
等 级:
新手上路
帖 子:3
专家分:0
注 册:2013-7-2
第
4
楼
得分:0
其实有问题,秩如果是k,2楼的程序算的只是连续k行连续k列非零子式,实际上需要算的是任意k行k列的非零子式。
if rank(B)>0 改为 if det(B)~=0,B后加一行det(B)。
[
本帖最后由 gaoy1 于 2013-7-10 00:30 编辑
]
2013-07-10 00:26
cuirun
等 级:
论坛游民
帖 子:18
专家分:64
注 册:2006-4-6
第
5
楼
得分:0
回复 4楼 gaoy1
确实有问题 感谢你的建议
2013-07-11 10:23
cuirun
等 级:
论坛游民
帖 子:18
专家分:64
注 册:2006-4-6
第
6
楼
得分:0
修改了一下 这样应该可以:
A=[ 1 -2 2 3;
-2 4 -1 3;
-1 2 0 3;
0 6 2 3;
2 -6 3 4];
[R,C] = size(A);
Rank = rank(A);
count = 0;
for i = 1 : R-Rank+1
for j = 1 : C-Rank+1
B = A(i:i+Rank-1,j:j+Rank-1);
if rank(B) == Rank
B
count = count + 1;
end
end
end
count
2013-07-11 10:24
6
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-416486-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.478080 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved