[已答复] MATLAB 运行出错,插值问题,有朋友晓得哪里出错了么?

[复制链接]
紫光麒麟 发表于 2015-1-29 16:06:31
MATLAB 运行出错,插值问题,有朋友晓得哪里出错了么?
clc
clear c
close all

TVP=[121902.5 300 17209.6
121902.5 600 17860.4
121902.5 900 18327.8
121902.5 1200 18697.3
121902.5 1500 19000
121902.5 1800 19252.8
121902.5 2100 19460.6
121902.5 2400 19630.6
122690 300 17254.1
122690 600 17896.8
122690 900 18358.4
122690 1200 18722.6
122690 1500 19020
122690 1800 19268.8
122690 2100 19473.7
122690 2400 19641.9
123477.5 300 17290.8
123477.5 600 17926.1
123477.5 900 18382.3
123477.5 1200 18741.5
123477.5 1500 19035
123477.5 1800 19279.8
123477.5 2100 19482
123477.5 2400 19649
124265 300 17318.9
124265 600 17948.3
124265 900 18400.5
124265 1200 18756.1
124265 1500 19046
124265 1800 19288
124265 2100 19488.7
124265 2400 19655.2
125052.5 300 17337.8
125052.5 600 17963.5
125052.5 900 18413.4
125052.5 1200 18766
125052.5 1500 19053
125052.5 1800 19293.3
125052.5 2100 19493.7
125052.5 2400 19660.4
125840 300 17347.4
125840 600 17971.2
125840 900 18419.1
125840 1200 18770.6
125840 1500 19057
125840 1800 19295.6
125840 2100 19496
125840 2400 19664.3
126627.5 300 17345.1
126627.5 600 17967
126627.5 900 18415.5
126627.5 1200 18769
126627.5 1500 19058
126627.5 1800 19298.7
126627.5 2100 19500.2
126627.5 2400 19668.5
127145 300 17334.9
127145 600 17956.9
127145 900 18406.2
127145 1200 18760.1
127145 1500 19049
127145 1800 19290.3
127145 2100 19492.4
127145 2400 19661.2
128202.5 300 17312.7
128202.5 600 17936.3
128202.5 900 18396.9
128202.5 1200 18741.4
128202.5 1500 19031
128202.5 1800 19274.1
128202.5 2100 19477.9
128202.5 2400 19647.9
128990 300 17280.4
128990 600 17905.8
128990 900 18357.5
128990 1200 18713.2
128990 1500 19004
128990 1800 19248.8
128990 2100 19454.6
128990 2400 19627
129777.5 300 17237.1
129777.5 600        17865
129777.5 900 18319.7
129777.5 1200 18677.6
129777.5 1500 18970
129777.5 1800 19215.7
129777.5 2100 19423.4
129777.5 2400 19598.9
130565 300 17184.5
130565 600 17815.9
130565 900 18272.9
130565 1200 18633.1
130565 1500 18928
130565 1800 19176.5
130565 2100 19387.6
130565 2400 19566.7
131352.5 300 17123.6
131352.5 600 17759.4
131352.5 900 18220.9
131352.5 1200 18583.8
131352.5 1500 18881
131352.5 1800 19132.4
131352.5 2100 19346.6
131352.5 2400 19529.3
132140 300 17054.8
132140 600 17695.1
132140 900 18160.7
132140 1200 18527.5
132140 1500 18829
132140 1800 19084.1
132140 2100 19301.8
132140 2400 19487.9];

x=TVP(:,1);        %读取x轴坐标数组
y=TVP(:,2);        %读取y轴坐标数组
z=TVP(:,3);        %读取z轴坐标数组

%% 将型值点转换为三维坐标
xmax=max(x);
xmin=min(x);
ymax=max(y);
ymin=min(y);
nx=size(x,2);       %计算坐标点的数量
ny=size(y,2);

%% 插值曲面
%x0=abs(x(2)-x(1));
%y0=abs(y(2)-y(1));
c=14;
x0=2*(xmax-xmin)/c;
y0=2*(ymax-ymin)/c;

nm=4;                   %插值密度,即网格加密数量
t1=x0/nm;                  %x方向的插值密度
t2=y0/nm;                  %y方向的插值密度
tx=(xmax-xmin)/t1;         %均匀分布后的x方向的最终网格密度
ty=(ymax-ymin)/t2;         %均匀分布后的y方向的最终网格密度
x1=(xmin:tx:xmax);         %对x轴、y轴进行插值
y1=(ymin:ty:ymax);

[x2,y2]=meshgrid(x1,y1);    %产生格点矩阵
z2=interp2(x,y,z,x2,y2,'spline');       %通过插值得出相应的z坐标

mesh(x2,y2,z2);


3 条回复


转基因奔奔 发表于 2015-1-29 16:17:45
出错??没有报错信息么??

紫光麒麟 发表于 2015-1-29 17:42:17
转基因奔奔 发表于 2015-1-29 16:17
出错??没有报错信息么??

下面是出错信息,您帮忙看下,哪里不对?:'(

??? Error using ==> chckxy at 42
There should be at least two data points.

Error in ==> spline at 55
[x,y,sizey,endslopes] = chckxy(x,y);

Error in ==> splncore at 42
     values = spline(x{i},reshape(values,prod(nv(1:d-1)),nv(d)),xi{i}).';

Error in ==> interp2>spline2 at 598
    F = splncore(varargin(2:-1:1),varargin{3},{yyi(:).' xxi},'gridded');

Error in ==> interp2 at 241
        zi = spline2(x,y,z,xi,yi,ExtrapVal);

Error in ==> wanbansuanfa at 103
z2=interp2(x,y,z,x2,y2,'spline');       %通过插值得出相应的z坐标

转基因奔奔 发表于 2015-1-29 19:43:55
  1. (4)ZI = interp2(X,Y,Z,XI,YI,method)
  2. 用指定的算法method 计算二维插值:
  3. ’linear’:双线性插值算法(缺省算法);
  4. ’nearest’:最临近插值;
  5. ’spline’:三次样条插值;
  6. ’cubic’:双三次插值。book.iLoveMatlab.cn
  7. 例1
  8. 1. >>[X,Y] = meshgrid(-3:.25:3);
  9. 2. >>Z = peaks(X,Y);
  10. 3. >>[XI,YI] = meshgrid(-3:.125:3);
  11. 4. >>ZZ = interp2(X,Y,Z,XI,YI);
复制代码

这是网上的例子。对照起来,你的x y 是不是不符合要求额。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表