How can I interpolate the 2-dimensional data

2 views (last 30 days)
Raj V
Raj V on 22 Nov 2017
Answered: KL on 22 Nov 2017
I have data like this
1 2 3 4 5
1 81 83 85 87 90
2 84 N 88 90 92
3 83 85 86 N 91
4 86 87 88 92 94
5 88 89 90 96 99
How can I interpolate values for N?

Accepted Answer

KL
KL on 22 Nov 2017
something like this maybe,
a = [81 83 85 87 90
84 0 88 90 92
83 85 86 0 91
86 87 88 92 94
88 89 90 96 99];
a = a(:);
x = 1:numel(a);
xq = find(a==0);
x(a==0)=[];
a(a==0)=[];
interp1(x,a,xq)
ans =
84
91

More Answers (1)

John D'Errico
John D'Errico on 22 Nov 2017
Edited: John D'Errico on 22 Nov 2017
1. Download inpaint_nans from the file exchange.
2. Substitute NaN for the elements indicated with an N.
3. Use inpaint_nans.

Community Treasure Hunt

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

Start Hunting!