Error: variable might be used before it is defined.

Risposte (2)

Ruchika
Ruchika il 11 Ago 2023
Spostato: Image Analyst il 11 Ago 2023
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 il 11 Ago 2023
Modificato: VBBV il 11 Ago 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 Commenti

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,
@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 il 11 Ago 2023
Modificato: Torsten il 11 Ago 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 il 11 Ago 2023
Modificato: Fareeha il 11 Ago 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);
If you have an initial vector of length 8, you must return a dydt vector of length 8.

Accedi per commentare.

Categorie

Scopri di più su Argument Definitions in Centro assistenza e File Exchange

Prodotti

Release

R2018a

Tag

Richiesto:

il 11 Ago 2023

Commentato:

il 11 Ago 2023

Community Treasure Hunt

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

Start Hunting!

Translated by