如何画出近似于抛物线的图
请教一下怎样用matlab画出近似于抛物线的图,我是输入点的坐标,但是图形不圆滑,怎样改变能使曲线比较圆滑呢。——你的标题不符合规范,请认真阅读一遍会员守则,如果不是看到有版友回复我就操刀删帖的了by eight
[ 本帖最后由 eight 于 2008-3-2 09:57 编辑 ] 点数取密集一点可能会好一些,而且画出图后改变图的大小视觉效果也会不同。 我知道。但是现在的点我只能找出这些,再没有别的办法了吗
回复 3楼 的帖子
插值拟合求插值拟合的程序
我现在有一组数据,大约有二十个点。想画出图形,但是不够圆滑。有没有现成数值拟合的程序借用一下。谢谢函数插值与曲线拟合
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]