在用matlab实现矩阵重构时遇到了一个问题,例如已知矩阵[1 2;3 4],将左列1、3看为重建元素参与重构,可以补到任一行的左边,空白处用0代替,共有4种结果:
[1 2;3 4];
[3 2;1 4];
[3 1 2;0 0 4];
[0 0 2;1 3 4];
想知道如何通过matlab实现这种结果?
如何实现变维度的矩阵排列重构?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
技术专家团-Joel 2021-10-10 17:12关注你好哦,同学,我想到了一种办法,你看看:
A=[1,2; 3,4]; n = size(A,1); for i = 1:1:n for j = 1:1:n left = zeros(n,1); left(i) = A(j,1); A0 = A; A0(j,1)=0; B = [left, A0] end end最后得到四种结果:
B = 1 0 2 0 3 4 B = 3 1 2 0 0 4 B = 0 0 2 1 3 4 B = 0 1 2 3 0 4本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用