How does 'subs' in MATLAB work with negative large fractional number?

1 次查看(过去 30 天)
syms x y A A=x^2*y; subs(A,{x y},{4 2e-8})
ans =
3022314549036573/9444732965739290427392 ----- wrong result!!!
syms x y A A=x^2*y; subs(A,{x y},{4 2e8})
ans =
3200000000 ------ correct result!!
How do I resolve this type of problem? Please help.

采纳的回答

Mischa Kim
Mischa Kim 2015-4-19
Rahul, the first result is correct as well. MATLAB simply outputted the result as a fraction. Use
double(subs(A,{x y},{4 2e-8}))
ans =
3.200000000000000e-07
which is the same as
3022314549036573/9444732965739290427392
ans =
3.200000000000000e-07

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Symbolic Variables, Expressions, Functions, and Preferences 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by