Undefined function or variable 'isnan'
17 次查看(过去 30 天)
显示 更早的评论
I am met with the error "Undefined function or variable 'isnan'" when running this code:
%counter = 1:4
%a is a 220x4 cell
%data is a 220x4 double
for i = size(a, 1)
pairs = [];
pairs(:,1) = counter;
pairs(:,2) = data(i,:);
pairs = pairs(~isnan(pairs(:,2),:));
slope(i) = polyfit(pairs(:,1),pairs(:,2),1);
end
I can't seem to figure out exactly why. Is the way I'm using the NOT operator?
3 个评论
nanren888
2019-1-7
As Walter says; It is complaining about the two-parameter isnan(x,y) that you've invented :)
采纳的回答
Walter Roberson
2019-1-7
You have
pairs = pairs(~isnan(pairs(:,2),:));
You want
pairs = pairs(~isnan(pairs(:,2)),:);
更多回答(2 个)
Jan
2019-1-7
Although I assume that Walter hit the point already, I suggest to use teh debugger to identify such problems. Type in the command window:
dbstop if error
Now run the code again until it stops. Check the currently processed line by evaluating it piecewise:
% pairs = pairs(~isnan(pairs(:,2),:))
pairs(:,2)
~isnan(pairs(:,2),:) % <- This should fail already
pairs(~isnan(pairs(:,2),:))
As Walter has said already, isnan(x, :) is meaningful only, if it is an array. Otehrwise using the colon as second input is not valid, if the function isnan() is meant. The error message "Undefined function or variable 'isnan'" is not really clear here. But splitting the commands into parts using the debugger helps to understand the problem.
0 个评论
Kholoud Alzoubi
2021-4-19
Undefined function or variable 'textdata'.
Error in KopackRFNNGOA (line 15)
x1=textdata(~isnan(textdata)); %temperature
1 个评论
Walter Roberson
2021-4-19
Not enough context.
You are trying to use a variable named textdata that has not been assigned to.
Also, the variable name would tend to suggest that the variable is not expected to hold numeric data, so isnan() is questionable here.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!