What are possible issues if MATLAB doesn't recognise a variable?
Afficher commentaires plus anciens
if strcmp(str(1:3), 'Min') == 1
VZ = 1;
end
if strcmp(str(1:3), 'Max') == 1
VZ = -1;
end
VZ
[k l s] = evIII_weibull('param', mevI, sevI, x0, VZ);
VZ
Good afternoon,
the first time I call "VZ" MATLAB gives me the correct value, but after giving it as input for another function MATLAB doens't know the value anymore. Does anyone know how this is possible? Furthermore the function "evIII_weibull" doesn't accept VZ as input (eventhough I have declared it as input in evIII_weibull.m
This is the error message I get:
??? Input argument "VZ" is undefined.
Please help
8 commentaires
madhan ravi
le 29 Jan 2019
The possible reason is that if it doesn't satisfy the if conditions, we may need to see what str contains to narrow it down.
if strcmp(str(1:3), 'Min') == 1
VZ = 1;
elseif strcmp(str(1:3), 'Max') == 1
%^^^^------ should be inside the if statement
VZ = -1;
end
beginner94
le 29 Jan 2019
madhan ravi
le 29 Jan 2019
Change " " to single quotes ' ' and try again.
beginner94
le 29 Jan 2019
madhan ravi
le 29 Jan 2019
Modifié(e) : madhan ravi
le 29 Jan 2019
Which was missing ?
[k l s] = evIII_weibull('param', mevI, sevI, x0, VZ);
% ^^^---- was there already
Possibly the problem was that neither of those strcmp conditions was fulfilled, and thus VZ simply remained undefined. In any case, simpler code for those conditions:
if strncmpi(str,'min',3)
VZ = +1;
elseif strncmpi(str,'max',3)
VZ = -1;
end
OR using switch:
switch lower(str(1:3))
case 'min'
VZ = +1;
case 'max'
VZ = -1;
end
end
beginner94
le 29 Jan 2019
beginner94
le 29 Jan 2019
Réponses (0)
Catégories
En savoir plus sur Function Creation dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!