【发布时间】:2016-07-12 15:01:40
【问题描述】:
问题
是否有一种巧妙的方法来添加列长度不同的数组/向量,只需向太短的列添加零?我有包含多个变量的加法/减法。
这样:
a=[ 1; 2; 3]; b=[1;5]
a+b=[2; 5; 3]
或:
a-b=[0;-3;3]
代替:
使用 + 时出错 矩阵尺寸必须一致。
我做了什么
b(numel(a),1) = 0;
如果添加一些变量,这可以正常工作,但是在重复多个变量时这会很烦人,尤其是如果您不知道哪一列最长。因此,是否有更简单快速的方法来添加不同的列长度的问题。
编辑
问题真的是,是否有一种方法可以自动执行此操作,因为它具有多个“仅几个”变量。
【问题讨论】:
-
通常,您只需创建一个函数说:“MyAdd”并在其中写入所有进程,这样您就不必每次都编写它......
-
@BlackAdder 我正在寻找一种聪明的方法,而不仅仅是手动添加零
-
为什么不创建一个函数?
-
一种方法是将它们保存到一个单元格数组中,然后使用 bsxfun 的屏蔽功能创建一个常规的 2D 数组,然后进行求和、减法等任何操作,如下所示:
Adding 0's to cell array ...。跨度>