声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2367|回复: 5

[绘图技巧] 如何画出近似于抛物线的图

[复制链接]
发表于 2008-3-1 23:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
请教一下怎样用matlab画出近似于抛物线的图,我是输入点的坐标,但是图形不圆滑,怎样改变能使曲线比较圆滑呢。

——你的标题不符合规范,请认真阅读一遍会员守则,如果不是看到有版友回复我就操刀删帖的了  by eight

[ 本帖最后由 eight 于 2008-3-2 09:57 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-3-2 09:20 | 显示全部楼层
点数取密集一点可能会好一些,而且画出图后改变图的大小视觉效果也会不同。
 楼主| 发表于 2008-3-2 11:37 | 显示全部楼层
我知道。但是现在的点我只能找出这些,再没有别的办法了吗
发表于 2008-3-2 11:45 | 显示全部楼层

回复 3楼 的帖子

插值拟合
 楼主| 发表于 2008-3-3 20:10 | 显示全部楼层

求插值拟合的程序

我现在有一组数据,大约有二十个点。想画出图形,但是不够圆滑。有没有现成数值拟合的程序借用一下。谢谢
发表于 2008-3-3 23:22 | 显示全部楼层

函数插值与曲线拟合

1、函数插值

  一维插值: interp1(x,y,cx,’method’)

  一维插值: interp1(x,y,z,cx,cy,’method’)

method:nearest、linear、spline、cubic

例:

clear

echo on

x=-2:0.4:2;

y=[2.8 2.96 2.54 3.44 3.56 5.4

6.0 8.7 10.1 13.3 14.0];

t=-2:0.01:2;

nst=interp1(x,y,t,'nearest');

plot(x,y,'r*',t,nst)

title('最临近点插值')

lnr=interp1(x,y,t,'linear');

figure(2)

plot(x,y,'r*',t,lnr,'b:')

title('线性插值')

spl=interp1(x,y,t,'spline');

figure(3)

plot(x,y,'r*',t,spl)

title('样条插值')

cbc=interp1(x,y,t,'cubic');

figure(4)

plot(x,y,'r*',t,cbc,'k-')

title('三次插值')

2、曲线拟合

多项式拟合:polyfit(x,y,m) 线性:m=1, 二次:m=2, …

例:

x=0:0.1:1;

y=[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];

A=polyfit(x,y,2)

Z=polyval(A,x);

Plot(x,y,’r*’,x,z,’b’)

你所做的就是选择合适的差值方式,画图,或者插值,再画图

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-12 08:02 , Processed in 0.068692 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表