找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1179|回复: 0
打印 上一主题 下一主题
收起左侧

Matlab拟合曲线的方式

[复制链接]
跳转到指定楼层
楼主
Matlab拟合曲线的方式
Matlab拟合曲线的方式有很多种,有三次样条插值、线性插值、多项式拟合等等。多项式拟合,若采用最小二乘法拟合,对于参是一个线性方程组,可以用Matlab求逆矩阵的方法,得到方程的最小二乘解。但如果参数构成的方程组并不是线性方程组,则不可以用矩阵的方法求得。使用样条插值和线性插值固然可以,但是得不到需要的表达式,此时使用非线性拟合方法解决最为合适。
通常,我们在实验前对模型都有一个假设,例如这是一个指数衰减的曲线,或者指数衰减振荡的曲线,或者是一个周期振荡的由若干个频率的三角函数叠加组成的信号。此时我们只需要指定需要估计的参数,代入数据求解即可。以下就是一个点典型的例子。
clc
close all
plot(xdata,ydata);xlim([0,1]);hold on;%实际曲线绘图
fun=@(x,xdata)(x(1)*(1-exp(-xdata/x(2))));%估计函数
x0=[1500,0.025];%初始估计值[x(1),x(2)]
x=lsqcurvefit(fun,x0,xdata,ydata);%非线性函数拟合
y=fun(x,xdata);%代入估计的值,并获得函数点
plot(xdata,y);xlim([0,1]);%绘制估计曲线
title(['[K,Tp]=',num2str(x)]);%标注估计的参数






分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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