日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

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

發布時間:2025/4/14 C# 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 高斯分布概念学习和C#自定义控件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正態分布(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#自定义控件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。