假设我有两个向量:
A = [1 2 3];
B = [1 2];
我需要一个类似于乘法的函数A*B
来产生以下输出:
[
1 2 3
2 4 6
]
似乎A*B
, A*B'
or之类的东西A.*B
是不允许的,因为元素的数量不一样。
我设法做到这一点的唯一方法(我在 MATLAB 上很新)是ndgrid
用来制作两个具有相同数量元素的矩阵,如下所示:
[B1,A1] = ndgrid(B, A);
B1.*A1
ans =
1 2 3
2 4 6
如果元素数量很大,这会有很好的性能吗?在 MATLAB 中有没有更好的方法来做到这一点?
实际上我正在尝试用 MATLAB 解决以下问题:
t = [1 2 3]
y(t) = sigma(i=1;n=2;expression=pi*t*i)
尽管如此,即使有更好的方法来解决实际问题,知道我的第一个问题的答案也会很有趣。