Visual C# (C_sharp)の数値計算ライブラリ MathNET Numericsを使う(9) いろんな確率分布の乱数(メルセンヌツイスタがベース)をヒストグラムにして描く。とりあえず正規分布とガンマ分布で。
さて今回は乱数。
https://numerics.mathdotnet.com/Random.html
https://numerics.mathdotnet.com/Probability.html
Math.NET Numericsにはヒストグラムにする機能もある。
https://numerics.mathdotnet.com/DescriptiveStatistics.html
ということで非常に簡単にできる。
まずは正規分布。
プログラムはこちら。めっちゃ簡単。
次はガンマ分布。
テキストでコードを書いときます。
正規分布
Random rnd = new MersenneTwister(42);
int N = 10000;
double xmin = -5.0;
double xmax = 5.0;
int bin = 100;
double[] normal = new double[N];
Normal.Samples(rnd, normal, 0.0, 1.0);
var hist = new Histogram(normal, bin, xmin, xmax);
for (int i = 0; i < hist.BucketCount; i++)
{
double x = (hist[i].UpperBound + hist[i].LowerBound) / 2.0;
series1.Points.AddXY(x,hist[i].Count/(N));
series2.Points.AddXY(x, ((xmax - xmin) / bin)*Math.Exp(-x * x / 2.0)/Math.Sqrt(2.0*Math.PI));
}
ガンマ分布
Random rnd = new MersenneTwister(42);
int N = 10000;
double xmin = 0.0;
double xmax = 20.0;
int bin = 100;
double k = 9.0;
double theta = 0.5;
double[] gamma = new double[N];
Gamma.Samples(rnd, gamma, k, 1.0/theta);
var hist = new Histogram(gamma, bin, xmin, xmax);
for (int i = 0; i < hist.BucketCount; i++)
{
double x = (hist[i].UpperBound + hist[i].LowerBound) / 2.0;
series1.Points.AddXY(x, hist[i].Count /N);
series2.Points.AddXY(x, ((xmax - xmin) / bin) * Math.Pow(x, k - 1.0) * Math.Exp(-x / theta)
/ (Math.Pow(theta, k)*SpecialFunctions.Gamma(k)));
}
過去のもの:
Visual C# (C_sharp)の数学ライブラリ Math.NET Numericsを使う(1) 複素行列を定義して一次方程式や逆行列、行列式などを計算する。
Visual C# (C_sharp)の数学ライブラリ Math.NET Numericsを使う(2) 補間を行う(Interpolate) リニア、3次スプライン、有理関数などいろいろ使える。
Visual C# (C_sharp)の数学ライブラリ Math.NET Numericsを使う(4) 多項式フィッティングをして、Array.ConvertAllで一括でフィッティングデータを得る。
« かつやでカツ煮冷やしそばをいただく。ぬるいおそばの上にカツ煮で半ご飯プラスということでこれだけ聞くと???という感じですが、お蕎麦屋さんのカツ丼定食でカツ丼+そばと思うと違和感ない。 | トップページ | すき家で旨辛やきとり丼(ご飯大盛)をいただく。「もも」「つくね」「鶏皮」といろんな部位があっていいが、旨辛でもどちらかというと甘味が強かったかも。 »
「パソコン・インターネット」カテゴリの記事
- Interface2025年8月号Pythonで体験!はじめての暗号を買った。上杉暗号からRSA、AES、DHなど、特に楕円曲線暗号についてはコードも実際に動かすところまで詳しくかかれていた。耐量子暗号や聞いたことなかったY-00暗号や関数型暗号も記載。(2025.07.10)
- Gemini CLIが使えるようになっていたので早速VSCodeのターミナルから使って、JavaScriptで連立一次方程式を計算するコードを書いてもらった。普通にガウスの消去法で計算するhtmlを作ってくれた。(2025.06.27)
- Google ColabのJulia言語で1次元のGray-Scottモデル(∂u/∂t=u²v-(F+k)u+Du∂²u/∂x²,∂v/∂t=-u²v+F(1-v)+Dv∂²v/∂x²)を計算してパルスが次々分裂する様子を見る。空間6次の差分、時間8次のルンゲクッタ法で計算。(2025.07.08)
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2025年7月13日 Pythonの高周波ライブラリscikit-rfがv1.8.0に、SamsungがGalaxy Z Fold7など発表→QualcommがSnapdragon 8 Eliteが使われていると発表、NGMNが基地局アンテナの推奨事項をまとめる、STMicroとMetalenzがメタサーフェス光学のライセンス締結(2025.07.14)
- Interface2025年8月号Pythonで体験!はじめての暗号を買った。上杉暗号からRSA、AES、DHなど、特に楕円曲線暗号についてはコードも実際に動かすところまで詳しくかかれていた。耐量子暗号や聞いたことなかったY-00暗号や関数型暗号も記載。(2025.07.10)
- 高周波・RFニュース 2025年7月8日 NordicとSercommのセルラーIoTモジュール、iFixitがFairphone 6を分解、スコアは10/10、RCR wireless newsのウェビナー2件(6GとIndustry4.0)、SEMCOが高耐圧C0G MLCCを車載急速充電に提案(2025.07.09)
- 高周波・RFニュース 2025年7月2日 5G Americasが6Gに向けセンシングと通信ホワイトペーパー発行、KYOCERA AVXが3dBハイブリッドカプラ発表、TDKが車載薄膜インダクタ発表、Nordicが1次電池向けPMIC発表、ローデ・シュワルツの6GとAI/ML解説記事(2025.07.02)
- 高周波・RFニュース 2025年6月30日 QualcommがAIを用いた6Rxアンテナ解説、Next G Allianceと日本のXGMFが5G,6Gで協力、5G Americasが25Q1で5G加入者増加と発表、TechInsigtsがHuawei Pura 80 Pro+分解、Qorvoが5-7GHzのWi-Fi 7 FEM発表(2025.06.30)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2025年7月13日 Pythonの高周波ライブラリscikit-rfがv1.8.0に、SamsungがGalaxy Z Fold7など発表→QualcommがSnapdragon 8 Eliteが使われていると発表、NGMNが基地局アンテナの推奨事項をまとめる、STMicroとMetalenzがメタサーフェス光学のライセンス締結(2025.07.14)
- 高周波・RFニュース 2025年7月8日 NordicとSercommのセルラーIoTモジュール、iFixitがFairphone 6を分解、スコアは10/10、RCR wireless newsのウェビナー2件(6GとIndustry4.0)、SEMCOが高耐圧C0G MLCCを車載急速充電に提案(2025.07.09)
- 高周波・RFニュース 2025年7月2日 5G Americasが6Gに向けセンシングと通信ホワイトペーパー発行、KYOCERA AVXが3dBハイブリッドカプラ発表、TDKが車載薄膜インダクタ発表、Nordicが1次電池向けPMIC発表、ローデ・シュワルツの6GとAI/ML解説記事(2025.07.02)
- 高周波・RFニュース 2025年6月30日 QualcommがAIを用いた6Rxアンテナ解説、Next G Allianceと日本のXGMFが5G,6Gで協力、5G Americasが25Q1で5G加入者増加と発表、TechInsigtsがHuawei Pura 80 Pro+分解、Qorvoが5-7GHzのWi-Fi 7 FEM発表(2025.06.30)
- 高周波・RFニュース 2025年6月27日 Qualcommが6Gに向けての3GPPリリース20解説、TDKが100V1608サイズ1μFのMLCCを発表、Skyworksが低ジッタのクロックファミリーを発表、Elisa,Ericsson,MediaTekが5G SAで8Gbpsを達成(2025.06.27)
« かつやでカツ煮冷やしそばをいただく。ぬるいおそばの上にカツ煮で半ご飯プラスということでこれだけ聞くと???という感じですが、お蕎麦屋さんのカツ丼定食でカツ丼+そばと思うと違和感ない。 | トップページ | すき家で旨辛やきとり丼(ご飯大盛)をいただく。「もも」「つくね」「鶏皮」といろんな部位があっていいが、旨辛でもどちらかというと甘味が強かったかも。 »
コメント