matlab用多项式函数拟合曲线,且使这个函数要过一定点(x0,y0),matlab中有现成的函数,还是需要编写程序,请

问题描述:

matlab用多项式函数拟合曲线,且使这个函数要过一定点(x0,y0),matlab中有现成的函数,还是需要编写程序,请高手指点
包含不能保证一定经过啊,必须精确经过(x0,y0),其余的可以拟合
1个回答 分类:综合 2014-11-01

问题解答:

我来补答
假如说你要求的函数的形式如y=a*x.^2+b*x+c
若要保证过(7,9)这点,你就可把函数的形式改为y-9=a*(x-7).^2+b*(x-7)
即y=a*(x-7).^2+b*(x-7)+9
把这函数编入m文件(function文件)
function [y]=f(aa,x)
y=aa(1)*(x-7).^2+aa(2)*(x-7)+9;
另外编个文件输入
x=rand(1,10)
y=rand(1,10)
aa=[1 2]
F=f(aa,x)
[A,res]=lsqcurvefit('f',ones(1,2),[x],F)
这里只是举个例子,你只要把x,y以及(7,9)以及多项式的形式改成你的数据就可以了.
lsqcurvefit的用法可参照help lsqcurvefit.
完毕.
 
 
展开全文阅读
剩余:2000
上一页:圆向量