C#,数值计算——伽马微分(Gammadev)的计算方法与源程序

1 文本格式
using System;
namespace Legalsoft.Truffer
{
public class Gammadev : Normaldev
{
private double alph { get; set; }
private double oalph { get; set; }
private double bet { get; set; }
private double a1 { get; set; }
private double a2 { get; set; }
public Gammadev(double aalph, double bbet, ulong i) : base(0.0, 1.0, i)
{
this.alph = aalph;
this.oalph = aalph;
this.bet = bbet;
if (alph <= 0.0)
{
throw new Exception("bad alph in Gammadev");
}
if (alph < 1.0)
{
alph += 1.0;
}
a1 = alph - 1.0 / 3.0;
a2 = 1.0 / Math.Sqrt(9.0 * a1);
}
public new double dev()
{
double u;
double v;
double x;
do
{
do
{
x = base.dev();
v = 1.0 + a2 * x;
} while (v <= 0.0);
v = v * v * v;
u = doub();
} while (u > 1.0 - 0.331 * Globals.SQR(Globals.SQR(x)) && Math.Log(u) > 0.5 * Globals.SQR(x) + a1 * (1.0 - v + Math.Log(v)));
//if (alph == oalph)
if (Math.Abs(alph - oalph) <= float.Epsilon)
{
return a1 * v / bet;
}
else
{
do
{
u = doub();
} while (Math.Abs(u) <= float.Epsilon);// (u == 0.0);
return Math.Pow(u, 1.0 / oalph) * a1 * v / bet;
}
}
}
}
2 代码格式
using System;namespace Legalsoft.Truffer
{public class Gammadev : Normaldev{private double alph { get; set; }private double oalph { get; set; }private double bet { get; set; }private double a1 { get; set; }private double a2 { get; set; }public Gammadev(double aalph, double bbet, ulong i) : base(0.0, 1.0, i){this.alph = aalph;this.oalph = aalph;this.bet = bbet;if (alph <= 0.0){throw new Exception("bad alph in Gammadev");}if (alph < 1.0){alph += 1.0;}a1 = alph - 1.0 / 3.0;a2 = 1.0 / Math.Sqrt(9.0 * a1);}public new double dev(){double u;double v;double x;do{do{x = base.dev();v = 1.0 + a2 * x;} while (v <= 0.0);v = v * v * v;u = doub();} while (u > 1.0 - 0.331 * Globals.SQR(Globals.SQR(x)) && Math.Log(u) > 0.5 * Globals.SQR(x) + a1 * (1.0 - v + Math.Log(v)));//if (alph == oalph)if (Math.Abs(alph - oalph) <= float.Epsilon){return a1 * v / bet;}else{do{u = doub();} while (Math.Abs(u) <= float.Epsilon);// (u == 0.0); return Math.Pow(u, 1.0 / oalph) * a1 * v / bet;}}}
}
相关文章:
C#,数值计算——伽马微分(Gammadev)的计算方法与源程序
1 文本格式 using System; namespace Legalsoft.Truffer { public class Gammadev : Normaldev { private double alph { get; set; } private double oalph { get; set; } private double bet { get; set; } private double a1 { g…...
【UE5 智慧城市系列】5-通过鼠标键盘控制摄像机
目标 通过鼠标WASD键控制摄像机前后左右移动,鼠标滚轮控制弹簧臂长度的修改,鼠标中键控制摄像机旋转。 步骤 1. 首先创建一个游戏模式,这里命名为“BP_GameMode” 2. 再创建一个玩家控制器,这里命名为“BP_PlayerController” …...
工作纪实38-ES分页数据问题
之前分页查询有接ES,随着系统使用时间数据量不断增加,会有如下报错。关键信息就是 Result window is too large, from size must be less than or equal to: [10000] but was [100001] 当索引非常非常大(千万或亿),是无法按照from size做深…...
设计模式之访问器模式(Visitor)的C++实现
1、访问器模式的提出 在软件开发过程中,早已发布的软件版本,由于需求的变化,需要给某个类层次结构增加新的方法。如果在该基类和子类中都添加新的行为方法,将给代码原有的结构带来破坏,同时,也违反了修改封…...
Python之OS模块
os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口;即os模块提供了非常丰富的方法用来处理文件和目录。 使用的时候需要导入该模块:import os...
vue 使用canvas 详细教程
Vue.js 中使用 Canvas Vue.js 是一个流行的 JavaScript 框架,用于构建用户界面。它提供了一种简洁的方式来管理和渲染数据,同时也支持与其他库和工具的集成。要在 Vue.js 中使用 Canvas,您可以按照以下步骤进行操作: 在 Vue.js …...
Git 基本操作【本地仓库与远程仓库的推送、克隆和拉取】
文章目录 一、Git简介二、Git的下载安装三、Git常规命令四、新建本地仓库五、本地分支操作六、Git远程仓库七、远程仓库克隆、抓取和拉取八、总结九、学习交流 一、Git简介 Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS&…...
FPGA开发
https://www.enclustra.com.cn/?bd_vid11435475462206745180 https://www.monolithicpower.cn/design-tools/design-tools/llc-design-tool.html https://www.elecfans.com/article/88/143/2012/20120718280641_2.html...
js手撕代码
1、实现instanceof运算符 instanceof运算符用于检测构造函数的prototype属性是否出现在某个实例对象的原型链上,运算符左侧是实例对象,右侧是构造函数。 const isInstanceof function(left,right){let proto Object.getPrototypeOf(left);while(true…...
typecho反序列化
typecho反序列化 环境的搭建 漏洞复现前提 <?php class Typecho_Feed {const RSS1 RSS 1.0;const RSS2 RSS 2.0;const ATOM1 ATOM 1.0;const DATE_RFC822 r;const DATE_W3CDTF c;const EOL "\n";private $_type;private $_items;public function __const…...
php程序设计的基本原则
单一职责原则(SRP):一个类应该只有一个原因引起变化,即一个类应该只负责一项职责。 class User {private $name;private $email;public function __construct($name, $email) {$this->name $name;$this->email $email;}p…...
python execute() 使用%s 拼接sql 避免sql注入攻击 好于.format
1 execute(参数一:sql 语句) # 锁定当前查询结果行 cursor.execute("SELECT high, low, vol FROM table_name WHERE symbol %s FOR UPDATE;"% (symbol,)) 2 .format() cursor.execute("SELECT high, low, vol FROM table_name WHERE symbol {} FOR UPDATE;…...
RPC项目解析(1)
分布式通信框架:让远程方法调用和调用进程内方法一样简单 RPC通信原理 rpc:远程过程调用(远程能够调用其他模块的方法) 在rpc中需要发送时候,对发送的信息进行序列化,在服务端对接收到的信息进行反序列化…...
点云从入门到精通技术详解100篇-基于 RGB 图像与点云融合的三维点云分割算法及成像系统
目录 前言 相机和激光雷达标定研究现状 点云分割算法研究现状...
JDK8新特性
Lembda表达式 lembda表达式是一个简洁、可传递的匿名函数,实现了把代码块赋值给一个变量的功能 是我认为jdk1.8中最让人眼前一亮的特性(我没用过其他函数式的语言) 在了解表达式之前,我们先看两个概念 函数式接口 含有且仅含有一个抽象方法&…...
X86_64函数调用汇编程序分(2)
X86_64函数调用汇编程序分(2) 1 X86_64寄存器使用标准2 leaveq和retq指令2.1 leaveq2.2 retq 3 执行leaveq和retq之后栈的结构3.1 执行leaveq之后栈的结构3.1.1 test_fun_b函数执行leaveq之前的栈结构示意图3.1.2 test_fun_b函数执行leaveq之后的栈结构示…...
组件传值之ref(解决父传子动态绑定问题)
在父组件往子组件传值,子组件中要显示父组件的信息,首先是在网上搜的watch 来监听组组件的props,但是父组件只传一次,后续再更改就没了,所以我用的$refs props:{params:{type:Object;defult():{return {} } } }watch:{params: {/…...
vscode-server
1know_host清除 2 删除服务器里的home/user/.vscode-server(不是根root下的vscode-server),删除时用户名保持一致。 3 ssh配置文件 /etc/ssh/sshd_config[想改变,使用root,修改文件权限] 4 删除修改后,重启Windows下…...
ubuntu 20.04安装开发环境总结_安装python
Ubuntu 20.04 是一款主要面向开发人员的操作系统之一,与此同时,它还支持多种开发环境和工具的使用。但是因为对市面上各种软件的支持没有window那样友好,所以对ubuntu系统安装配置各种环境的问题做了个总结 安装 PyCharm: 可以从…...
尚硅谷_宋红康_IntelliJ IDEA 常用快捷键一览表
1-IDEA的日常快捷键 第1组:通用型 说明快捷键复制代码-copyctrl c粘贴-pastectrl v剪切-cutctrl x撤销-undoctrl z反撤销-redoctrl shift z保存-save allctrl s全选-select allctrl a 第2组:提高编写速度(上) 说明快捷…...
WordPress建站避坑指南:Ubuntu服务器常见权限问题与安全配置
WordPress建站避坑指南:Ubuntu服务器常见权限问题与安全配置 引言:为什么你的WordPress网站总出问题? 每次看到新手开发者兴奋地宣布"我的WordPress网站上线了",我都忍不住想问:你真的检查过文件权限了吗&am…...
Qwen2.5-VL半监督学习效果展示:有限标注下的性能提升
Qwen2.5-VL半监督学习效果展示:有限标注下的性能提升 1. 引言 在AI视觉领域,标注数据一直是制约模型性能的关键因素。传统监督学习需要大量人工标注,成本高、周期长,让很多企业和研究者望而却步。但今天,随着半监督学…...
GTSAM编译避坑:为什么你的Eigen版本总是不匹配?详细排查与修复教程
GTSAM编译中的Eigen版本冲突:从根源到解决方案的深度指南 引言 在机器人学和计算机视觉领域,GTSAM(Georgia Tech Smoothing and Mapping Library)作为因子图优化的标杆工具,其重要性不言而喻。然而,许多开发…...
AutoDL云服务器避坑指南:从PyTorch到Jupyter,手把手搞定GPU环境配置
AutoDL云服务器GPU环境配置实战:从镜像选择到Jupyter避坑全攻略 第一次在AutoDL这类云GPU平台上配置深度学习环境时,那种既兴奋又忐忑的心情我至今记忆犹新。看着琳琅满目的镜像选项和复杂的版本匹配要求,稍有不慎就会陷入"版本地狱&qu…...
基于SpringBoot+Vue的疫情物资管理系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】
摘要 近年来,全球范围内突发公共卫生事件频发,疫情物资的高效管理与调配成为保障社会稳定的重要环节。传统物资管理方式依赖人工操作,存在效率低、数据不透明、响应速度慢等问题,难以满足紧急情况下的物资调度需求。尤其在新冠疫情…...
双阶段目标检测算法演进:从R-CNN到Mask R-CNN的技术突破与应用实践
1. 双阶段目标检测算法概述 目标检测是计算机视觉领域的核心任务之一,它不仅要识别图像中的物体类别,还要精确定位物体的位置。在众多目标检测算法中,双阶段检测算法因其高精度特性,一直是工业界和学术界的研究热点。这类算法的典…...
Jieba分词实战:5分钟搞定中文文本词频统计(附完整代码)
Jieba分词实战:5分钟搞定中文文本词频统计(附完整代码) 中文文本处理是自然语言处理(NLP)的基础环节,而分词则是中文文本处理的第一步。不同于英文等空格分隔的语言,中文文本需要专门的工具进行…...
WWW-万维网
万维网的概念与组成结构万维网(World Wide Web,WWW)是一个分布式的信息存储空间,在这个空间中:一个事物被称为一样 “资源”,并由一个全域 “统一资源定位符”(URL)标识。这些资源通…...
嵌入式pRNG:基于WDT与LFSR的轻量级硬件熵随机数生成器
1. pRNG库概述:面向嵌入式系统的轻量级熵收集型伪随机数生成器pRNG(Pseudo-Random Number Generator)是一个专为资源受限微控制器设计的开源伪随机数生成库,其核心设计哲学是在极小内存开销下,通过硬件时序抖动提取物理…...
棉花打包机的设计【说明书(论文)+CAD+solidworks】
棉花打包机作为农业机械化领域的关键设备,其核心作用在于将散状棉花高效压缩成标准化包型,以满足运输、仓储及后续加工的工艺需求。传统打包方式依赖人工或简单机械,存在效率低、包型不均、劳动强度大等问题,而现代棉花打包机通过…...
