威布尔分布拟合/威布尔参数估计Matlab函数

威布尔分布拟合/威布尔参数估计Matlab函数最小二乘法拟合威布尔分布 Matlab 函数 可以直接调用使用

背景

关于威布尔分布的介绍和最小二乘法拟合方法已在此博客介绍,此处不再赘述。

Matlab代码

%Project: 威布尔分布拟合/威布尔参数估计函数 %Author: Jace %Data: 2022/3/4 %====================原理==================== %s为威布尔分布的自变量,F(s)为威布尔分布的因变量: %F(s)=1-exp(-(s/eta)^beta) %将威布尔分布化为线性,假设 %x=log(s) %y=log(log(1/1-F(s))) %将s按大小顺序排列后,得 %F(s)=i/n+0.1 %n为样本总数 %====================函数==================== function [beta,eta]=Weibullfit(s,n) %初始化 x_Sum=0; y_Sum=0; xy_Sum=0; xx_Sum=0; %求平均值和累计和 for i=1:n%求样本累积和 x_Sum=x_Sum+log(s(i)); y_Sum=y_Sum+log(log(1/(1-(i/(n+0.1))))); xy_Sum=xy_Sum+log(s(i))*log(log(1/(1-(i/(n+0.1))))); xx_Sum=xx_Sum+log(s(i))^2; end %估计分布参数 beta=(n*xy_Sum-x_Sum*y_Sum)/(n*xx_Sum-(x_Sum^2)); eta=exp((x_Sum/n)-(y_Sum/n)/beta); end 

测试用例

%Project: 威布尔分布拟合测试函数 %Author: Jace %Data: 2022/3/4 clear all; close all; N=100;%样本总数 %--------威布尔分布参数---------- eta=1; beta=3; X=wblrnd(eta,beta,N,1);%生成威布尔分布样本 Xs=sort(X);%排序 %---------初始化---------- F=zeros(1,41); Q=zeros(1,N); %---------拟合估计参数---------- % [WG]=wblfit(X,N);%matlab自带最大似然估计法拟合,估计参数 [Wbeta,Weta]=Weibullfit(Xs,N); %---------生成横纵坐标以用于绘制分布图像---------- for t=1:N Q(t)=t/(N+1); end for k=1:41 i=(k-1)/10; F(k)=Weibull(i,Wbeta,Weta); end %---------绘图---------- i=1:N; j=1:40; figure hold on; box on; plot(Xs(i),Q(i),'b.'); plot(j/10,F(j),'-r.'); legend('Sample','Weibull'); 

其中依赖的Weibull函数为,需添加在同路径为Weibull.m

%Project: 威布尔函数 %Author: Jace %Data: 2022/3/4 function [F]=Weibull(s,bata,eta) F=1-exp(-(s/eta)^bata); end 

效果

在这里插入图片描述
蓝色点为样本点,红色曲线为拟合威布尔分布曲线

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/224078.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午12:44
下一篇 2026年3月17日 下午12:45


相关推荐

  • Fluentd学习笔记

    Fluentd学习笔记转载自 https blog laisky com p fluentd fluentd 学习笔记 fluentd 学习笔记最近为了做一些数据分析 把我自己服务器上所有应用的日志都通过 fluentd 转存到 mongodb 了 第一次用 fluentd 记录一些笔记 因为是初学 绝大部分内容来源于官方文档 2 等实际线上使用一段时

    2026年3月17日
    1
  • php spreadsheet导入

    php spreadsheet导入/***导入*/publicfunctionimport(){//composer安装//composerrequirephpoffice/phpspreadsheet$upload_file=$_FILES[‘file’][‘tmp_name’];//文件类型//$ext=strtolower(pathinfo($_FILES[‘file…

    2025年11月29日
    10
  • 文献阅读笔记:Deep contextualized word representations(ELMo)

    文献阅读笔记:Deep contextualized word representations(ELMo)0 背景机构 Allen 人工智能研究所 amp 华盛顿大学作者 PaulG 发布地方 arxiv NAACL2018 面向任务 wordrepresen 论文地址 https arxiv org abs 1802 05365 论文代码 https github com allenai bilm tf 顺便安利该研究所的 https github com al

    2026年3月18日
    2
  • md5 java 工具类_javamd5工具类

    md5 java 工具类_javamd5工具类importjava.io.UnsupportedEncodingException;importjava.security.MessageDigest;importjava.util.HashMap;importjava.util.Map;importjava.util.concurrent.locks.ReentrantLock;importorg.apache.commons.l…

    2022年7月14日
    20
  • 10v转16v_nv12和nv21区别

    10v转16v_nv12和nv21区别摘要关于像素格式转换,搜到的帖子基本是NV16转RGB24或NV12转RGB24,对于NV16转NV12并没太多资料,因此我打算参照这两个像素格式的结构,实现这个转换接口。NV16像素格式介绍NV16可以理解为yuyv像素格式的变种,属于YUV422SP类型。整帧图像的大小为Width*Height*2。其像素格式如下:start+00: Y’00 Y’01 Y’02 …

    2026年3月6日
    8
  • phpstorm激活码2021到4月_通用破解码

    phpstorm激活码2021到4月_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号