の賢明なアプリケーションI引数として(1,3)ベクトル行 - インライン関数
a = [3;0.5;1];
b = 3 ;
f = @(x) x*a+b ;
を取るインライン関数fを定義したが、私はサイズ(N,3)
のマトリックスX
を有していると仮定する。 IはXの各列にfを適用する場合、私は単純に書くことができる:
f(X)
をIは、(X)はFを検証(N、1)f(X)(i) = f(X(i,:))
そのようなベクターです。
今、次の用語追加した場合:私はMATLABは入力として全体行列Xを検討して推測
Error using +
Matrix dimensions must agree.
Error in @(x) x*A*x' + x*a + b
:
f = @(x) x*A*x' + x*a + b ;
コマンドF(X)はエラーが発生します〜f。したがって、各行iがf(X(i、:))に等しいベクトルを作成しません。どうしたらいいですか?
私は私を助けることができる組み込み関数rowfun
が存在することが分かったが、唯一のバージョンで利用可能であるように思わ正しい、と期待されているr2016(私はバージョンr2015aを持っている)
'bsxfun'を試しましたか? – brainkz
私はドキュメントから理解したところから、bsxfuncはAのXの各要素(各行ではない)の二次形式を計算します – dada