Occasionally I record missing data, invalid data or erroneous data as NaN. But if I have a array of data where the columns are different measurements and the rows are different measurement times the NaNs make it difficult to perform statistical operations on.
This Function will perform a function on the data (assuming the function is designed to operate on an array) but it will ignore any NaNs.
X=[ 1 2 4;
1 5 NaN;
NaN 3 1]
NaN 1.5275 NaN
0 1.5275 2.1213
This function is designed to work on any size array.
Matt G (2020). Ignore NaN (https://www.mathworks.com/matlabcentral/fileexchange/15776-ignore-nan), MATLAB Central File Exchange. Retrieved .
Is there a way to use this for functions that take two arguments? (i.e., dotprod (x,y))?
Excellent!!! Works like charm.
There is an example in the description above. You may also want to review function handles
Plz tell me how to use this file in my code so that I can use "ignoreNaN" in my code?
correction for case of size(X,2)=1, and nargin==2
This correction will return NaN if all element operated on are NaNs.
Also with the previous version if a vector of NaNs was on the outside dimension the correct result was not returned.