Error: variable might be used before it is defined.

Réponses (2)

Ruchika
Ruchika le 11 Août 2023
Déplacé(e) : Image Analyst le 11 Août 2023

1 vote

The error message "variable might be used before it is defined" typically occurs when you're trying to use a variable before it has been assigned a value or initialized. This error can often be resolved by ensuring that you define or initialize your variables properly before using them in your MATLAB code. In this code, 'yy3' has been used to initialise 'yy2' before being initialised itself. You want to have an initial value for 'yy3' before using it to resolve this error.
VBBV
VBBV le 11 Août 2023
Modifié(e) : VBBV le 11 Août 2023
Change this line
yy2 = Pr*(y(4)*y(2)-y(1)*y(5)-Df*yy3-Nb*y(5)*y(7)-Nt*y(5)^2)
to
yy2 = Pr*(y(4)*y(2)-y(1)*y(5)-Df*y(3)-Nb*y(5)*y(7)-Nt*y(5)^2)
% ^^

6 commentaires

VBBV
VBBV le 11 Août 2023
yy3 has been used even before its defined a finite value. Matlab doesnt recognize any undefined variables in a program and throws error as soon as code attempts to call that variable,
Fareeha
Fareeha le 11 Août 2023
@VBBV yy3 cannot be replaced by y(3), they are totally different.
Then give yy3 a value before you use it in that line of code.
Torsten
Torsten le 11 Août 2023
Modifié(e) : Torsten le 11 Août 2023
Insert the expression for yy2 in the equation for yy3. Then this equation will only depend on yy3 and you can solve for it.
Fareeha
Fareeha le 11 Août 2023
Modifié(e) : Fareeha le 11 Août 2023
@Torsten I tried it and get this error
Error using bvparguments (line 108)
Error in calling BVP5C(ODEFUN,BCFUN,SOLINIT):
The derivative function ODEFUN should return a column vector of length 8.
Error in bvp5c (line 137)
bvparguments(solver_name,ode,bc,solinit,options);
Error in SAD_Sol_bvp4c (line 17)
sol = bvp5c(@bvp2D, @bc2D, sol1);
Torsten
Torsten le 11 Août 2023
If you have an initial vector of length 8, you must return a dydt vector of length 8.

Connectez-vous pour commenter.

Produits

Version

R2018a

Tags

Question posée :

le 11 Août 2023

Commenté :

le 11 Août 2023

Community Treasure Hunt

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

Start Hunting!

Translated by