Borrar filtros
Borrar filtros

Undefined function or variable 'isnan'

8 visualizaciones (últimos 30 días)
Carver Nabb
Carver Nabb el 7 de En. de 2019
Comentada: Walter Roberson el 19 de Abr. de 2021
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 comentarios
Carver Nabb
Carver Nabb el 7 de En. de 2019
Screen Shot 2019-01-07 at 2.54.36 PM.png
nanren888
nanren888 el 7 de En. de 2019
As Walter says; It is complaining about the two-parameter isnan(x,y) that you've invented :)

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 7 de En. de 2019
You have
pairs = pairs(~isnan(pairs(:,2),:));
You want
pairs = pairs(~isnan(pairs(:,2)),:);
  21 comentarios
Carver Nabb
Carver Nabb el 8 de En. de 2019
Thank you, this does produce non-zero values. However, they are not the correct slopes, for example, I know the first slope ought to be 3.6, and the last, -4.6. However the first value returned with this code is 113.
Carver Nabb
Carver Nabb el 8 de En. de 2019
I figured it out! Walter and Jan, thank you so much for the help. I do appreciate it.

Iniciar sesión para comentar.

Más respuestas (2)

Jan
Jan el 7 de En. de 2019
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.

Kholoud Alzoubi
Kholoud Alzoubi el 19 de Abr. de 2021
Undefined function or variable 'textdata'.
Error in KopackRFNNGOA (line 15)
x1=textdata(~isnan(textdata)); %temperature
  1 comentario
Walter Roberson
Walter Roberson el 19 de Abr. de 2021
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.

Iniciar sesión para comentar.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by