如果我有[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矩阵。
答案 0 :(得分:2)
我真的没有问题吗? .*
可用于逐元素乘法,即
>> [1 2 3].*[2 3 4]
ans =
2 6 12
此外,具有复指数的代码对我有效。