33问答网
所有问题
matlab 指数曲线拟合:y=a*exp((t-b)^2/c)
t=[219,222,223,226,229,233];y=[352,2353,3513.6303,3521];
求解系数a,b,c
举报该问题
推荐答案 2010-12-31
clear
t=[219 222 223 226 229];%你给的数据有问题,请自行调整
y0=[352 2353 3513 6303 3521];
y1=ones(size(y0),1);
y1=log(y0);%对原方程两边取对数
p=polyfit(t,y1,2);%p为拟合多项式的系数,降幂排列
c=1/p(1);%把取对数后的式子整理一下,就可以得到abc跟p的对应关系
b=-p(2)*c/2;
a=exp(p(3)-b^2/c);
a
b
c
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://33.wendadaohang.com/zd/cRRc5R40B.html
其他回答
第1个回答 2010-12-31
定义拟合函数:
function s=hansh(x,r)
a=x(1);
b=x(2);
c=x(3);
s=a*exp((r-b)^2/c);
主函数:
t=[219 222 223 226 229 233];
y=[352 2353 3513 6303 3521 3300]; %你的数据少个y
x0=[1 1 1]; %对a,b,c赋初值
[x,resnorm]=lsqcurvefit(@hansh,x0,t,y) %最小二乘曲线拟合
第2个回答 2010-12-31
同意二楼做法,应该使用最佳平方逼近,但你的数据好像有问题啊
相似回答
曲线拟合
一般有哪些方法?
答:
1、用解析表达式逼近离散数据的方法
2
、最小
二
乘法
matlab中
的
exp
是什么意思
答:
matlab中
的exp是自然
指数
e的表示方法。即 exp(1) 就等于 e
exp(2)
就等于 e
178
;exp(
3) 就等于 e³。。。在
matlab的
命令窗口中,可以直接输入计算,即 >>exp(2)ans=7.3891
曲线拟合
的方法
答:
Exponential
:指数
逼近,有2种类型,
a*exp(b
*x) 、 a*exp(b*x) +
c
*exp(d*x) Fourier:傅立叶逼近,有7种类型,基础型是 a0 + a1*cos(x*w) + b1*sin(x*w) Gaussian:高斯逼近,有8种类型,基础型是 a1*exp(-
((
x-b1)/c1
)^2)
61623; I...
大家正在搜
相关问题
matlab 指数曲线拟合:k=A*exp(-B/(T-C)...
matlab 指数曲线拟合:y=a*exp(b*f^c)
matlab最小二乘法拟合y=a*exp(-b/t),转换成...
matlab 指数曲线拟合:y=1-exp[-(x/d)^n...
怎样使用Matlab拟合y=a*exp(bx)+c*exp(...
matlab中用nlinfit拟合指数函数f=a*exp(b...
如何用matlab进行二次指数拟合?拟合模型为y=exp(a...
拟合函数y=a*exp(b*x)+c