Borrar filtros
Borrar filtros

Nonscalar arrays of function handles are not allowed; use cell arrays instead.

3 visualizaciones (últimos 30 días)
a_vec=[0.020 0.025 0.030];
for i=1:length(a_vec)
dP_dt_1(i)=@(P) (a_vec(i).*P)-(b.*P.^2);
[t_ode45_vec_1,y_ode45_vec_1] = ode45(@(P,t) dP_dt_1(t),[t_0 t_max],P_0);
figure(5)
plot(t_ode45_vec_1,y_ode45_vec_1)
hold on
end
Hi everyone, when I try to run this piece of code, I get an error :
Nonscalar arrays of function handles are not allowed; use cell arrays instead.
How can I resolve this error?
Thanks in advance!

Respuesta aceptada

James Tursa
James Tursa el 28 de Abr. de 2020
You don't need to create an array of function handles. You just need to construct one function handle to use for that iteration. So just
dP_dt_1 = @(P) (a_vec(i).*P)-(b.*P.^2);

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by