再问 离散点画去面的问题
各位大哥大姐为已经看了关于用离散点画球面的帖子
但是我希望用离散点画一个准双曲面
试过了上面那种方法效果不好
求求各位指教 感激不尽
点的位置如下(三列分别为x,y,z)
78.021 -31.91 153.77
78.32 -34.177 153.39
78.555 -36.447 153.01
78.729 -38.718 152.63
78.843 -40.987 152.26
78.898 -43.252 151.88
78.896 -45.513 151.52
78.837 -47.767 151.15
78.723 -50.013 150.79
78.556 -52.249 150.43
67.671 -49.11 140.36
67.289 -51.487 139.94
66.839 -53.845 139.53
66.324 -56.183 139.11
65.746 -58.499 138.7
65.107 -60.791 138.3
64.409 -63.057 137.89
63.654 -65.297 137.49
62.845 -67.509 137.1
61.983 -69.692 136.7
52.403 -63.914 126.41
51.266 -66.17 125.96
50.066 -68.383 125.5
48.806 -70.551 125.06
47.487 -72.673 124.61
46.114 -74.747 124.17
44.688 -76.774 123.74
43.214 -78.752 123.3
41.693 -80.681 122.88
40.128 -82.56 122.45
32.44 -74.54 111.95
30.56 -76.391 111.46
28.631 -78.173 110.98
26.657 -79.885 110.5
24.641 -81.527 110.03
22.586 -83.1 109.56
20.497 -84.603 109.09
18.377 -86.036 108.64
16.228 -87.402 108.18
14.055 -88.699 107.74
8.7253 -78.92 97.04
6.2351 -80.055 96.524
3.7234 -81.099 96.014
1.1945 -82.053 95.51
回复
你的数据相当奇怪,过于分段平缓,(也算是一种奇异性吧)所以拟合效果不好.我拟合了一下,不知是否是你要的图形.(见附件) 嗯
xizuo
你得到的图像跟我期望的很相似
请把拟合方法告诉我
谢谢
回复
我给你一个提示吧: 用griddata可实现,具体用法参见Matlab帮助.你自己先试试.如果还是不行,我再写给你。 xjzuo
嗯我按帮助里的格式试了一下只是出了原来的离散图
拟合的曲面图还是没有出来 呵呵我实在是太菜了
刚接触画图这一块还请多多帮忙 谢谢 不会吧? 那你参考一下我编的程序,看看你的为什么画不出来:
%%%%%%%%%%%%%%
function fitting
%%%Fitting a surface
load z1.txt
x=z1(:,1)';
y=z1(:,2)';
z=z1(:,3)';
x1=linspace(1.1,79,200);
y1=linspace(-83,-31,200);
=meshgrid(x1,y1);
zz=griddata(x,y,z,xx,yy);
mesh(xx,yy,zz)
hold on
plot3(x,y,z,'o')
%%%%%%%%%%%%%
其中z1.txt 就是你的数据. 谢谢
开始好像是因为我设置meshgrid的时候出了问题
用你的程序可以得到拟合图但我感觉好像网络太密了
这样的图好像不是特别方便观察不知道有没有其他办法
呵呵挺谢谢你的 我还得好好学习咯~~~~~~
我在一些文章中看到其他人得到的图 如下:(他这个图应该也是由离散点得到的,不知道是用的什么方法)
[ 本帖最后由 wszc 于 2006-11-13 17:06 编辑 ]
回复
网格变稀可以通过少取数据点实现.你可以在xx,yy取值时,将linspace的点数取为100或50,...
另:拟合成"准双曲面"可以试试给定模型,用插值函数拟合.
(griddata还可以选其他方式拟合,参见help griddata)
[ 本帖最后由 xjzuo 于 2006-11-13 17:17 编辑 ]
页:
[1]