What are possible issues if MATLAB doesn't recognise a variable?
古いコメントを表示
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 件のコメント
madhan ravi
2019 年 1 月 29 日
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
2019 年 1 月 29 日
madhan ravi
2019 年 1 月 29 日
Change " " to single quotes ' ' and try again.
beginner94
2019 年 1 月 29 日
madhan ravi
2019 年 1 月 29 日
編集済み: madhan ravi
2019 年 1 月 29 日
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
2019 年 1 月 29 日
beginner94
2019 年 1 月 29 日
回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Mathematics についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!