1

2 つのベクトルがあるとします。

A = [1 2 3];

B = [1 2];

A*Bそして、次の出力を生成するには、の乗算に似た関数が必要です。

[
  1 2 3
  2 4 6
]

要素の数が同じでないため、A*BA*B'またはのようなものは許可されていないようです。A.*B

私がこれを行うことができた唯一の方法 (私は MATLAB の初心者です) はndgrid、次のように同じ数の要素を持つ 2 つの行列を作成することです。

[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)

それにもかかわらず、実際の問題を適切に解決するためのより良い方法があるとしても、私の最初の質問に対する答えを知ることは興味深いでしょう.

4

1 に答える 1