2012-04-28 10 views
3

Aramadilloは、要素的な操作、例えばbsxfun(@マイナス、A、B)を実行するmatlabのbsxfunと同等の汎用性を持っていますか? Armadilloには要素的な乗算と除算がありますが、一般化された関数が利用できるという指標はありません。C++ Armadillo:Matlabのbsxfunに相当する

+0

Um、bsxfunの目的は、行列のすべての要素に対して演算を実行することではありません。それはそうではありません。あなたはarrayfunやcellfunを考えているかもしれません。 –

+0

Hmmm ...多分私の定義はかなり正しくはなかった。私の理解はbsxfun(@マイナス、A、B)はAとBの対応する要素の要素ごとの減算を実行します。明らかに私はループの2倍のためだけで、Armadilloには要素の賢明な乗算と除算があります私はより一般的なbsxfun型演算子を見ることができません。 – oracle3001

+0

Sigh。しかし、それはあなたが求めているものではありませんでした!あなたは、配列のすべての要素を操作する関数を求めました。あなた自身の質問を読んでください。 BSXFUNは、2つの異なる配列で配列要素の特定のペア間の二項演算を実行します。それであなたは本当に何を望んでいるのですか? –

答えて

3

正確にはbsxfun()ではなく、Armadillo 3.4+に追加された2つの新しい関数が質問に関連しています:.each_col()と.each_row()です。それらは与えられたベクトル演算が行列の各列/行に対して繰り返されることを可能にする。これには、加算、要素ごとの乗算などが含まれます。