vpasolve() gives wrong solution
3 ビュー (過去 30 日間)
古いコメントを表示
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.
0 件のコメント
採用された回答
Walter Roberson
2020 年 9 月 13 日
s = vpasolve(response == 0.1, 0.07)
2 件のコメント
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 件)
参考
カテゴリ
Help Center および File Exchange で Symbolic Math Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!