General questions about function and if command.
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
1. If I have a variable x, and I use a nested function f and in f.m, there is also a variable x but not equal to the first x. Will it bother the program? The x's are defined in different functions, will matlab recognize these?
2. I have an error message: --- Operands to the and && operators must be convertible to logical scalar values.
Error in V_F (line 16) if P(n)>0 && x>n-1 ---
However, P(n) is scalar and x is also scalar. What is wrong here?
Thanks.
0 commentaires
Réponses (2)
Matt Fig
le 23 Oct 2012
Modifié(e) : Matt Fig
le 23 Oct 2012
For the first question, it makes a difference how and where you are accessing the variables. Post a simple example for anlaysis. For the second question, are you sure P is not a cell array and P(n) is not nan? Are you sure n is a scalar and not empty or nan? Are you sure x is a scalar and not empty or nan?
Walter Roberson
le 23 Oct 2012
There might perhaps be a code path in which your local "x" does not get initialized in the subfunction on and so inherits the scalar value.
3 commentaires
Walter Roberson
le 23 Oct 2012
Suppose you have
if a > 3
x = 15;
elseif a < 3
x = 22;
end
then it might at first look like x is always being initialized, but in fact in the case that a is exactly 3, there would be a path in which x was not set, and so in that case would inherit its value from the nesting function.
Voir également
Catégories
En savoir plus sur Data Type Conversion dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!