正态分布(Normal distribution),也称“常态分布”,又名高斯分布(Gaussian distribution);
是一个在数学、物理及工程等领域都非常重要的概率分布,
正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线;
若随机变量X服从一个数学期望为μ、方差为σ2的正态分布,记为N(μ,σ2);

正态分布有两个参数,即期望(均数)μ和标准差σ,σ2为方差。
正态分布具有两个参数μ和σ^2的连续型随机变量的分布,第一参数μ是服从正态分布的随机变量的均值,第二个参数σ^2是此随机变量的方差,所以正态分布记作N(μ,σ2)。
μ是正态分布的位置参数,描述正态分布的集中趋势位置。概率规律为取与μ邻近的值的概率大,而取离μ越远的值的概率越小。正态分布以X=μ为对称轴,左右完全对称。
σ描述正态分布资料数据分布的离散程度,σ越大,数据分布越分散,σ越小,数据分布越集中。也称为是正态分布的形状参数,σ越大,曲线越扁平,反之,σ越小,曲线越瘦高。

曾学过一点,已经忘记了;

下面来C#做一个自定义控件;可对外提供正态分布随机数;

解决方案新建一个winform项目和一个用户控件项目;

用户控件界面,

运行一下控件项目;

之后在工具箱中出现此自定义控件;

工程结构;

UserControl1.cs,

public partial class UserControl1: UserControl{public delegate void BtnClickHandle(object sender, EventArgs e);public event BtnClickHandle GSBtnClicked;public string Gss;public UserControl1(){InitializeComponent();}private void UserControl1_Load(object sender, EventArgs e){double[] x = NormalDistribution();Gss = x[0].ToString() + ", " + x[1].ToString();}private static double[] NormalDistribution(){Random rand = new Random();double[] y;double u1, u2, v1 = 0, v2 = 0, s = 0, z1 = 0, z2 = 0;while (s > 1 || s == 0){u1 = rand.NextDouble();u2 = rand.NextDouble();v1 = 2 * u1 - 1;v2 = 2 * u2 - 1;s = v1 * v1 + v2 * v2;}z1 = Math.Sqrt(-2 * Math.Log(s) / s) * v1;z2 = Math.Sqrt(-2 * Math.Log(s) / s) * v2;y = new double[] { z1, z2 };return y; //返回两个服从正态分布N(0,1)的随机数z0 和 z1}private void button1_Click(object sender, EventArgs e){textBox1.Text = Gss;if (GSBtnClicked != null){GSBtnClicked(sender, new EventArgs());}}}

运行一下控件项目;

外部可获取自定义控件的Gss属性;可触发用户控件的自定义事件;

winform项目添加一个自定义控件,一个label、一个button、一个textBox;

        private void button1_Click_1(object sender, EventArgs e){label1.Text = userControl11.Gss;}private void userControl11_GSBtnClicked_1(object sender, EventArgs e){textBox1.Text = userControl11.Gss;}

运行winform项目;点form1上的button1;

点自定义控件中的button;

窗体使用了自定义控件以后,可看到自定义的事件;

生成正态分布随机数的代码来自,

[转载]用C#产生正态分布随机数_suqin814_新浪博客

高斯分布概念学习和C#自定义控件相关推荐

  1. 开发Eclipse自定义控件

    摘自:http://www.ibm.com/developerworks/cn/opensource/os-eclipcntl/ 我们在开发自定义控件时主要考虑以下问题: 1. 自定义控件的绘制:通常 ...

  2. matlab生成多组多维高斯分布数据

    matlab生成多组多维高斯分布数据 之所以写这么一个函数,是因为在练习用matlab实现聚类分析,用matlab生成的高斯分布数据可以作为很好的数据.当然,直接load进鸢尾花数据集也可以拿来练手, ...

  3. 概率论中高斯分布(正态分布)介绍及C++11中std::normal_distribution的使用

    高斯分布:最常用的分布是正态分布(normal distribution),也称为高斯分布(Gaussian distribution): 正态分布N(x;μ,σ2)呈现经典的"钟形曲线&q ...

  4. qt获取当前系统音量值_Qt编写自定义控件50-迷你仪表盘

    一.前言 这个控件取名叫迷你仪表盘,是以为该控件可以缩小到很小很小的区域显示,非常适合小面积区域展示仪表数据使用,还可以手动触摸调节进度,是我个人觉得最漂亮小巧的一个控件.初次看到类似的控件是在一个音 ...

  5. 【iOS】自定义控件入门:可拖动的环形进度

    有时候UIKit的标准控件并不能满足我们的需求,因此我们可以通过自定义控件得到满足我们需求的控件,例如这篇文章将教你如何自定义一个圆形的进度条,并且用户可以通过拖动进度条上的手柄来改变进度值.主要参考 ...

  6. Android自定义控件系列之基础篇

    一.概述 在android开发中很多UI控件往往需要进行定制以满足应用的需要或达到更加的效果,接下来就通过一个系列来介绍自定义控件,这里更多是通过一些案例逐步去学习,本系列有一些典型的应用,掌握好了大 ...

  7. C#自定义控件四简易时钟

    C#自定义控件四简易时钟 效果图: 简易时钟,顾名思义,简单容易,简单到什么程度呢?界面只有数字和指针,甚至连与当前时间都不能匹配!呵呵!就这么简单,学习嘛,从简单开始. 毫无疑问,这里肯定要用到Ti ...

  8. 对做C#自定义控件的一点心得

    近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装这个COM组件,中间遇到很多曲折,研究了一个星期,终于完成了 下面总结一下我做DSOFramer这个自定义控件的注意地方: 1.在创建 ...

  9. ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl

    第四章 组合控件开发CompositeControl 大家好,今天我们来实现一个自定义的控件,之前我们已经知道了,要开发自定义的控件一般继承三个基 类:Control,WebControl,还有一个就 ...

最新文章

  1. 关于服务器虚化的优势,服务器虚拟化优缺点总结
  2. MVC--Razor(2)
  3. do while循环语句_流程控制之循环语句【while循环语句】
  4. Paper:2020年3月30日何恺明团队最新算法RegNet—来自Facebook AI研究院《Designing Network Design Spaces》的翻译与解读
  5. html5 新增属性了解
  6. caj转pdf_CAJ转PDF文件,这恐怕是最全的方法总结了!
  7. socket.io服务端是java_SpringBoot(23) 集成socket.io服务端和客户端实现通信
  8. 长春高中计算机考试时间安排,长春部分高中期末考试时间出炉!
  9. HTML DOM教程 37-HTML DOM Meta 对象
  10. 一、Java语言基础(5)_数组高级——方法参数的值传递机制
  11. android 调用自带地图,Android中调用百度地图
  12. Vue的一些API理解整理,如何一次引入多次调用
  13. 【】每日360题,2019.11.05日19点财会类考试习题答案
  14. Creo 9.0 基准特征:基准点
  15. 小程序实现canvas添加图文
  16. Ubuntu22.04.01Desktop桌面版安装记录221109
  17. EU.org免费域名申请教程
  18. 从微软官网下载原版系统/中文系统/英文系统
  19. Java获取今天是几号
  20. 如何在csdn博客中插入视频或gif

热门文章

  1. 数据结构源码笔记(C语言):B树的相关运算算法
  2. Android中Intent和Intent过滤器详解
  3. Build Search for Common Use Cases
  4. 解决python时间戳最大为3001年1月1日15时59分59秒的问题
  5. 第3周实践项目1 顺序表的基本运算
  6. SDUT_2119 数据结构实验之链表四:有序链表的归并
  7. [YTU]_2439( C++习题 复数类--重载运算符+)
  8. [YTU]_2489( C++结构体之统计最高最低分)
  9. 人工智能算法--KNN算法(C++实现)
  10. BZOJ - 2244 拦截导弹 (dp,CDQ分治+树状数组优化)