'solve' Command - Only shows one value

3 次查看(过去 30 天)
Cristian
Cristian 2012-11-18
Hi,
In another pc where I test this line:
double(solve('1=2.*sin(m)'))
Return values are 0.5236 and 2.6180. However, in my computer only returns the 0.5236 value. How I show the second value?
Thank you.
  4 个评论
bym
bym 2012-11-18
the documentation says the string can not contain an equals sign. Here are my results (R2008b)
solve('1-2*sin(x)')
ans =
pi/6
(5*pi)/6
Walter Roberson
Walter Roberson 2012-11-18
The equals sign can appear in modern MATLAB.

请先登录,再进行评论。

回答(2 个)

Walter Roberson
Walter Roberson 2012-11-18
MATLAB 7.0 used Maple for its Symbolic Mathematics Toolbox. Maple only bothers to find a single value in this situation. When Maple is asked to find AllSolutions, it says they are
(1/6)*Pi + (2/3)*Pi*_B1 + 2*Pi*_Z1
The way to read this is that _B1 can be 0 or 1, and _Z1 is any integer (positive or negative). So solutions are at
[...], -11*Pi/6, -7*Pi/6, Pi/6, 5*Pi/6, 13*Pi/6, 17*Pi/6, [...]

bym
bym 2012-11-18
try this (without using string input)
syms t
>> double(solve(1-2.*sin(t)))
ans =
0.5236
2.6180
  5 个评论
Walter Roberson
Walter Roberson 2012-11-18
Which MATLAB version are you using?

请先登录,再进行评论。

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by