1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > matlab 离散点差值 散点图的插值方法

matlab 离散点差值 散点图的插值方法

时间:2022-03-16 01:46:43

相关推荐

matlab 离散点差值 散点图的插值方法

本帖最后由 MatlabBigFan 于 -1-5 03:35 编辑

大家好。

我有一个20000X3的data file,第一列是时间,第二列是位置,第三列是变量值。截取几行数据是这样的:

0.00000E+00 0.00000E+00 1.50000E+00

0.00000E+00 4.12948E-02 1.50000E+00

0.00000E+00 8.11927E-02 1.50000E+00

0.00000E+00 1.19694E-01 1.50000E+00

0.00000E+00 1.57002E-01 1.50000E+00

0.00000E+00 1.92896E-01 1.50000E+00

... ...

6.50044E-01 2.59791E+00 4.02500E+00

6.50044E-01 2.64019E+00 5.25800E+00

6.50044E-01 2.69569E+00 6.59500E+00

6.50044E-01 2.76679E+00 8.03600E+00

6.50044E-01 2.86119E+00 9.78400E+00

6.50044E-01 2.99230E+00 1.21200E+01

6.50044E-01 3.18339E+00 1.53100E+01

6.50044E-01 3.47279E+00 1.95900E+01

6.50044E-01 3.91679E+00 2.51900E+01

6.50044E-01 4.57190E+00 3.11600E+01

6.50044E-01 5.51909E+00 3.65600E+01

6.50044E-01 6.79070E+00 4.07700E+01

6.50044E-01 8.43579E+00 4.35500E+01

6.50044E-01 1.05624E+01 4.50400E+01

6.50044E-01 1.33768E+01 4.54100E+01

数据排列的规律是:在初始时间T=0按位置递进顺序把所有位置上的变量值列出来,然后时间步进到T=T1把所有位置上的变量值列出来,依次直到最后。 随着时间增长,位置范围扩大,位置之间的间隔也会变化。一共有200个时间点,每个时间点对应100个位置,每个位置对应一个变量值.

我使用下面的代码画出了散点图:

clear

data=load('×××.dat');

Time=data(:,1);

Dist=data(:,2);

Value=data(:,3);

figure

scatter(Dist,Time,1,Value,'.');

产生的散点图是这样的如下图一所示.

现在我想对这个data file做插值,得到下图的效果,如图二所示, (白色区域是没有数据点的区域):

我尝试了下面的代码:

clear

data=load('***.dat');

Time=data(:,1);

Dist=data(:,2);

Value=data(:,3);

figure

[T,D,V]=griddata(Time,Dist,Value,linspace(min(Time),max(Time),100)',linspace(min(Dist),max(Dist),100),'v4');

h=surf(D,T,V);

但是得到的图如图三所示,但是并不是想要的图, 貌似做插值时把没有数据点的区域也赋上了值。那么问题是,如何在做插值是不赋值给空白区域,或者另一种方法是如何插值后把原来的没有数据点的区域区分开来?

在二楼

散点图.png

(14.76 KB, 下载次数: 1)

-1-1 03:19 上传

图一: 散点图

目标效果图.png

(126.31 KB, 下载次数: 0)

-1-1 03:19 上传

图二: 目标效果图

尝试1.png

(79.3 KB, 下载次数: 0)

-1-1 07:45 上传

图三: 尝试

尝试2.png

(88.45 KB, 下载次数: 0)

-1-5 01:44 上传

图四:尝试2

尝试3.png

(77 KB, 下载次数: 0)

-1-5 03:33 上传

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。