Is it overflow? Why equ2 is such complex?How can I get the root?

2 次查看(过去 30 天)
  2 个评论
John D'Errico
John D'Errico 2020-11-25
Would you PLEASE learn to use text, instead of pasting in a picture of your code????????
When you paste in a picture, you force anyone who wants to help you to retype your code from scratch.
And how is this question different from the last similar one you asked?
Walter Roberson
Walter Roberson 2020-11-25
equ3 involves the number 444.44 . In science, that means some undetermined value that is between 444435/1000 (inclusive) and 444445/1000 (exclusive) . It does not mean 44444/100 exactly, and MATLAB will not store 44444/100 exactly:
fprintf('%.999g\n', 444.44)
444.43999999999999772626324556767940521240234375
Considering that you have an indetermined number in your equations (whose range is known), it does not make sense to use solve(), as solve() is intended for calculating indefinitely precise closed-form solutions whenever possible. It is a "category error" to use a function intended for precision with input values that are known to not be precise.
You should be using vpasolve() instead, or you should be nailing down your coefficients to exact values, such as sym(400)/sym(9)

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by