arrays - 更新: Merge two arrays Matlab

标签 arrays matlab

这是问题 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]

之前的答案是正确的,它删除了所有零。但是如何通过索引以最短的方式实现这一点,类似于之前的答案?

更新:

这是我尝试过的 使用上一个问题的答案

    A=[A1(max(A1')>0,:);A2(max(A2')>0,:)]
    A = padarray(A,[size(A1,1) - size(A,1) 0],'post')

这是非常微不足道的,但正如我在问题中明确提到的那样,是否有一个单行答案或一个命令可以像上一个问题一样实现这一点?我的主要目的是扩展我的知识库,了解如何有效地利用 matlab 的索引优势,并为其他遇到这个问题的人提供指南,并提供许多建议。

谢谢, 闪电网络

最佳答案

怎么样:

A2(length(A1),2) = 0;
A = A1 + circshift( A2,find(A1(:,1),1,'last'))

关于arrays - 更新: Merge two arrays Matlab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23391249/

相关文章:

ruby - 如何对 Ruby 数组中的相同元素进行分组

matlab - 根据 Matlab 中函数的值过滤矩阵行

performance - 使用符号或数值方法加速 Matlab 积分计算?

MATLAB:如何在有向图中找到任何循环中的节点?

c# - 在 C# 方法中返回 bool 值

c - 嵌入式 C 编程 - 瑞萨电子

java - 如何获取用于制作大字节数组的实际字节?

php - 从数组中删除第 n 个元素并重新索引它

matlab - 如何正确存储与 parfor 一起使用的变量?

string - 如何在 MATLAB 中将元胞数组转换为数值