如何用matlab将空间中的点用光滑的曲线连接起来
x=[0 1700 4000 8000 2000 2000 14000];
y=[0 2200 5000 5000 500 0 4000];
z=[0 300 750 1250 2000 2300 2700];
plot3(x,y,z)
grid on
set(gca,'XTick',[0:2000:16000])
set(gca,'YTick',[0:1000:5000])
set(gca,'ZTick',[0:500:3000])
这是我自己随便写的一段程序,运行结果就是把上面的点一次用直线连接起来,可是这样的话显得连线不平滑,尤其是折点处显得很硬,我希望能用插值法把它变得平滑些,可是三维的差值我不会,希望论坛里,会的朋友给我把程序补充下,谢谢!
y=[0 2200 5000 5000 500 0 4000];
z=[0 300 750 1250 2000 2300 2700];
plot3(x,y,z)
grid on
set(gca,'XTick',[0:2000:16000])
set(gca,'YTick',[0:1000:5000])
set(gca,'ZTick',[0:500:3000])
这是我自己随便写的一段程序,运行结果就是把上面的点一次用直线连接起来,可是这样的话显得连线不平滑,尤其是折点处显得很硬,我希望能用插值法把它变得平滑些,可是三维的差值我不会,希望论坛里,会的朋友给我把程序补充下,谢谢!
∙ 可以这样:
CODE:
x=[0 1700 4000 8000 2000 2000 14000];y=[0 2200 5000 5000 500 0 4000];z=[0 300 750 1250 2000 2300 2700];[xx,yy] = meshgrid(linspace(min(x),max(x),30),linspace(min(y),max(y),30));zz = griddata(x,y,z,xx(:),yy(:),'v4');zz = reshape(zz,size(xx));mesh(xx,yy,zz)hold onplot3(x,y,z,'*')xlabel('x')ylabel('y')zlabel('z')效果图:
untitled.jpg
∙ zyb25000 (2010-5-05 17:40:15)
你好,首先感谢你的热心帮助,也许我没有把自己的问题描述清楚,我需要模拟一个物体在空中飞行的轨迹。那显然应该是一条曲线,但是我得到的数据点比较少。所以我所写的代码连出飞行轨迹很生硬,我希望论坛里面的高手能给我一个三维曲线插值的例程 谢谢
怎样用 matlab 画出指定几个点的曲线光滑
用下面这个函数只能画出折线段,怎么优化可以使画出的图像比较光滑?
谢了……
x1=[0.8395
0.7995
0.7895
0.7867
0.7857
0.7853
0.7847
];
y1=[1.11E-01
4.64E-02
1.19E-03
1.77E-04
1.57E-05
3.45E-06
2.55E-07
];
h=semilogy(x1,y1,'b-o');
grid on;
xlabel(' E b / N 0 ( d B )');
ylabel('B E R');
shading interp;matlab等高线间隔
最佳答案
x1=[0.8395
0.7995
0.7895
0.7867
0.7857
0.7853
0.7847
];
y1=[1.11E-01
4.64E-02
1.19E-03
1.77E-04
1.57E-05
3.45E-06
2.55E-07
];
semilogy(x1,y1)%原来的折线
x2=linspace(min(x1),max(x1));
y2=interp1(x1,y1,x2,'cubic');
figure
semilogy(x2,y2)%处理后的曲线
matlab三维散点拟合成光滑曲面 我了好多资料也没有拟合出来,请高手帮忙!
已知坐标值(x,y,z)分别放在向量x=[1.52 3.03 3.27 4.2 0.93 -4.2 -3.27 -3.03 -1.52 1.1 1.15 1.2 1.25 1.3 1.35 1.4 1.45 1.5 1.55 1.6 1.65 1.7 1.75 1.8 1.85 1.9 1.95 2 2.05 2.1 2.15 2.2 2.25 2.3 2.35 2.4 2.45 2.5 2.55];
y=[0.8 2.1 4.6 7.1 8.4 7.1 4.6 2.1 0.8 16.0 3.0 2.0 13.0 5.0 10.0 11.0 8.0 9.0 6.0 7.0 12.0 4.0 15.0 14.0 1.0 3.0 5.0 7.0 2.0 12.0 5.0 34.0 6.0 7.0 23.0 12.0 3.0 5.0 19.0];
z=[2.16 2.4 2.69 3.82 3.02 2.68 2.5 2.48 2.31 2.3201 2.6470 2.9070 3.2885 3.6008 3.9090 3.8147 3.5191 3.4232 3.3275 3.2456 3.1234 3.0234 2.978 2.843 2.765 2.654 2.555 2.433 2.321 3.0169 3.0432 3.0269 2.8929 2.8066 3.3131 2.7146 3.0269 2.8929 2.8066];
数据一一对应总共39个点
求用MATLAB拟合成光滑曲面
问题补充:
运行很成功
只是我看不懂[X,Y,Z]=griddata(x,y,z,linspace(1.486,4.271)',linspace(1.604,4.276),'v4');%插值
是什么意思啊
能帮我解释一下吗??
推荐答案
x=[1.52 3.03 3.27 4.2 0.93 -4.2 -3.27 -3.03 -1.52 1.1 1.15 1.2 1.25 1.3 1.35 1.4 1.45 1.5 1.55 1.6 1.65 1.7 1.75 1.8 1.85 1.9 1.95 2 2.05 2.1 2.15 2.2 2.25 2.3 2.35 2.4 2.45 2.5 2.55];
y=[0.8 2.1 4.6 7.1 8.4 7.1 4.6 2.1 0.8 16.0 3.0 2.0 13.0 5.0 10.0 11.0 8.0 9.0 6.0 7.0 12.0 4.0 15.0 14.0 1.0 3.0 5.0 7.0 2.0 12.0 5.0 34.0 6.0 7.0 23.0 12.0 3.0 5.0 19.0];
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论