如何使用matlab拟合指数分布函数(如何用matlab做指数拟合)

本文目录
如何用matlab做指数拟合
x=;
y=;
cftool(x,y)
在弹出的对话框选择fitting,弹出新的对话框选择 new fit,然后在第三个下拉菜单(Type of fit)中选择Exponential,然后点击Apply,即可;最后结果
General model Exp1:
f(x) = a*exp(b*x)
Coefficients (with 95% confidence bounds):
a = 1.453e+082 (-7.288e+084, 7.317e+084)
b = -0.09312 (-0.3464, 0.1602)
Goodness of fit:
SSE: 90.2
R-square: 0.9761
Adjusted R-square: 0.9522
RMSE: 9.497
注:括号中的是次要参数;
最终拟合结果:
f(x) = 1.453e+082*exp(-0.09312*x)
将2012带入即得
f(2012)=6.2225
matlab中的指数曲线拟合问题,我有一个函数,他的格式是y=exp(-x/a)
楼上的分析很好,不过他先入为主了.就是说先给定了a值,然后来按拟合,确实是截距为0的,但实际数据却不是这么好.就按他给的例子,我分析并写了下面的代码,你运行一下就有更深的体会:
a=0.3145;
x=-0.3:0.01:3;
y=exp(-x/a);
plot(x,y)
ly=log(y);
lx=x+rand(size(x))/100;%注意这一步,是为了让你的x量发生生变化!
aa=-lx/ly;%这个就是你要求的aa,看可以发现它与a很接近!
hold on
plot(lx,exp(-lx/aa),’r’);%画出图对比可以发现很接近!
norm(y-exp(-lx/aa));%这个是计算误差,可以发现它很小!
总之,aa=-x/log(y);x和y都是你的实际数据.
=========================================
是你没有理解我们的意思了.
楼上说得好,补充得好!
你只要运行:
aa=-x/log(y);
就得到你要的a了.
我估计你没有看懂我的回答.

更多文章:
全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)
2026年9月7日 17:10
matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)
2026年9月7日 16:30
oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)
2026年9月7日 15:30
电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)
2026年9月7日 12:20
scrollthrough意思(“scroll”是什么意思)
2026年9月7日 08:00
怎么激活keygen(注册机如何激活cad2008一个简单激活cad2008的方法)
2026年9月7日 06:30
vba编写excel插件(excel vba中能否动态创建控件)
2026年9月7日 04:40




