vpasolve() gives wrong solution

4 visualizaciones (últimos 30 días)
John Arbolino
John Arbolino el 13 de Sept. de 2020
Comentada: Walter Roberson el 17 de Sept. de 2020
I am trying to find the time at which my equation equals a value, but whenever I use vpasolve I am given a completely wrong answer of a negative time value. When I also add t>0 it gives no answer even though the function does equal that value at some positive t value.
syms s t
y(s) = 36/(s*(s^2+2*s+36));
response(t) = ilaplace(y(s))
s = vpasolve(response == 0.1)
st = vpasolve(response == 0.1, t>0)
response(s)
response(t) =
1 - exp(-t)*(cos(5.9161*t) + 0.1690*sin(5.9161*t))
s =
-226.9853
st =
Empty sym: 0-by-1
ans =
-1.0328e+62
You can see that when I try and use solve() without a specific time domain, I receieve a value S that when I plug back into response() is wildly off the value I am looking for. I know for a fact that the function response(t) does cross the value 0.1 in the positve time domain, I have graphed it.

Respuesta aceptada

Walter Roberson
Walter Roberson el 13 de Sept. de 2020
s = vpasolve(response == 0.1, 0.07)
  2 comentarios
John Arbolino
John Arbolino el 17 de Sept. de 2020
This works thanks! Where is the default starting value, because I assumed it would be zero.
Walter Roberson
Walter Roberson el 17 de Sept. de 2020
I think the default start is 0. However, 0 is not a good starting point for this particular equation.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Symbolic Math Toolbox en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by