the interpolation of a Matrix generated more NaNs elements

1 visualización (últimos 30 días)
Ano
Ano el 2 de Feb. de 2016
Comentada: Ano el 3 de Feb. de 2016
I used the following code to perform an interpolation of my matrix , but instead of solving the problem of NaNs entries I have got more because my matrix has got 2 or 3 successive columns of NaNs. Now my question is how to get rid of the NaN s in my matrix without losing data which was available before the interpolation?
[rr,cc] = size(MT);
xi = 1:cc;% columns
idx = ~isnan(MT);
for r = 1:rr
MTNew(r,:) = interp1(xi(idx(r,:)),MT(r,idx(r,:)),xi,'linear','extrap');
end
Thank you !

Respuesta aceptada

Star Strider
Star Strider el 2 de Feb. de 2016
I cannot reproduce the results you get with my simulated data. Your code works correctly for me with this:
MT = randi(50, 125, 1); % Create Data
MT(randi(125, 30, 1)) = NaN; % Create Data
MT = reshape(MT, 25, 5); % Create Data
[rr,cc] = size(MT);
xi = 1:cc;% columns
idx = ~isnan(MT);
for r = 1:rr
MTNew(r,:) = interp1(xi(idx(r,:)),MT(r,idx(r,:)),xi,'linear','extrap');
end
If your ‘MT’ matrix is not too large, upload it so we can test it with your code.
  5 comentarios
Star Strider
Star Strider el 3 de Feb. de 2016

There are no empty spaces in the second plot. It (and the matrix that generated it) were complete when I ran your code. The ‘MTNew’ matrix I get is:

MTNew = 
 [-5.9132e+20  -4.7305e+20  -3.5479e+20  -2.3653e+20  -1.1826e+20  -2.2621e+14  -1.0029e+13
  -5.9132e+20  -4.4349e+20  -2.9566e+20  -1.4783e+20   7.3075e+13   7.7769e+13   8.2462e+13
  -1.2368e+22  -1.4148e+13  -1.5963e+15  -3.1785e+15  -4.7607e+15  -2.3767e+15   7.2754e+12
    4.411e+21   1.6233e+14  -1.4787e+15  -3.1197e+15  -4.7607e+15  -2.3684e+15   2.3828e+13
    4.411e+21   4.1926e+12  -1.3355e+14  -2.7129e+14  -4.0904e+14  -5.4678e+14  -6.8452e+14
    -3.8444e+14  -7.5884e+14    1.933e+14
     8.7155e+13   9.1848e+13   9.6542e+13
    -1.7291e+14  -3.5309e+14  -5.3327e+14
    -1.6463e+14  -3.5309e+14    1.933e+14
    -8.2227e+14  -9.6001e+14  -1.0978e+15];
Ano
Ano el 3 de Feb. de 2016
well it seems that my Matlab version is the source of the empty spaces in the plot or if you would like to say the NaNs in MTNew. Thank you for the matrix I will use it. only for persons who will go through this post, I uploaded the matrix that I get using MatLab R2009a , so they can understand this problem easily. Best regards!.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by