次の問題があります。ベクトルである関数ハンドルを作成しようとしています。特に、私はこのようなものを持っています
EQ0 = @(W) m1.^2*(exp(W))-m2.^2
ここで、m1 と m2 は同じ次元のベクトルです。したがって、各 m1(i) および m2(i) に対して、ハンドル W(i) が必要です。次のステップで fsolve を使用して、次のような W(i) を見つけるために必要です。
n=size(m1)
x0 = zeros(n);
Wbar = fsolve(EQ0,x0)
arrayfun を使用してみましたが、次のエラーが発生しました
EQ0 = arrayfun( @(W) m1.^2*(exp(W))-m2.^2, m1=m1e, m2=m2e)
Error: The expression to the left of the equals sign is not a valid target for an assignment.
arrayfun を使用する別の試みは、これをもたらしました (ここでは、前のケースのように入力としてではなく、m1 および m2 ベクトルを直接使用しました)
EQ0 = arrayfun( @(W) m1.^2*(exp(W))-m2.^2,:)
Undefined variable arrayfun.
私は明らかに何かが欠けています。arrayfun のいくつかのフィードを調べましたが、私の問題は多少異なるようです。
アドバイスをいただければ幸いです。