有1460个数据,想在matlab中用伽马分布,beta分布等进行拟合,有没有大神教教我怎么拟合额,完全不懂

如题所述

只要你有数学模型,可以用matlab的非线性拟合函数(如nlinfit;lsqcurvefit;lsqnonlin)来完成。

一般实现方法:

1、已知一组数据(可以多个自变量)

x=[。。。];y =[。。。];

2、自定义函数(数学模型表达式)

nh_fun=@(a,x) 数学模型表达式  %a为拟合系数

3、用拟合函数拟合系数

a=lsqcurvefit(nh_fun,a0,x,y)     %a0为拟合系数的初值

4、根据拟合方程计算的结果y1与y作比较,当y-y1的差值比较小,则可以认为其拟合过程是合理的。

追问

290.8567,289.8833,284.49,281.3337,290.6367,289.8203,284.2203,280.8767,290.96,290.29,283.9167,281.0637,291.15,290.7733,285.2503,281.5503,292.3233,291.83,285.48,281.8633,291.87,291.54,285.2703,282.32,292.017,291.4467,284.5537,281.3537,291.87,291.1267,284.9267,281.57,292.02,291.2167,285.0137,281.9303可以具体写一下代码不额,谢谢了

温馨提示:答案为网友推荐,仅供参考