作业帮 > 数学 > 作业

指数类型函数的逼近遇到一个麻烦,需要把两组数据,也就是X1,X2,X3.X7,和Y1,Y2,Y3.Y7,fit成一个拥有

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/18 13:54:04
指数类型函数的逼近
遇到一个麻烦,需要把两组数据,也就是X1,X2,X3.X7,和Y1,Y2,Y3.Y7,fit成一个拥有类型为
Y=a-b*exp(c*X)
的形式的函数.a,b,c为待定系数.
不知道这样是否在数学上一定存在这样的函数可以满足上述形式,如果有,可否利用matlab实现?
我只会一点多项式拟合,最小二乘法什么的.由于这个函数形式中a不等于0,似乎也无法通过对数手段化简.
数学上当然不一定,例如我给你的x,y数据是在一条直线上的,能有这样的指数函数么?对吧
你既然都叫fit了,就是逼近.其次一般方程都是过定的,因为只有3个参数,你有7个点.
可以用nonlinear fit
先存个myfun.m
function F = myfun(x)
X=1:7; % 可以换成你的data
Y=1-2*exp(3*X); % 可以换成你的data
F=x(1)-x(2)*exp(x(3)*X)-Y;
x0=[.95,1.1,3.2]; % 初始猜测表示a,b,c
[x,resnorm] = lsqnonlin(@myfun,x0)
就会fit出来了,但是我试了几次发现a的误差较大,跟问题本身有关.