How to fix this error in interpolation?

Hi,
I have a set of data to be interpolated for two files. I could use the code below when the second file (representing Y axis) has 11 columns.
However, when the second file (representing Y axis) has only two columns, it shows the following error:
Error using griddedInterpolant
The grid vectors must contain unique points.
Error in interp1 (line 151)
F = griddedInterpolant(X,V,method);
Error in File11 (line 18)
x2 (k,:) = interp1(y3, x3, A(:,i), 'linear');
clear; clc;
Folder = cd;
N=1;
x2 = zeros(N, 10);
for k = 1:N;
Driftt = sprintf('Drift%d.out', k);
Reactt = sprintf('React%d.out', k);
matDrift = importdata(fullfile(Folder, Driftt));
matReact = importdata(fullfile(Folder, Reactt));
x1= matDrift(:,2);
y1= -matReact(:,2);
[x3, ix] = unique(x1);
y3 = y1(ix);
A=dlmread('result_all.txt');
for i=1:size(A,2)
x2 (k,:) = interp1(y3, x3, A(:,i), 'linear');
temp=x2(k,:);
temp(isnan(temp))=0.05;
x2(k,:)=temp;
fid=fopen(['result_' num2str(i) '.txt'],'a');
fprintf(fid,'%f\n',x2(k,:));
fclose(fid);
end
end

1 Comment

I have just tried to use "unique" with y3, but I got the following error:
Error using interp1>reshapeAndSortXandV (line 424)
X and V must be of the same length.
Error in interp1 (line 93)
[X,V,orig_size_v] = reshapeAndSortXandV(varargin{1},varargin{2});
Error in File11 (line 19)
x2 (k,:) = interp1(y3, x3, A(:,i), 'linear');

Sign in to comment.

Answers (1)

Matt J
Matt J on 19 Feb 2019
Edited: Matt J on 19 Feb 2019
interp1 is complaining that y3 has repeated elements. They are required to be unique and monotonic.

3 Comments

Ismail Qeshta
Ismail Qeshta on 19 Feb 2019
Edited: Ismail Qeshta on 20 Feb 2019
Hi Matt,
Many thanks for your reply. Aren't they unique?
Nope.
K>> numel(y3)
ans =
267
K>> numel(unique(y3))
ans =
266
Thanks Matt.
Would it be possible to ask how to incorporate this into my code?

Sign in to comment.

Categories

Find more on Interpolation of 2-D Selections in 3-D Grids in Help Center and File Exchange

Asked:

on 19 Feb 2019

Commented:

on 20 Feb 2019

Community Treasure Hunt

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

Start Hunting!