Getting an error using theta

7 visualizaciones (últimos 30 días)
allison
allison el 21 de Abr. de 2023
Comentada: Image Analyst el 21 de Abr. de 2023
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 comentario
Walter Roberson
Walter Roberson el 21 de Abr. de 2023
Where do you define a value for theta?

Iniciar sesión para comentar.

Respuestas (1)

Steven Lord
Steven Lord el 21 de Abr. de 2023
Rhsprob=@ (t,U)[U(2),-32.17/2*sin(theta )]
Rhsprob = function_handle with value:
@(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])
Unrecognized function or variable 'theta'.

Error in solution>@(t,U)[U(2),-32.17/2*sin(theta)] (line 1)
Rhsprob=@ (t,U)[U(2),-32.17/2*sin(theta )]
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 comentarios
Walter Roberson
Walter Roberson el 21 de Abr. de 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)
Image Analyst
Image Analyst el 21 de Abr. de 2023
Looks like @allison posted a separate question with more details.

Iniciar sesión para comentar.

Categorías

Más información sobre Function Handles en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by