《如何用matlab将空间中的点用光滑的曲线连接起来48997.pdf》由会员分享,可在线阅读,更多相关《如何用matlab将空间中的点用光滑的曲线连接起来48997.pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、.参考 如何用 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)这是我自己随便写的一段程序,运行结果就是把上面的点一次用直线连接起来,可是这样的话显得连线不平滑,尤其是折点处显得很硬,我希望能用插值法把它变得平
2、滑些,可是三维的差值我不会,希望论坛里,会的朋友给我把程序补充下,谢谢!可以这样: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 on plot3(x,y
3、,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.78
4、53.参考 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;最佳答案 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)%
5、原来的折线 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
6、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.51
7、91 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
8、 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.
9、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;scatter(x,
10、y,5,z)%散点图 figure X,Y,Z=griddata(x,y,z,linspace(-4.2,4.2),linspace(0.8,34),v4);%插值 pcolor(X,Y,Z);shading interp%伪彩色图 figure,contourf(X,Y,Z)%等高线图 figure,surf(X,Y,Z)%三维曲面 那个写错了.参考 X,Y,Z=griddata(x,y,z,linspace(-4.2,4.2),linspace(0.8,34),v4);%插值 -4.2,4.2 x的最小最大值 0.8,34 y的最小最大值 v4 matlab的插值算法 matlab 中几点
11、如果画出光滑的类似正态分布的图 已经知道几个点 0.3 1 0.5 12 1 24 2 35 3 26 4 14 5 5 6 2 7 1 如何运用 matlab 得到光滑的曲线,给具体的程序,越快越好 最佳答案 x=0.3 0.5 1 2 3 4 5 6 7;y=1 12 24 35 26 14 5 2 1;xi=0.3:0.1:7;yi=interp1(x,y,xi,spline);plot(xi,yi)利用的是一维插值中的三次样条插值。如何将离散点用光滑曲线连接起来 今天做机械振动实验,测量单自由度系统强迫振动的幅频特性及其固有周期,现在测得频率和与该频率对应的幅值,有十几组数据,希望高手
12、教我如何利用 MATLAB 将这些离散点用光滑曲线连接起来.参考 用条样函数可以吗?spline(x,y,xx)x=rand(10,1);y=rand(10,1);xx=0:0.01:10;yy=spline(x,y,xx);plot(x,y,o,xx,yy);xlim(0,1);ylim(-1,2);非常感谢你。只是用这个条函数做出来的图形,会有一些点的 y 值为负值,而实际上 y 方向上振幅都是正的。我不会插图,我把我的程序复制上来,只是希望把那些离散点用光滑曲线连接起来 clear x=7 10 15 20 24 24.5 24.6 24.7 24.8 24.9 25.0 25.1 25
13、.2 25.3 25.4 25.5 26 27 30 35 40 45 50;y=1.23 4.51 7.71 17.50 122.80 246.70 282.79 317.60 336.50 339.30 330.10 313.51 297.52 279.81 258.52 238.10 160.3 89.7 47.3 27.12 21.57 18.27 16.71;.参考 plot(x,y,g-)figure scatter(x,y)呃,无力,我只能自己加些点调整一下。splinetool 【求助】怎样用三维离散点拟合光滑曲面 已知实验数据 x=0 6.8 18.6 21.3-3 12.5
14、 13 20.7 17.7 20.8 1.1 6.3 13.2-3.4 3.5 18.9 11.3 13.1;y=-1.7 1.1 0.8 1.2 3.1 3-3.1-4.2 4.1 5.8-6.4 5.8 7.4 5.3 5.9 9.7 7.6-10.7;z=-0.59-0.58 0.53 1.25 1.26-0.2-0.18-0.14 0.64-0.1.06 0.73-0.15 0.15-0.1 0.08 0.17 0.8;怎样用 MATLAB 作出光滑的三维曲面?就是根据空间中一些离散的点来绘制一个曲面的方法 我不知道具体怎么做,请教大家一下。.参考 方便的话可以发一下代码和绘制出来的图
15、片吗?呵呵,谢谢大家。clear;clc x=0 6.8 18.6 21.3-3 12.5 13 20.7 17.7 20.8 1.1 6.3 13.2-3.4 3.5 18.9 11.3 13.1;y=-1.7 1.1 0.8 1.2 3.1 3-3.1-4.2 4.1 5.8-6.4 5.8 7.4 5.3 5.9 9.7 7.6-10.7;z=-0.59-0.58 0.53 1.25 1.26-0.2-0.18-0.14 0.64-0.1.06 0.73-0.15 0.15-0.1 0.08 0.17 0.8;X,Y=meshgrid(-4:0.5:22,-11:0.5:10);Z=gr
16、iddata(x,y,z,X,Y);mesh(X,Y,Z)hold on plot3(x,y,z,*)用 griddata trimesh 等形成的曲面不是很光滑啊 跪求更好的方法 griddata 中选用 V4 等光滑性的函数 clear all clc x=0 6.8 18.6 21.3-3 12.5 13 20.7 17.7 20.8 1.1 6.3 13.2-3.4 3.5 18.9 11.3 13.1;y=-1.7 1.1 0.8 1.2 3.1 3-3.1-4.2 4.1 5.8-6.4 5.8 7.4 5.3 5.9 9.7 7.6-10.7;z=-0.59-0.58 0.53
17、1.25 1.26-0.2-0.18-0.14 0.64-0.1.06 0.73-0.15 0.15-0.1 0.08 0.17 0.8;scatter3(x,y,z)x=x;y=y;z=z;hold on Z=ones(length(x),1),x,y,x.2,x.*y,y.2,x.3,x.2.*y,x.*y.2,y.3;A=Zz;X=min(x)-1:0.2:max(x)+1;Y=min(y)-1:(max(y)-min(y)+2)/(length(X)+1):max(y)+1;x y=meshgrid(X,Y);.参考 z=A(1)+A(2)*x+A(3)*y+A(4)*x.2+A(5)*x.*y+A(6)*y.2+A(7)*x.3+A(8)*x.2.*y+A(9)*x.*y.2+A(10)*y.3;mesh(x,y,z)