2010-09-30 65 views
2

从一条曲线的曲线开始,可以获得该曲线的参数方程吗?matlab插值

特别地,假设x = {1 2 3 4 5 6 ....} x轴,并且y = {a b c d e f ....}相应的y轴。我有情节(x,y)。

现在,我如何获得描述绘制曲线的方程?可以显示从样条插补开始的参数方程?

谢谢

+0

参数或多项式?你需要一个相应的't'参数变量,除非你假设它只是元素数。 – Doresoom 2010-09-30 15:29:38

回答

2

您正在询问两个数据集之间的函数/映射。了解所涉及的物理,可以通过对系统进行建模来导出函数。写下微分方程并解决它。

只剩下两个数据系列,一个输入和一个带有“黑匣子”的输出可以用一个任意函数逼近该系列。你可以用多项式函数

y = a*x^2 + b*x + c 

鉴于你输入向量x和你的输出向量y开始,参数a,b,c必须是确定应用适应度函数。

在MathWorks文档中有一个Polynomial Curve Fitting的示例。

6

如果你想显示图形旁边一个多项式拟合函数,下面的例子应该有所帮助:

x=-3:.1:3; 
y=4*x.^3-5*x.^2-7.*x+2+10*rand(1,61); 
p=polyfit(x,y,3); %# third order polynomial fit, p=[a,b,c,d] of ax^3+bx^2+cx+d 
yfit=polyval(p,x); %# evaluate the curve fit over x 
plot(x,y,'.') 
hold on 
plot(x,yfit,'-g') 
equation=sprintf('y=%2.2gx^3+%2.2gx^2+%2.2gx+%2.2g',p); %# format string for equation 
equation=strrep(equation,'+-','-'); %# replace any redundant signs 
text(-1,-80,equation) %# place equation string on graph 
legend('Data','Fit','Location','northwest') 

alt text

+0

谢谢你非常有用的解释! – vittorio 2010-10-01 08:35:35

5

去年,我写了一组三个blogs的罗兰,上建模/插入曲线的话题。他们可能会涵盖你的一些问题,尽管我从来没有找到时间添加另外3个博客来完成这个话题,让我满意。也许有一天我会完成这件事。

问题是要认识到有无限多的曲线会插入一组数据点。样条是一个不错的选择,因为它可以表现得很好。但是,样条没有简单的“等式”来记录。相反,它有许多多项式段,拼凑在一起表现良好。

0

曲线拟合工具提供了一个灵活的图形用户界面,您可以交互地将曲线和曲面拟合到数据和视图。您可以:

创建,打印和比较多个拟合

使用线性或非线性回归,插值,局部平滑回归,或自定义方程

查看拟合优度拟合统计,显示confidenceintervals和残差,除去异常值和评估与validationdata

配合自动生成用于装配和plottingsurfaces代码,或出口配合到工作区用于进一步分析