数学建模--数据拟合
来源:互联网 发布:社区门诊软件 编辑:程序博客网 时间:2024/05/18 02:52
数学建模中经常会给出数据,然后进行拟合,matlab有cftool数据拟合工具箱,但是我还是习惯于使用拟合函数。
1.多项式拟合
拟合函数:
P = polyfit(X,Y,N)[P,S] = polyfit(X,Y,N)[P,S,MU] = polyfit(X,Y,N)%参数解释%X自变量数据序列%Y因变量数据序列%N序号拟合的多项式次数%P多项式的系数向量%f(x)=P(1)*X^N + P(2)*X^(N-1) +...+ P(N)*X + P(N+1)%S是一个结构体,我们主要关注S.normr,是残差%MU(1)=mean(X)均值 MU(2)=std(X)标准差
例子
X=0:0.01:10Y=2*X.^2+1N=2[P,S] = polyfit(X,Y,N)>>P = 2.0000 -0.0000 1.0000S = R: [3x3 double] df: 998 normr: 2.8477e-012
一般多项式拟合还会用到polyval函数,该函数是根据上面拟合出来的多项式模型进行求值。
Y = POLYVAL(P,X)%P是polyfit返回的多项式系数%X输入值%Y是预测值
2.自定义函数拟合
除了上面的多项式拟合,matlab还支持自定义函数拟合,根据给出的函数求系数。lsqcurvefit函数利用最小二乘法求系数:
X=[3; 1; 4]; Y=6*exp(-1.5*xdata)+3; a = lsqcurvefit(@(a,X)a(1)*exp(-1.5*X)-a(2),[0;-1.5],X,Y)>> a= 6 -3%a是拟合函数的系数
lsqcurvefit还有其他形式
[X,RESNORM,RESIDUAL,EXITFLAG]=lsqcurvefit(FUN,X0,XDATA,YDATA,...)%X0是初始解向量%resnorm=sum ((fun(x,xdata)-ydata).^2),即在x处残差的平方和;%residual=fun(x,xdata)-ydata,即在x处的残差;%exitflag为终止迭代的条件;%output为输出的优化信息;%lambda为解x处的Lagrange乘子;%jacobian为解x处拟合函数fun的jacobian矩阵。
阅读全文
0 0
- 数学建模--数据拟合
- MATLAB数据拟合工具在数学建模中的运用
- 数学建模--插值和拟合实例
- 数学建模(12)——拟合
- 数学建模处理数据
- MatLab建模学习笔记6——数据拟合方法
- 数学建模建模建模
- 【数学建模】数据包络分析法
- 数据人生——数学建模篇
- 数学建模常用Matlab/Lingo/c代码总结系列——插值拟合
- 数学建模常用Matlab/Lingo/c代码总结系列——非线性拟合
- 数学建模算法 一 简述(2)插值 拟合算法
- 数学建模
- 数学建模
- 数学建模
- 数学建模
- 数学建模
- 数学建模
- 文件操作1
- linux 编程面试常见问题整理
- Linux Shell第二期
- mtk架构分析资料详解
- Spring cron 表达式
- 数学建模--数据拟合
- SpringMvc架构图
- Java 笔记总结(一)
- 2017.9.5 DZY Loves Math 失败总结
- Codeforces Round#432 B. Arpa and an exam about geometry
- weights.getA()是什么?
- 异步+listview展示网页面效果
- Kinect Win10环境配置
- 命令模式