'solve' Command - Only shows one value

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 commentaires

I get an error:
Error using solve>processString (line 337)
' 1=2.*sin(m) ' is not a valid expression or equation.
What is your MATLAB version?
Cristian
Cristian le 18 Nov 2012
Modifié(e) : Cristian le 18 Nov 2012
My error. Excuse me.
double(solve('1=2*sin(m)'))
Without the dot.
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 le 18 Nov 2012
The equals sign can appear in modern MATLAB.

Connectez-vous pour commenter.

Réponses (2)

Walter Roberson
Walter Roberson le 18 Nov 2012
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 le 18 Nov 2012
try this (without using string input)
syms t
>> double(solve(1-2.*sin(t)))
ans =
0.5236
2.6180

5 commentaires

Hi.
This line produces me the same output as the first code.
>> syms t;
>> double(solve(1-2.*sin(t)))
ans =
0.5236
Another question. What is the function of syms t?
Thanks.
syms t % constructs a symbolic object
what does
solve(1-2*sin(t))
return?
This:
>> solve('1-2*sin(t)')
ans =
1/6*pi
Walter Roberson
Walter Roberson le 18 Nov 2012
Which MATLAB version are you using?
Cristian
Cristian le 18 Nov 2012
Version 7.0

Connectez-vous pour commenter.

Produits

Question posée :

le 18 Nov 2012

Community Treasure Hunt

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

Start Hunting!

Translated by