![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/250102/image.png)
Error using griddedInterpolant: The grid vectors are not strictly monotonic increasing. please help me!
조회 수: 1 (최근 30일)
이전 댓글 표시
Dear All,
I have 3 vectors (x1, x2 and R). I want to build surface plot 'R' depending on 'x1' and 'x2' [R(x,x2)] by using "griddedInterpolant" but i get error "The grid vectors are not strictly monotonic increasing". Below show my code.
x1=[1.5 0.8 1.25 1 0.75 0.625 1.375 0.5 1.125];
x2=[0.875 0.56 0.5 0.75 1 0.81 0.69 0.625 0.94];
R=[25 24 21 26 28 29 26.5 26.6 26.1];
F = griddedInterpolant({x1,x2},R);
xq=0.5:0.1:1.5;
yq=0.5:0.1:1;
vq=F({xq,yq});
surf(xq,yq,vq)
please help me how to fix this error and regrid my data.
Many thanks
댓글 수: 0
채택된 답변
Stephen23
2019년 11월 25일
편집: Stephen23
2019년 11월 25일
Your data are scattered, not gridded:
so you will need to use a scattered interpolant:
>> x1 = [1.5,0.8,1.25,1,0.75,0.625,1.375,0.5,1.125];
>> x2 = [0.875,0.56,0.5,0.75,1,0.81,0.69,0.625,0.94];
>> R = [25,24,21,26,28,29,26.5,26.6,26.1];
>> F = scatteredInterpolant(x1(:),x2(:),R(:),'linear','linear');
>> xq = 0.5:0.1:1.5;
>> yq = 0.5:0.1:1;
>> vq = F({xq,yq});
And visualizing (note that input data which are not on the interpolation grid may appear to have different values from the plotted interpolated data, this is to be expected):
>> [xqM,yqM] = ndgrid(xq,yq);
>> surf(xqM,yqM,vq)
>> hold on
>> scatter3(x1,x2,R,'filled')
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/250102/image.png)
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!