Matlab 基于元素计算的矩阵算子

Matlab 基于元素计算的矩阵算子,matlab,Matlab,如果我有[1 2 3],我需要分别乘以[2 3 4]来生成数组[1*2 2*3 3*4],我该怎么做 我好像做不到[1 2 3]*[2 3 4]=[1*2 2*3*4] 我的实际问题是: At=sum(abs([1 2 3].*exp(i.*[4 5 6]))) 尝试在总和中使用bsxfun重写它,但我得到一个关于元素不足的错误。它适用于[1x1]和[1x1],但我尝试了[1x6000]和[1x6000],AT等于一个值。我不确定这个总数是否是个好主意 我如何执行上述操作,使1和4一起受影响,

如果我有[1 2 3],我需要分别乘以[2 3 4]来生成数组[1*2 2*3 3*4],我该怎么做

我好像做不到[1 2 3]*[2 3 4]=[1*2 2*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个没有总和的答案。我需要两个答案(第一个和第二个答案加在一起(1+2),第三个和第四个答案加在一起(1+2))到一个2乘1的矩阵中。

我真的不明白你的问题吗
*
可用于元素乘法,即

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

ans =

     2     6    12

此外,带有复数指数的代码对我也很有用。

我真的不明白你的问题吗
*
可用于元素乘法,即

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

ans =

     2     6    12

另外,带复数指数的代码对我也很有用。

>At=sum(abs([1 2 3].*exp(i.[4 5 6]))At=6I需要At是3个数字,而不是一个。求和时你期望什么?您有一个由三个值组成的数组的和。>>At=sum(abs([1 2 3].*exp(i.[4 5 6]))At=6I需要At是三个数字,而不是一个。求和时您希望得到什么?你有一个由三个值组成的数组的和。显然,当对一个向量求和时,你只得到一个值,而这个向量是
sum
的输入-这就是它的工作原理。我不明白你想要什么。请更新您的问题,包括预期输入和预期输出的演示。请准确显示不同形状(列向量、行向量2d数组或任何您需要的)输入所需的
A1、A2、At
值(首先在第一个示例中添加正确的
At
)。显然,当对向量求和时,只有一个值作为
sum
的输入-这就是它的工作原理。我不明白你想要什么。请更新您的问题,包括预期输入和预期输出的演示。请准确显示不同形状(列向量、行向量2d数组或任何您需要的)输入所需的
A1、A2、At
值(首先在第一个示例中添加正确的
At
)。