Filter löschen
Filter löschen

the interpolation of a Matrix generated more NaNs elements

1 Ansicht (letzte 30 Tage)
Ano
Ano am 2 Feb. 2016
Kommentiert: Ano am 3 Feb. 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 !

Akzeptierte Antwort

Star Strider
Star Strider am 2 Feb. 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 Kommentare
Star Strider
Star Strider am 3 Feb. 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 am 3 Feb. 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!.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu 2-D and 3-D Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by