2014年8月30日土曜日

Octaveで行列の各要素に対する計算をしたら warning: product: automatic broadcasting operation applied が出る

Octaveでは、行列の各要素に対して処理を行う場合、以下の用に 「.」を使って表現出来る。

すべての要素に3をかける

> A .* 3

でもこれやると、warning: product: automatic broadcasting operation applied と出るのだ。

以下の、bsxfun を使うと良い。

bsxfun(fun,A,B)

http://www.mathworks.co.jp/jp/help/matlab/ref/bsxfun.html

たとえば A .* 3 を書き直すと


> bsxfun(@times, A, 3)

となる。

0 件のコメント:

コメントを投稿