A question about inpaint_nans.m

2 visualizzazioni (ultimi 30 giorni)
Rita
Rita il 3 Nov 2016
Commentato: Rita il 8 Nov 2016
I have worked with this great function and I can't understand why this happens: If we have a vector with 100 data and some nans and run the function to get the values for nans and also dividing the data to 5 parts(5*20 each small vector has 20 data) and using the function(the nans are the same for each 20 records ) so why the results for both ways are not the same??? Thanks for any idea.

Risposta accettata

John D'Errico
John D'Errico il 3 Nov 2016
Modificato: John D'Errico il 3 Nov 2016
Why would they be the same? You are posing two different problems. It sounds like you have reshaped the vector into a 5x20 array. On two dimensional problems, the function works in both dimensions, looking at the neighbors of a point in all directions to interpolate.
Or, did you break the vector into 5 disjoint vectors, then calling inpaint_nans 5 separate times? Even in this case, the function uses the neighbors of a point in each direction. So if a nan is at or near the break point between those segments then of course there will be a difference.
Perhaps you can give an example where you see a problem, attach the data to a comment, and show how you called it.
  3 Commenti
John D'Errico
John D'Errico il 6 Nov 2016
Unless you can give an example where you see something different, it is difficult to know what you saw.
V = 1:20;
>> V([5 14]) = NaN;
>> inpaint_nans(V)
ans =
Columns 1 through 12
1 2 3 4 5 6 7 8 9 10 11 12
Columns 13 through 20
13 14 15 16 17 18 19 20
>> V1 = V(1:10);
>> V2 = V(11:20);
>> inpaint_nans(V1)
ans =
1 2 3 4 5 6 7 8 9 10
>> inpaint_nans(V2)
ans =
11 12 13 14 15 16 17 18 19 20
As you can see, both cases produce identical results for the NaN elements.
Rita
Rita il 7 Nov 2016
Thanks John

Accedi per commentare.

Più risposte (1)

Image Analyst
Image Analyst il 6 Nov 2016
FYI, starting with R2015a there is a built-in function regionfill().
  4 Commenti
John D'Errico
John D'Errico il 7 Nov 2016
I had to modify inpaint_nans to work on vectors. It uses the same idea, but only looks along the length of the vector.
Rita
Rita il 8 Nov 2016
But still inpaint_nans works well for the vectors. I have used the function for the vectors...with model number 4(metaphor)Thanks

Accedi per commentare.

Categorie

Scopri di più su Oceanography and Hydrology in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by