A question about inpaint_nans.m

2 ビュー (過去 30 日間)
Rita
Rita 2016 年 11 月 3 日
コメント済み: Rita 2016 年 11 月 8 日
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.

採用された回答

John D'Errico
John D'Errico 2016 年 11 月 3 日
編集済み: John D'Errico 2016 年 11 月 3 日
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 件のコメント
John D'Errico
John D'Errico 2016 年 11 月 6 日
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 2016 年 11 月 7 日
Thanks John

サインインしてコメントする。

その他の回答 (1 件)

Image Analyst
Image Analyst 2016 年 11 月 6 日
FYI, starting with R2015a there is a built-in function regionfill().
  4 件のコメント
John D'Errico
John D'Errico 2016 年 11 月 7 日
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 2016 年 11 月 8 日
But still inpaint_nans works well for the vectors. I have used the function for the vectors...with model number 4(metaphor)Thanks

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by