Effacer les filtres
Effacer les filtres

'solve' Command - Only shows one value

3 vues (au cours des 30 derniers jours)
Cristian
Cristian le 18 Nov 2012
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
bym
bym le 18 Nov 2012
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
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

Community Treasure Hunt

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

Start Hunting!

Translated by