首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Weibull分布误差

Weibull分布误差
EN

Stack Overflow用户
提问于 2013-12-03 19:21:04
回答 2查看 519关注 0票数 1

file.data有以下与威布尔分布相匹配的值,

代码语言:javascript
复制
x       y 
2.53    0.00
0.70    0.99
0.60    2.45
0.49    5.36
0.40    9.31
0.31    18.53
0.22    30.24
0.11    42.23

在威布尔分布函数f(x)=1.0-exp(-lambda*x**n)之后,它给出了错误:

代码语言:javascript
复制
fit f(x) 'data.dat' via lambda, n

最后绘制f(x)图和xy图有很大的出入。

如有任何反馈,将不胜感激。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-03 20:23:47

有几件事:

  1. 您必须跳过第一行(如果它真的是x y)。
  2. 您必须使用正确的函数( pdf而不是CDF,参见distribution,就像在https://stackoverflow.com/q/20336051/2604213中所做的那样)
  3. 您必须使用额外的缩放参数,因为您的数据没有标准化。
  4. 你必须选择合适的初始值。

下列各项运作良好:

代码语言:javascript
复制
f(x) = (x < 0 ? 0 : a*(x/lambda)**(n-1)*exp(-(x/lambda)**n))
n = 0.5
a = 100
lambda = 0.15
fit f(x) 'data.dat' every ::1 via lambda, n, a

set encoding utf8
plot f(x) title sprintf('λ = %.2f, n = %.2f', lambda, n), 'data.dat' every ::1

这意味着( 4.6.4):

票数 1
EN

Stack Overflow用户

发布于 2013-12-03 20:16:48

如果这是您提供给gnuplot的实际命令,它将无法工作,因为您还没有定义f(x)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20359781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档