【发布时间】:2014-04-30 14:46:28
【问题描述】:
这是问题Merge two arrays Matlab的更新版本
假设现在两个数组是
A1 = [x1 y1
x2 y2
x3 y3
0 0
0 0
0 0
0 0
0 0
]
和
A2 = [a1 b1
a2 b2
a3 b3
a4 b4
0 0
0 0
0 0
]
现在,如何以最短的方式合并 A1 和 A2,这样
A = [x1 y1
x2 y2
x3 y3
a1 b1
a2 b2
a3 b3
a4 b4
0 0]
之前的答案是正确的,它删除了所有的零。但是如何通过 indexing 以最短的方式实现这一点,类似于之前的答案?
更新:
这是我尝试过的 使用上一个问题的答案
A=[A1(max(A1')>0,:);A2(max(A2')>0,:)]
A = padarray(A,[size(A1,1) - size(A,1) 0],'post')
这很简单,但正如我在问题中明确提到的那样,是否有像上一个问题一样可以实现这一目标的单行答案或命令?我的主要目标是扩展我的知识库,了解如何有效地利用 matlab 的索引优势,并为遇到这个问题的其他人以及可能有很多建议的人提供指导。
谢谢, LN
【问题讨论】:
-
最后零的数量是如何确定的?
-
只有A1大小。请检查 A1 和 A2 的尺寸。
-
好吧,这看起来像是您之前问题的一个非常微不足道的扩展。你为什么不自己想办法解决,然后在这里问是否有问题?
-
我试过了,还有很长的路要走。我是这个@Acorbe 的新手,exp 索引数组并且面临截止日期。所以无法尝试新事物。很抱歉,如果我要求太多。
-
请检查编辑@Peter 我希望能够说服你们我尝试了一些东西。