Solving for theta at different time steps
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have the following equation:
47.9618*theta + 15.9809*sin(2*theta) = 20.780136*t
Given, at time t = 0, theta = 0 radians. I want to find theta value at t = 1 second, 2 seconds, etc.
Could this be automated on matlab?
0 commentaires
Réponse acceptée
James Tursa
le 5 Juil 2017
Modifié(e) : James Tursa
le 5 Juil 2017
E.g.,
>> t = 0;
>> f = @(theta) 47.9618*theta + 15.9809*sin(2*theta) - 20.780136*t;
>> fzero(f,0)
ans =
0
>> t = 1;
>> f = @(theta) 47.9618*theta + 15.9809*sin(2*theta) - 20.780136*t;
>> fzero(f,0)
ans =
0.2649
>> t = 2;
>> f = @(theta) 47.9618*theta + 15.9809*sin(2*theta) - 20.780136*t;
>> fzero(f,0)
ans =
0.5651
3 commentaires
James Tursa
le 5 Juil 2017
Modifié(e) : James Tursa
le 5 Juil 2017
https://www.mathworks.com/help/matlab/matlab_prog/anonymous-functions.html?searchHighlight=anonymous%20function&s_tid=doc_srchtitle
Plus de réponses (1)
Walter Roberson
le 5 Juil 2017
Modifié(e) : Walter Roberson
le 5 Juil 2017
There is no closed form solution for that. Use fzero or fsolve:
eqn = @(theta,t) 47.9618*theta + 15.9809*sin(2*theta) - 20.780136*t;
for t = 1 : 5
theta0 = randn()
fzero( @(theta) eqn(theta,t), theta0)
end
0 commentaires
Voir également
Catégories
En savoir plus sur Functions dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!