Getting an error using theta
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
running this code:
function [tvals, wvals] = RK4SYS(rhsf,init_t, init_y, stop_t, Nsteps)
h=(stop_t-init_t)/Nsteps;
tvals(1)=init_t;
wvals(:,1)=init_y;
for index=1:Nsteps
tvals(index+1)=tvals(index)+h;
k1=h*rhsf(tvals(index),wvals(:,index));
k2=h*rhsf(tvals(index)+h/2,wvals(:,index)+k1/2);
k3=h*rhsf(tvals(index)+h/2,wvals(:,index)+k2/2);
k4=h*rhsf(tvals(index)+h,wvals(:,index)+k3);
wvals(:,index+1)=wvals(:,index)+(k1/6+k2/3+k3/3+k4/6);
end
end
trying to do:
Rhsprob=@ (t,U)[U(2),-32.17/2*sin(theta )]
initU1=[pi/6 ; 0]
tv, wv] = RK4SYS(Rhsprob,0, initU1, 2, 5);
but i get an error when doing this line says theta requires something and error in line 15 of my code
1 commentaire
Réponses (1)
Steven Lord
le 21 Avr 2023
Rhsprob=@ (t,U)[U(2),-32.17/2*sin(theta )]
Nowhere in the code you posted before this line do you define a variable named theta. So if I were to try to call this anonymous function:
Rhsprob(0, [1; 2])
MATLAB doesn't know what theta means in this context and so correctly throws an error alerting you to that fact. I don't know what theta means in this context either so I can't tell you how to correct the code.
3 commentaires
Walter Roberson
le 21 Avr 2023
Yes, but what is theta ?
If you are trying to create an ODE in terms of θ and
then the θ to be used in the function handle would be one of the state variables, either U(1) or U(2)
Voir également
Catégories
En savoir plus sur Function Handles 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!