具有元素计算的矩阵运算符

时间:2016-10-12 03:37:08

标签: matlab

如果我有[1 2 3]并且我需要将它乘以[2 3 4]以使数组[1 * 2 2 * 3 3 * 4],我该怎么做?

我似乎无法[1 2 3] * [2 3 4] = [1 * 2 2 * 3 3 * 4]

我的实际问题是:

At=sum(abs([1 2 3].*exp(i.*[4 5 6])))

尝试在总和中用bsxfun重写它,但是我得到一个关于元素不足的错误。它适用于[1x1]和[1x1],但我尝试使用[1x6000]和[1x6000],AT等于一个值。不确定总和是否有好主意。

我将如何进行上述操作以使1和4一起受影响,2和5一起受影响,3和6一起受影响,以便' At'给出3x1或1x3阵列?

非常感谢你!

编辑:好的,似乎指数函数"工作"。

无法正常工作的是,它可以将所有内容添加到一起,也可以创建两倍于我需要的解决方案。

如果我提供这种信息:

 A1=[1 2]

 A2=[1 2]

 p=[0.1 0.2]

 p=[0.1 0.2]

>> [At] = somme_signaux([A1 A2],[p1 p2]);
>> At
At =    1.0000    2.0000    1.0000    2.0000

我将得到4个没有总和的答案。我需要2个答案(第一个和第二个答案加在一起(1 + 2),第三个和第四个答案加在一起(1 + 2))到2×1矩阵。

1 个答案:

答案 0 :(得分:2)

我真的没有问题吗? .*可用于逐元素乘法,即

>> [1 2 3].*[2 3 4]

ans =

     2     6    12

此外,具有复指数的代码对我有效。