MATLAB——最小二乘法拟合指数函数“y=Ae^Bx”

一、相关函数

1、MATLAB中polyfit函数是用来进行多项式拟合的。其数学原理是基于最小二乘法进行拟合的。具体使用语法是:p = polyfit(x,y,n);
% 其中x,y表示需要拟合的坐标点,大小需要一样; n表示多项式拟合的次数。
% 返回值p表示多项式拟合的系数,系数从高到低排列
2、

多项式曲线求值函数:polyval( )

调用格式: y=polyval(p,x)

说明:y=polyval(p,x)为返回对应自变量x在给定系数P的多项式的值。

[y,DELTA]=polyval(p,x,s) 使用polyfit函数的选项输出s得出误差估计Y DELTA。它假设polyfit函数数据输入的误差是独立正态的,并且方差为常数。则Y DELTA将至少包含50%的预测值。

3、log函数——log(x)——对x的函数都用 ln(x) 计算;

二、题例:

步骤

1、构建x、y矩阵

2、做x、y散点图

可用:plot(x,y,'o');

hold on;

3、z=log(y);以此方法求一组因变量z,z为lny,可以通过求出z对x的拟合再取e^z求y

z与x关系为z=lna+bx

4、x1=0:0.01:8;

构建一个x1作为拟合后的x轴

5、p=polyfit(x,z,1);

求z=lna+bx的系数

6、z1=polyval(p,x1);

求此系数下拟合的z值

7、y1=exp(z1);

如上文所说,通过z求y

8、plot(x1,y1,'r');

作图

三、总结代码

x=1:1:8;
y=略;
plot(x,y,'o');
hold on;
z=log(y);
p=polyfit(x,z,1);
x1=0:0.01:20;
z1=polyval(p,x1);
y1=exp(z1);
plot(x1,y1,'r');
 

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值