当前位置: 首页 > news >正文

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键控制摄像机前后左右移动&#xff0c;鼠标滚轮控制弹簧臂长度的修改&#xff0c;鼠标中键控制摄像机旋转。 步骤 1. 首先创建一个游戏模式&#xff0c;这里命名为“BP_GameMode” 2. 再创建一个玩家控制器&#xff0c;这里命名为“BP_PlayerController” …...

工作纪实38-ES分页数据问题

之前分页查询有接ES&#xff0c;随着系统使用时间数据量不断增加&#xff0c;会有如下报错。关键信息就是 Result window is too large, from size must be less than or equal to: [10000] but was [100001] 当索引非常非常大(千万或亿)&#xff0c;是无法按照from size做深…...

设计模式之访问器模式(Visitor)的C++实现

1、访问器模式的提出 在软件开发过程中&#xff0c;早已发布的软件版本&#xff0c;由于需求的变化&#xff0c;需要给某个类层次结构增加新的方法。如果在该基类和子类中都添加新的行为方法&#xff0c;将给代码原有的结构带来破坏&#xff0c;同时&#xff0c;也违反了修改封…...

Python之OS模块

os模块负责程序与操作系统的交互&#xff0c;提供了访问操作系统底层的接口;即os模块提供了非常丰富的方法用来处理文件和目录。 使用的时候需要导入该模块:import os...

vue 使用canvas 详细教程

Vue.js 中使用 Canvas Vue.js 是一个流行的 JavaScript 框架&#xff0c;用于构建用户界面。它提供了一种简洁的方式来管理和渲染数据&#xff0c;同时也支持与其他库和工具的集成。要在 Vue.js 中使用 Canvas&#xff0c;您可以按照以下步骤进行操作&#xff1a; 在 Vue.js …...

Git 基本操作【本地仓库与远程仓库的推送、克隆和拉取】

文章目录 一、Git简介二、Git的下载安装三、Git常规命令四、新建本地仓库五、本地分支操作六、Git远程仓库七、远程仓库克隆、抓取和拉取八、总结九、学习交流 一、Git简介 Git是分布式版本控制系统&#xff08;Distributed Version Control System&#xff0c;简称 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属性是否出现在某个实例对象的原型链上&#xff0c;运算符左侧是实例对象&#xff0c;右侧是构造函数。 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程序设计的基本原则

单一职责原则&#xff08;SRP&#xff09;&#xff1a;一个类应该只有一个原因引起变化&#xff0c;即一个类应该只负责一项职责。 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)

分布式通信框架&#xff1a;让远程方法调用和调用进程内方法一样简单 RPC通信原理 rpc&#xff1a;远程过程调用&#xff08;远程能够调用其他模块的方法&#xff09; 在rpc中需要发送时候&#xff0c;对发送的信息进行序列化&#xff0c;在服务端对接收到的信息进行反序列化…...

点云从入门到精通技术详解100篇-基于 RGB 图像与点云融合的三维点云分割算法及成像系统

目录 前言 相机和激光雷达标定研究现状 点云分割算法研究现状...

JDK8新特性

Lembda表达式 lembda表达式是一个简洁、可传递的匿名函数,实现了把代码块赋值给一个变量的功能 是我认为jdk1.8中最让人眼前一亮的特性&#xff08;我没用过其他函数式的语言&#xff09; 在了解表达式之前&#xff0c;我们先看两个概念 函数式接口 含有且仅含有一个抽象方法&…...

X86_64函数调用汇编程序分(2)

X86_64函数调用汇编程序分&#xff08;2&#xff09; 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(解决父传子动态绑定问题)

在父组件往子组件传值&#xff0c;子组件中要显示父组件的信息&#xff0c;首先是在网上搜的watch 来监听组组件的props,但是父组件只传一次&#xff0c;后续再更改就没了&#xff0c;所以我用的$refs props:{params:{type:Object;defult():{return {} } } }watch:{params: {/…...

vscode-server

1know_host清除 2 删除服务器里的home/user/.vscode-server&#xff08;不是根root下的vscode-server&#xff09;&#xff0c;删除时用户名保持一致。 3 ssh配置文件 /etc/ssh/sshd_config[想改变,使用root&#xff0c;修改文件权限] 4 删除修改后&#xff0c;重启Windows下…...

ubuntu 20.04安装开发环境总结_安装python

Ubuntu 20.04 是一款主要面向开发人员的操作系统之一&#xff0c;与此同时&#xff0c;它还支持多种开发环境和工具的使用。但是因为对市面上各种软件的支持没有window那样友好&#xff0c;所以对ubuntu系统安装配置各种环境的问题做了个总结 安装 PyCharm&#xff1a; 可以从…...

尚硅谷_宋红康_IntelliJ IDEA 常用快捷键一览表

1-IDEA的日常快捷键 第1组&#xff1a;通用型 说明快捷键复制代码-copyctrl c粘贴-pastectrl v剪切-cutctrl x撤销-undoctrl z反撤销-redoctrl shift z保存-save allctrl s全选-select allctrl a 第2组&#xff1a;提高编写速度&#xff08;上&#xff09; 说明快捷…...

Unity Android读取SD卡图片的5种实战方案与选型指南

1. 为什么在 Unity Android 上“读取 sdcard 图片”会让人反复踩坑&#xff1f; “Unity Android 读取 sdcard 路径下指定文件夹的所有图片”——这句话看似平平无奇&#xff0c;但凡是真正在项目里做过相册预览、本地图库导入、离线资源加载、用户截图归档这类功能的开发者&am…...

ContextMenuManager:三步彻底掌控Windows右键菜单的终极免费工具

ContextMenuManager&#xff1a;三步彻底掌控Windows右键菜单的终极免费工具 【免费下载链接】ContextMenuManager &#x1f5b1;️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否每天都要在Windows右键菜单中…...

手动生成可信本地CA:OpenSSL构建X.509证书链实战

1. 为什么你真正需要的不是“买证书”&#xff0c;而是搞懂CA签发逻辑很多人一听到“SSL/TLS证书”&#xff0c;第一反应是去阿里云、腾讯云点几下鼠标&#xff0c;花几十块钱买一张带绿色锁头的域名证书——这确实快&#xff0c;但代价是&#xff1a;你永远不知道那张证书里到…...

FlexNet Publisher Host ID获取与验证全指南

1. 理解FlexNet Publisher Host ID的核心概念在软件许可管理领域&#xff0c;FlexNet Publisher&#xff08;简称FNP&#xff09;是业界广泛使用的许可证管理系统。当我们需要将软件许可证绑定到特定机器时&#xff0c;Host ID就像这台设备的"身份证号码"。对于使用A…...

从文本到流程:NLP与LLM驱动的业务流程模型自动提取技术

1. 项目概述与核心价值在业务流程管理&#xff08;BPM&#xff09;的日常工作中&#xff0c;我们经常遇到一个经典难题&#xff1a;业务部门或客户给出一大段文字描述&#xff0c;比如一份操作手册、一封需求邮件或一次会议纪要&#xff0c;我们需要从中梳理出清晰、可执行的业…...

科学边缘计算ML硬件可靠性设计:从比特精确验证到精细化容错

1. 项目概述&#xff1a;当科学实验遇上极端数据洪流想象一下&#xff0c;你面前有一台每秒产生数TB数据的超级显微镜&#xff0c;或者一个每时每刻都在进行数十亿次粒子对撞的探测器。这些并非科幻场景&#xff0c;而是高能物理、材料科学等前沿科学领域的日常。海啸般的数据从…...

别再乱改注册表了!Windows系统文件夹移动后还原的完整避坑指南

Windows系统文件夹移动后还原的完整避坑指南1. 为什么你的文件夹移动操作会出问题&#xff1f;许多用户为了释放C盘空间&#xff0c;会选择将桌面、文档等系统文件夹移动到其他分区。这个看似简单的操作背后却隐藏着不少陷阱。最常见的错误是直接在目标盘符下选择移动&#xff…...

FPGA在材料测试中的高精度控制与并行处理应用

1. FPGA在材料测试领域的革新价值 材料测试设备作为工业质量控制的核心装备&#xff0c;其性能直接影响着从汽车安全气囊到医疗植入物的产品可靠性。传统基于通用微控制器的测试系统正面临三大技术瓶颈&#xff1a;首先是测试标准迭代速度快&#xff0c;ASTM、ISO等组织每年新增…...

别再只跑代码了!用泰坦尼克号数据集,手把手教你从EDA到模型调优的完整数据分析实战

从数据洞察到模型优化&#xff1a;泰坦尼克号生存预测的深度实践指南 如果你已经能够熟练运行数据分析代码&#xff0c;却依然对项目全流程缺乏系统性认知&#xff0c;这篇文章将带你超越基础操作&#xff0c;深入理解数据分析的完整闭环。我们将以经典的泰坦尼克号数据集为例&…...

别再只懂ls -l了!手把手教你用getfattr/setfattr玩转Linux文件隐藏属性

别再只懂ls -l了&#xff01;手把手教你用getfattr/setfattr玩转Linux文件隐藏属性 在Linux系统中&#xff0c;文件权限和属性管理是每个开发者和管理员的必修课。大多数人熟悉 ls -l 展示的基础权限&#xff0c;但很少有人深入探索文件系统中那些不为人知的"隐藏技能&q…...