how can I solve this problem..
1 回表示 (過去 30 日間)
古いコメントを表示
syms theta0
th = -y+cos(theta0)*x^2-g*x^2/(2*v0^2*sin(theta0)^2) == 0;
theta0 = [0 pi];
stheta0 = fzero(th,theta0);
I want to get two roots for theta0 but when I erased 'theta0 = [0 pi]' , it was too complicated.
0 件のコメント
回答 (1 件)
John D'Errico
2021 年 4 月 20 日
編集済み: John D'Errico
2021 年 4 月 20 日
Um, what do you expect?
syms theta0
x=90; g=9.81; v0=30; y0=1.8; y=1;
th = -y+tan(theta0)*x-g*x^2/(2*v0^2*cos(theta0)^2)+y0;
pretty(th)
Do you expect an analytical solution, something nice and simple and very pretty?
thsol = solve(th)
You should be able to effectively reduce this to effectively a 4th degree polynomial in terms of sin(theta0), so 4 roots.
vpa(thsol)
There are probably infinitely many solutions since trig functions are periodic. I don't see how much better than that you can rationally expect? Honestly, I'd say you are pretty lucky, in that solutions are easily generated\. Just pick the one that makes sense to you.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Number Theory についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!