matlab function "solve" couldn't solve correctly

syms x;
g=x.^2-sin(x+0.15);
s=solve(g==x)
hold on;
fplot(g);
fplot(x);
As above, the equation "x.^2-sin(x+0.15)==x" should have 2 answers. I can tell from the plot of g and x.
gx.png
While using the function " solve ", i could only get one answer as below.
Warning: Unable to solve symbolically. Returning a numeric approximation instead.
> In solve (line 304)
In test (line 3)
s =
-0.07234414896484352635594864867791
Does it happen when "solve" Unable to solve symbolically, or is there something with my way of solving this problem. Thank you guys in advance.

 採用された回答

madhan ravi
madhan ravi 2019 年 5 月 15 日

0 投票

fsolve(matlabFunction(g-x),[-1,2])
% you can also use vpasolve() with random set to true in a loop to see the possibilities

1 件のコメント

jialin zhang
jialin zhang 2019 年 5 月 15 日
it works!!!!!! thank you very much. btw, i tried vpasolve() and it doesn't solve correctly as well. Seemed like fsolve() works better on this equation.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSymbolic Math Toolbox についてさらに検索

製品

リリース

R2017b

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by