Hi, I have a conditional inside the for loop, the conditional changes the function in each loop, but first i get the error “qxloc is not defined” so add qxloc (x) = nothing;

but this does not solve the problem and the conditional does not work.

for e = 1:3
#x1 = xnod[LaG[e,NL1], X]; x2 = xnod[LaG[e,NL2], X]
#y1 = xnod[LaG[e,NL1], Y]; y2 = xnod[LaG[e,NL2], Y]
#L = hypot(x2-x1, y2-y1)
ang1 = atan(2,4);
if e == 1
qxloc(x) =-2.8*sin(ang1)*cos(ang1)
qyloc(x) =-2.8*cos(ang1)^2
elseif e == 2
qxloc(x) = -2*cos(ang1)^2
qyloc(x) = 0
elseif e == 3
qxloc(x) = 0
qyloc(x) = 0
end
#load the function
plot_deformada(qxloc,qyloc,)
end

Hi, It is a for loop with 3 different elements, in each element the qxloc and qyloc function changes because it is used in a BVProblem function for different conditions.

the function where change this parameter (qxloc, qyloc) is:

function diffeq1!(dydx,y,x,p)
# y[v_,:] = v
dydx[v_] = y[t_] # = theta
dydx[t_] = y[M_]/(E*I) # = M/(EI)
dydx[M_] = y[V_] # = V
dydx[V_] = qyloc(x) # = qyloc
dydx[u_] = y[fax_]/(A*E) # = u
dydx[fax_] = -qxloc(x) # = faxial
end