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.

 채택된 답변

Walter Roberson
Walter Roberson 2020년 9월 13일

1 개 추천

s = vpasolve(response == 0.1, 0.07)

댓글 수: 2

John Arbolino
John Arbolino 2020년 9월 17일
This works thanks! Where is the default starting value, because I assumed it would be zero.
Walter Roberson
Walter Roberson 2020년 9월 17일
I think the default start is 0. However, 0 is not a good starting point for this particular equation.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

제품

릴리스

R2019a

태그

질문:

2020년 9월 13일

댓글:

2020년 9월 17일

Community Treasure Hunt

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

Start Hunting!

Translated by