作业帮 > 综合 > 作业

matlab中如何拟合光滑曲线

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/30 08:54:29
matlab中如何拟合光滑曲线
一连串由实验得到的点 画出图后如何拟合成光滑曲线?
要是你的数据是线性的话,可以用多项式拟合:
polyfit(x,y,n) n为所需要拟合多项式的次数,返回值为多项式系数;
若是非线性的话,你得有一个和你绘图曲线吻合的函数模型,然后在这个函数模型基础上求这个函数模型的参数,非线性拟合可以用:
lsqcurefit(fun,x0,xdata,ydata) fun是函数模型,x0是初值;
多元的非线性拟合可以用:nlinfit(x,y,fun,beta0) beta0是初值.
若是知道曲线是几种基础函数的合成的话,可以利用原始的最小二乘法拟合函数,在网上随便找一下最小二乘法的程序m文件,添加进去就能用.
再问: 请问用polyfit时 如果是二次函数关系 n就等于2吗? 还有 如果我不知道是什么关系 只知道是曲线 用lsqcurefit时 x0初值是什么? 谢谢!
再答: 嗯 对的 二次函数就是 n=2;返回的值第一个是最高次的,一次类推; 初值是按经验选的,先是随便填个数就行,然后慢慢调试,看看能否得出好的结果,不行就换个数试试。一般的话随便填个数就能行。 若是不知道函数模型,就只能拟合多项式了,你试试多项式就行了。