私は MATLAB の初心者で、友人が宿題の問題について助けを求めてきました。ドキュメントと推測とチェックをいじるだけで答えを思いつきましたが、誰かが私にもっと良い方法を教えてくれることを望んでいました.
セットアップは次のとおりです。テーブルが提供されます
x y z
x_1 y_1 z_1
x_2 y_2 z_2
x_3 y_3 z_3
x_4 y_4 z_4
これをマトリックスに格納しましたM
。MATLAB でまだ定義されていない関数 $f(x,y,z)=x^2+yz^3$ があり、列ベクトルを取得したい
[ f(x_1, y_1, z_1)
f(x_2, y_2, z_2)
f(x_3, y_3, z_3)
f(x_4, y_4, z_4) ]
この問題は、単一の式で達成する必要があると述べています。
私が思いついた解決策は
arrayfun(@(x,y) x^2+y-z^3, M(:,1), M(:,2), M(:,3))
(MATLAB ではなく) プログラマーとして、私はこの解決策がごみのように見えると言います。MATLABでこれを行うためのより良い/より受け入れられる方法はありますか?