登录论坛

查看完整版本 : [求助]三维散点特征的图形展示


windspeedo
2008-11-06, 11:37
三维散点:x,y,z. 大概几千个点。
简单地用scatter3,很难直观展示其特征。想通过对数据简单处理后,再三维展示。
思路:
1、将三维空间的x轴、y轴分成100等距间隔,形成10000个独立的空间,三维散点(x,y,z)落入其中;
2、计算落在各个独立空间的点的z值的平均值(或者中间值、四分之一分位值等),生成一个新的三维散点矩阵:x1对应x轴的一个分隔、y1对应y轴的一个分割、z1对应落在这个x1、y1分割区间的点的z值的平均值;
3、绘制新的三维散点x1、y1、z1的曲面图。
但是,不清楚MATLAB中什么指令可以方便地实现第二步。
请教各位大侠。
多谢。


附件是完整的数据,其中部分数据如下:
X,Y,Z
2.936855935,0.118218433,4.429104478
1.992549766,-0.489985305,4.135549968
-0.244923491,-1.80350281,-0.57883939
-0.873555044,-1.647594452,-3.216657692
-0.364847968,-0.773032753,-2.06043956
-1.399253603,-1.240821109,-1.066853704
-1.899049424,-1.210369467,-0.138659871
0.474094768,0.793967277,1.336501337
2.446684717,1.887448781,2.366689942
1.686062617,0.78941371,1.953268961
-0.413537715,-0.874142636,-0.294453237
-1.841200622,-1.583197731,-1.893451965
-0.884493781,-0.43679392,-0.517063082
0.123231927,0.385711498,3.208799545
-0.154849841,0.067741207,3.679645409
-0.025205907,0.131126004,4.919868701
0.082390933,0.160997466,2.255723899
-0.358109791,-0.194825005,0.826692485
-2.879927169,-1.894884986,-2.19971808
-3.480807843,-1.759861134,-3.563269217
-4.357630606,-1.881470717,-7.282752694
-1.700788102,0.522663755,-4.51249282
-0.733727132,0.986019476,-4.26722755
-0.337875928,0.913883244,-5.307527486
0.316799241,1.052888204,-4.892409056
3.131183577,2.630481199,-1.432856891
2.765204219,1.56251571,-2.393216301
3.366495122,1.504255331,-2.336188288
4.738301933,1.991185771,-0.991166446
4.806400367,1.471789247,-0.975186535
3.936584284,0.508113268,-1.863332525
4.524331432,0.817795072,-0.595611285
5.015714257,0.971436389,-0.876587521
4.956089124,0.720019526,-0.766151298
5.000462049,0.620529659,-1.852924146
5.032332975,0.547207207,-1.845934185
4.287587865,-0.013616441,-2.704351362
5.07282446,0.606663429,-1.802900908
4.898355299,0.403626069,-1.243993047
6.066322339,1.147211351,-0.914613567
6.054150609,0.891730903,-2.711998942
6.163563653,0.801623932,-3.703945436
5.949456696,0.532991758,-3.820078227
5.165372825,-0.023984821,-5.613459435
5.985731227,0.638454534,-4.336034611
7.865028357,1.781807644,-2.069635628
8.98405665,2.079399796,-2.095913607
8.790503565,1.457734331,-3.245135451
9.861676323,1.849642935,-2.202227396
9.123775059,0.981434615,-1.1615662
8.466314926,0.440311623,-2.467146828
9.598108475,1.205778191,-0.041517629
10.63355279,1.673557351,1.945087449
10.50720049,1.272159299,-0.012582573
8.627582644,-0.105644063,-0.082900233
9.384299614,0.605657987,0.857042725
7.905687453,-0.325599492,-0.659898477
6.936837819,-0.66065424,-2.13328299
8.963252262,1.015008591,0.474083439
7.235985688,-0.228136322,-2.876873529
7.061167974,-0.101242963,-2.706137632
7.250578977,0.214483298,-2.13307666
7.854145551,0.69589314,-1.798294401
7.113352564,0.163859075,-2.68807283
8.98755936,1.474329958,0.099194048
8.563493136,0.911674027,0.586181093
8.087975931,0.496024138,0.143030378
8.308950262,0.655122873,-0.522530276
8.497507254,0.74497281,-0.334120099
7.38059369,-0.028036513,-2.413939137
6.51891033,-0.407922417,-4.036384309
6.576381346,-0.087740996,-5.020525088
7.536991991,0.71148074,-2.993619178
7.555012249,0.655833692,-3.493669388
8.668890667,1.323183461,-1.811809433
9.508057768,1.61077699,-0.044861826
10.55287772,1.946549183,1.171233081
9.158372922,0.647285828,0.488389513
9.663719748,0.959078566,-0.274360563
8.89325252,0.367922422,-1.535401983
7.854938048,-0.216029415,-3.897447689
7.680309667,-0.078395124,-4.763395271
7.118764169,-0.239641368,-5.504119596
8.481362456,0.876578125,-3.622302465
9.091416977,1.164820438,-2.249857061
10.60351415,1.939047457,-1.611899779
11.29171257,1.958931284,-0.832439754
11.41622807,1.632926538,-0.411673481
10.55247382,0.801472649,-1.132849834
9.594501113,0.169229431,-0.463819253
10.40071738,0.838556054,0.683332384
10.25344137,0.701052813,0.942831914
9.964736521,0.517176735,1.186909755
9.931366703,0.549228602,3.095113893
8.294147686,-0.44698651,3.119131455
7.938199377,-0.338221179,1.903325016

风浪
2008-11-06, 13:10
首先设定x轴和y轴分割范围:[xmin xmax]和[ymin ymax];
然后用linspace函数,x_f=linspace(xmin,xmax,100);
再将数据循环判断处理,x和y同时在x_f和y_f中,则zsum+1