2016-10-25 12 views
0

は、私は上記の2つの方程式と手で2つの未知数を解くmatlabで非線形方程式系をどのように解いていますか?

f(x,y) = (y-2)ln(xy) 

diff(f,x) = (y - 2)/x = 0 
diff(f,y) = log(x*y) + (y - 2)/y = 0 

の重要な値を見つけるためにMATLABを使用しようとしています、私は、x = 1/2とy = 2を取得しかし、どのように、私はにMATLABを得るのですかこの結果をもたらすか?

fsolveまたはfzeroのいずれかを使用する必要がありますが、わかりません。

答えて

1

あなたが本当にfsolveはとそれを解決したい場合は、あなたができる:

o = optimoptions('fsolve','MaxFunEvals',1e5,'MaxIter',1e5); 

x0 = [.9;2.1]; % Note this IS SENSITIVE to the starting location! 

f = @(x) [(x(2) - 2)/x(1); log(x(2)) + log(x(1)) + 1 - 2/x(2)]; 
x = fsolve(f,x0, o) 
関連する問題