C#,数值计算——分类与推理Phylo_nj的计算方法与源程序

1 文本格式

using System;
using System.Collections.Generic;

namespace Legalsoft.Truffer
{
    public class Phylo_nj : Phylagglom
    {
        public double[] u;
        
        public override void premin(double[,] d, int[] nextp)
        {
            int ncurr = 0;
            for (int i = 0; i >= 0; i = nextp[i])
            {
                ncurr++;
            }
            for (int i = 0; i >= 0; i = nextp[i])
            {
                double sum = 0.0;
                for (int j = 0; j >= 0; j = nextp[j])
                {
                    if (i != j)
                    {
                        sum += d[i, j];
                    }
                }
                u[i] = sum / (ncurr - 2);
            }
        }

        public override double dminfn(double[,] d, int i, int j)
        {
            return d[i, j] - u[i] - u[j];
        }

        public override double dbranchfn(double[,] d, int i, int j)
        {
            return 0.5 * (d[i, j] + u[i] - u[j]);
        }

        public override double dnewfn(double[,] d, int k, int i, int j, int ni, int nj)
        {
            return 0.5 * (d[i, k] + d[j, k] - d[i, j]);
        }

        public override void drootbranchfn(double[,] d, int i, int j, int ni, int nj, ref double bi, ref double bj)
        {
            bi = d[i, j] * (nj - 1 + 1.0e-15) / (ni + nj - 2 + 2.0e-15);
            bj = d[i, j] * (ni - 1 + 1.0e-15) / (ni + nj - 2 + 2.0e-15);
        }

        public Phylo_nj(double[,] dist, int fsr = -1) : base(dist, fsr)
        {
            this.u = new double[n];
            makethetree(dist);
        }
    }
}
 

2 代码格式

using System;
using System.Collections.Generic;namespace Legalsoft.Truffer
{public class Phylo_nj : Phylagglom{public double[] u;public override void premin(double[,] d, int[] nextp){int ncurr = 0;for (int i = 0; i >= 0; i = nextp[i]){ncurr++;}for (int i = 0; i >= 0; i = nextp[i]){double sum = 0.0;for (int j = 0; j >= 0; j = nextp[j]){if (i != j){sum += d[i, j];}}u[i] = sum / (ncurr - 2);}}public override double dminfn(double[,] d, int i, int j){return d[i, j] - u[i] - u[j];}public override double dbranchfn(double[,] d, int i, int j){return 0.5 * (d[i, j] + u[i] - u[j]);}public override double dnewfn(double[,] d, int k, int i, int j, int ni, int nj){return 0.5 * (d[i, k] + d[j, k] - d[i, j]);}public override void drootbranchfn(double[,] d, int i, int j, int ni, int nj, ref double bi, ref double bj){bi = d[i, j] * (nj - 1 + 1.0e-15) / (ni + nj - 2 + 2.0e-15);bj = d[i, j] * (ni - 1 + 1.0e-15) / (ni + nj - 2 + 2.0e-15);}public Phylo_nj(double[,] dist, int fsr = -1) : base(dist, fsr){this.u = new double[n];makethetree(dist);}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/115191.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电商接口中API key 和 token 有什么区别?

API key 和 token 就有这种问题,它们都是作为一种身份验证机制。前几天我在一次讨论中,有人提到这两个词可以互换使用。大约两分钟后,我不得不停止谈话并说“你们应该知道它们是不同的,对吧?”‍,说完会上鸦…

Java后端开发(十)-- idea(2022版)将 已push 的 远程仓库 的 多条commit记录 进行撤销

目录 1.多次 修改Test01类后,提交到本地仓库 。 2.多次重复 1 的步骤,多次commit成功后,在Git =》Log中会显示,commit记录

本地数仓网络设备迁移实录

环境: 本地机房 深信服防火墙A 8.0.75 AF-2000-FH2130B-SC H3C S6520-26Q-SI 交换机A Version 7.1.070,Release 6326H3C IDC机房 深信服防火墙B 8.0.75 AF-2000-FH2130B-SC H3C S6520 交换机B version 7.1.070, Release 6530P02 问题描述: 本地机房 H3C S6520 交换机…

idea的debug调试

目录 断点条件设置(condition) 断点表达式(evaluate expression) 断点回退(reset frame) 断点条件设置(condition) 条件断点,一般是满足我们设置的某个条件时,debug断点才会生效。这种条件断点设置,我们一般用在多重循环中。 这儿我们以li…

将数据写入文本文件

目录 将表导出到文本文件 将元胞数组导出到文本文件 将数值数组导出到文本文件 将表、元胞数组或数值数组中包含的表格数据从 MATLAB 工作区导出到文本文件。 将表导出到文本文件 可使用 writetable 函数将表格数据从 MATLAB 工作区导出到文本文件。创建样本表,…

前端数据可视化之【series、series饼图配置】配置项

目录 🌟Echarts配置项🌟series🌟饼图 type:pie🌟写在最后 🌟Echarts配置项 ECharts开源来自百度商业前端数据可视化团队,基于html5 Canvas,是一个纯Javascript图表库,提供直观&…

预测宝可梦武力值、分类宝可梦

regression case 股票预测 无人车看到的各种sensor 影像镜头看到马路上的东西作为输入,输出就是方向盘角度等等的操纵策略 scalar 标量 这个是热力图,相当于你的XYZ但是Z用颜色表示了 closed-form solution 闭合解 learning rate事先定好的数值 在lin…

Inbound marketing | LTD入站营销是对Hubspot集客营销的升级

你如何理解Inbound marketing? 你如何理解Inbound marketing。 集客营销抑或是入站营销。 2006年,MIT的在校学生BrianHalligan和DharmeshShah(hubspot的创始人)首次提出Inbound marketing,有别于推广式营销的一种全…

Ethernet Protocol

以太网协议说明 1 以太网子层架构 1)MAC and MAC CONTROL Sublayer MAC 负责以太网数据格式中所述的以太网成帧协议以及这些帧的错误检测。MAC 独立于并可以连接到任何类型的物理层设备。这提供了 MAC 子层的实时流控制操作。 MAC CONTROL 和 MAC 子层均由内核在所有操作模式…

Python【判断列表的存在与否关系】

要求:使用列表判断一个列表是否在另外一个列表中 代码如下: list1 [1, 2, 6, 8, 7, 10, 5] print("列表1为:", list1) list2 [2, 6, 5, 10] print("列表2为:",list2) res False a 0 for i in list2:if …

layui中页面切分

1.引入Split插件 2.切屏比例设置 pallet与material为标签的id 3.html内部标签上设置切分盒子 4参考网站 : 网站链接

PS001:PS2020及GeographicImager6.2安装

引言:Geographic ImagerV6.2是一款专业的PS地理成像插件,通过安装这款插件可实现在PS中加载4G以上的.bigtiff格式影像并对其进行修改与保存。并且这款软件拥有投影信息修改、基于地理坐标进行影像裁切等多种功能。 一、插件介绍 Geographic ImagerV6.2是…

[笔记] Trie字典树

思路 操作: 插入节点:不断开辟自定义地址的节点,并确定是谁的子节点。查询节点:按要求通过父子关系向下查询。 代码 //插入一个新的字符串 void insert(char *str){int p 0;for(int i 0; str[i]; i ){int u str[i] - a;//开辟…

Flutter 类似onResume 监听,解决入场动画卡顿

在Flutter 实际开发过程中,页面数据往往是异步加载,接口请求回来后,数据刷新显示到界面上。 由于Flutter性能原因,也可能因为获取数据量比较大,在新页面路由进场动画执行过程中,接口请求结果回来了&#x…

【Python 千题 —— 基础篇】学生名单

题目描述 题目描述 编写一个程序,接受输入的若干个学生姓名,将这些姓名添加到一个列表中,以便老师查阅。每个姓名应该作为一个单独的字符串输入,使用回车来分隔不同的姓名。 输入描述 输入若干个字符串,每个字符串…

如何正确维护实验室超声波清洗机

实验室一直被视作一个严谨且严肃的场所,在其中所做的试验都需要遵照一定流程,所用的设备也经过了细致化挑选,例如实验室超声波清洗机,其性能远强于普通类别的清洗机。专门负责采购的实验室人员,通常会对质量优服务好的…

MATLAB中对象的保存和加载过程

目录 保存和加载对象 保存哪些信息? 如何加载属性数据? 加载过程中的错误 对属性验证的更改 保存和加载对象 ​使用 save 和 load 来存储和重新加载对象: save filename object load filename object 保存哪些信息? 将对象…

02.MySQL函数及约束、多表笔记

函数 函数是指一段可以直接被另一段程序调用的程序或代码。 字符串函数 MySQL中内置了很多字符串函数,常用的几个如下: 函数功能CONCAT(S1,S2,…Sn)字符串拼接,将S1,S2,.Sn拼接成一个字符串LOWER(str)将字符串str全部转为小写UPPER(str)将…

Zotero 超好用插件的下载链接及配置方法(PDF-translate/ZotFile/茉莉花/Zotero Scihub)

目录 前言插件安装方法插件一:文献翻译插件(pdf-translate)插件二:文献附件管理(ZotFile)插件三:中文文献插件(茉莉花)插件四:Sci-Hub 自动下载文献&#xff…

原型设计工具:Balsamiq Wireframes 4.7.4 Crack

原型设计工具:Balsamiq Wireframes是一种快速的低保真UI 线框图工具,可重现在记事本或白板上绘制草图但使用计算机的体验。 它确实迫使您专注于结构和内容,避免在此过程后期对颜色和细节进行冗长的讨论。 线框速度很快:您将产生更多想法&am…