【数学建模】(七):数据拟合与插值

数值插值

拉格朗日插值

function yy=lagrange(x,y,xx)
m=length(x);
n=length(y);
if m~n,error('向量长度不相等')
end
s=0;
for i=1:n;
	t=ones(1,length(xx)):
	for j=1:n
		if j~=i,
			t=t.*(xx-x(j))/(x(i)-x(j));
		end
	end
	s=s+t*y(i);
end
yy=s;

clear;
x=[--]
y=[--]
xi=-0.2:0.01:0.3;
yi=lagrange(x,y,xi)

曲线拟合

多项式拟合

[p,s]=polyfit(x,y,n)
n:阶数
p:系数向量
s:系数向量是信息结构

x=0:pi/20:pi;
y=sin(x)
a=polyfit(x,y,5);
y1=polyval(a,x)
plot(x,y,'go',x,y1,'b--')

直线的最小二乘拟合

[k,b]=linefit(x,y)

x=[--]
y=[--]
[k,b]=linefit(x,y)
y1=polyval([k,b],x)
plot(x,y1)
hold on
plot(x,y,'*')

函数线性组合

想要拟合成这样,求参数:
g ( x ) = c 1 + c 2 e − 2 x + c 3 c o s ( − 2 x ) e − 4 x + c 4 x 2 g(x)=c_1+c_2e^{-2x}+c_3cos(-2x)e^{-4x}+c_4x^2 g(x)=c1+c2e2x+c3cos(2x)e4x+c4x2

function yy=linefit2(x,y,A)
n=length(x);
y=reshape(y,n,l)
A=A';
yy=A\y;
yy=yy';

clear
x=[--]
y=[--]
A=[ones(size(x);exp(-2*x);cos(-2*x).*exp(-4*x);x.^2];   %除了系数
yy=linefit2(x,y,A)
%画图
plot(x,y,'or')
hold on
x=[0:0.01:0.92]';
A1=[ones(size(x) exp(-2*x),cos(-2*x).*exp(-4*x) x.^2];
y1=A1*yy';
plot(x,y1)
hold off

最小二乘法曲线拟合

[p,s,mu]=polyfit(x,y,n)
mu:两个元素:标准化过程中的X的均值和标准差
就是多项式拟合啊

好啦好啦终于看完(差不多)这本书了
希望国赛有个好成绩!!!!!

工具箱拟合

等一下我咋记得有个工具箱拟合
Alt
Curve Fitting Toolbox 提供一个 App 和多个函数,可对数据进行曲线和曲面拟合。使用该工具箱可以执行探索性数据分析,预处理和后处理数据,比较候选模型,以及删除离群值。您可以使用工具箱提供的线性和非线性模型库进行回归分析,也可以指定自定义方程。该库提供优化的求解器参数和起始条件,以提高拟合质量。该工具箱还提供非参数化建模方法,如样条、插值和平滑。
在创建一个拟合之后,您可以运用多种后处理方法进行绘图、插值和外插,估计置信区间,并可计算积分和导数。
在命令窗口中直接输入”cftool”,打开工具箱
参考

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值