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で一括でフィッティングデータを得る。
« かつやでカツ煮冷やしそばをいただく。ぬるいおそばの上にカツ煮で半ご飯プラスということでこれだけ聞くと???という感じですが、お蕎麦屋さんのカツ丼定食でカツ丼+そばと思うと違和感ない。 | トップページ | すき家で旨辛やきとり丼(ご飯大盛)をいただく。「もも」「つくね」「鶏皮」といろんな部位があっていいが、旨辛でもどちらかというと甘味が強かったかも。 »
「パソコン・インターネット」カテゴリの記事
- 高周波回路シミュレータQucsStudioがuSimmicsに名称変更し、バージョンも4.8.3から5.8にアップデートされた。Qucsと区別するためだそうだ。また、Pythonの高周波用ライブラリscikit-rfもv1.5.0にバージョンアップされていた(2024.12.04)
- MATLAB Onlineで高周波基板設計用のRF PCB Toolboxを使ってみる。Coupled line バンドパスフィルタやratraceカプラが設計できる。モーメント法(MoM)や有限要素法(FEM)でちゃんと計算してくれているようだ。(2024.12.06)
- MATLAB Onlineで高周波用のRF Toolboxを使ってみる。Touchstoneファイルの読み込み、dB表示グラフ、スミスチャートなど簡単にできるし、フィルタ合成やIEEE P370 De-embedding(ZC-2xThru)も使える(MATLABで書かれたものがオリジナル)。(2024.12.05)
- MATLAB OnlineのSimulinkでローレンツ方程式をode8で計算してみる。Interface 2025年1月号でMATLAB Onlineの半年ライセンスがついてきたので。Simulinkを使うのは初めてだったが、わかりやすいSimulink入門コースを修了したのですぐできた。(2024.12.04)
- Interface2025年1月号はMATLABで1ニューロンから手作り 数学&図解でディープ・ラーニング。初歩からAlexNetの転移学習、CNNまで話題が豊富で、なんとMatlab Onlineの半年ライセンスがついてくる。Simulinkや各種toolboxも使える。早速MATLAB入門オンラインコース修了した。(2024.12.03)
「学問・資格」カテゴリの記事
- 高周波・RFニュース2024年12月9日 iFixitがDJI Neo分解、TechInsightsがApple Pencil Pro分解、QualcommのNeurIPS 2024でのAI技術発表、IntelのIEDM 2024での発表、 Nokiaの7GHz帯の6G、Analog DevicesのPhased Array Antennaのホワイトペーパー、ZDTが史上二番目の売上高(2024.12.09)
- 高周波・RFニュース 2024年12月6日 NGMNが無線パフォーマンス評価フレームワーク発行、5GAAがC-V2Xのロードマップ発行、Marvellの3nm 1.6Tbps PAM4インターコネクト、Nokiaの2.4Tbps光伝送、Silicon Labsの低消費電力モジュール、Xiaomi 14T Pro分解動画(2024.12.06)
- 高周波回路シミュレータQucsStudioがuSimmicsに名称変更し、バージョンも4.8.3から5.8にアップデートされた。Qucsと区別するためだそうだ。また、Pythonの高周波用ライブラリscikit-rfもv1.5.0にバージョンアップされていた(2024.12.04)
- 日経サイエンス2025年1月号の特集 和算再発見の佐藤賢一さんの記事「算聖 関孝和の実像」に出てきた矢高に対する円弧の2乗の近似式をカシオの高精度計算サイトkeisan.casio.jpの自作式として作った。ものすごい精度であることがよくわかる。(2024.12.03)
- MATLAB Onlineで高周波基板設計用のRF PCB Toolboxを使ってみる。Coupled line バンドパスフィルタやratraceカプラが設計できる。モーメント法(MoM)や有限要素法(FEM)でちゃんと計算してくれているようだ。(2024.12.06)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース2024年12月9日 iFixitがDJI Neo分解、TechInsightsがApple Pencil Pro分解、QualcommのNeurIPS 2024でのAI技術発表、IntelのIEDM 2024での発表、 Nokiaの7GHz帯の6G、Analog DevicesのPhased Array Antennaのホワイトペーパー、ZDTが史上二番目の売上高(2024.12.09)
- 高周波・RFニュース 2024年12月6日 NGMNが無線パフォーマンス評価フレームワーク発行、5GAAがC-V2Xのロードマップ発行、Marvellの3nm 1.6Tbps PAM4インターコネクト、Nokiaの2.4Tbps光伝送、Silicon Labsの低消費電力モジュール、Xiaomi 14T Pro分解動画(2024.12.06)
- 高周波回路シミュレータQucsStudioがuSimmicsに名称変更し、バージョンも4.8.3から5.8にアップデートされた。Qucsと区別するためだそうだ。また、Pythonの高周波用ライブラリscikit-rfもv1.5.0にバージョンアップされていた(2024.12.04)
- 日経サイエンス2025年1月号の特集 和算再発見の佐藤賢一さんの記事「算聖 関孝和の実像」に出てきた矢高に対する円弧の2乗の近似式をカシオの高精度計算サイトkeisan.casio.jpの自作式として作った。ものすごい精度であることがよくわかる。(2024.12.03)
- MATLAB Onlineで高周波基板設計用のRF PCB Toolboxを使ってみる。Coupled line バンドパスフィルタやratraceカプラが設計できる。モーメント法(MoM)や有限要素法(FEM)でちゃんと計算してくれているようだ。(2024.12.06)
« かつやでカツ煮冷やしそばをいただく。ぬるいおそばの上にカツ煮で半ご飯プラスということでこれだけ聞くと???という感じですが、お蕎麦屋さんのカツ丼定食でカツ丼+そばと思うと違和感ない。 | トップページ | すき家で旨辛やきとり丼(ご飯大盛)をいただく。「もも」「つくね」「鶏皮」といろんな部位があっていいが、旨辛でもどちらかというと甘味が強かったかも。 »
コメント