Visual C# (C_sharp)の数値計算ライブラリ MathNET Numericsを使う(10) 数値積分としてガウス・クロンロッド積分公式と二重指数関数型積分公式を試す。
今回は数値積分やってみよう。
これは例題がちゃんと公式サイトに書かれているので簡単。
https://numerics.mathdotnet.com/Integration.html
数値積分の方法としては
DoubleExponentialTransformation
GaussKronrodRule
GaussLegendreRule
NewtonCotesTrapeziumRule
SimpsonRule
が選べる。今回はガウス・クロンロッド(オーダーいろいろ変える)と二重指数関数型積分公式をやってみよう。
積分は
∫4/(1+x^2)dx (積分範囲[0,1])
と
∫1/√(1-x^2)dx (積分範囲[-1,1])
とする。結果はこちら。
ガウス・クロンロッドの方は予想通りの精度だが、二重指数関数型積分公式が悪いな。
なんで?Githubのコード見てみよう。
今回のコードはこちら。めちゃくちゃ簡単。
テキストでもコードを書いておきます。
using System;
using MathNet.Numerics.Integration;
namespace MathNetIntegral
{
class Program
{
static void Main(string[] args)
{
double ApproximatePi;
double err;
Console.WriteLine("ガウス・クロンロッドの積分公式で∫4/(1+x^2)dx (積分範囲[0,1])の計算");
for (int n = 2; n <= 20; n++)
{
ApproximatePi = GaussKronrodRule.Integrate(x => 4.0 / (1.0 + x * x), 0.0, 1.0, out _, out _, order : n);
err = ApproximatePi - Math.PI;
Console.WriteLine("次数" + n.ToString() + ": " + ApproximatePi.ToString() +" 誤差: " + err.ToString());
}
Console.WriteLine();
Console.WriteLine("二重指数型数値積分で∫1/√(1-x^2)dx (積分範囲[-1,1])の計算");
double integrate = DoubleExponentialTransformation.Integrate(x => 1.0 / Math.Sqrt(1.0 - x * x), -1.0, 1.0, 1.0e-16);
Console.WriteLine(integrate.ToString());
}
}
}
過去のもの:
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で一括でフィッティングデータを得る。
« 新型コロナウイルス、日本の陽性者数&ワクチン接種者数総計をプロット&中国、韓国、アメリカ、ドイツ、フランス、イギリスの陽性者数もプロット(10/30更新) 日本も韓国も微増し始めた。あとログスケールにしていると3年超えたので左に寄る…いつになったら終息か… | トップページ | 大阪、寝屋川の成田山不動尊でお参り。 »
「パソコン・インターネット」カテゴリの記事
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2025年6月19日 QorvoがSバンドレーダ用のBAW switched filter bank発表、Ericssonがミッションクリティカル用途のアンテナ発表、SEMCOが125℃保証の0201インチX7T 1.0㎌ 6.3V MLCC発表、iFixitがトルクスプラスねじについて解説(2025.06.19)
- 高周波・RFニュース 2025年6月18日 Qorvoが5Gインフラ向けBAWフィルタとプリドライバアンプ発表、KeysightとNTTらが300GHz帯で280Gbpsを達成する信号発生システム発表、TDKが自動車用パワー・オーバー・コアクス・インダクター発表、NordicがNeuton AI買収(2025.06.18)
- 高周波・RFニュース2025年6月17日 everythingRF magazineはIMS2025特別号、MITの6Gに向け光でディープラーニングを行うチップ論文、NGMNが6Gに向けたキーメッセージを出版、Litepoint、Spirent、ViaviのTest and Measurementのトレンドレポート(2025.06.17)
- 高周波・RFニュース 2025年6月16日 iFixitのSamsung Galaxy S25 Edge分解でCTスキャンで2階建て基板の内部や5Gミリ波アンテナモジュールが鮮明に見える、Microwave JournalでRFのヘテロジニアスインテグレーションとローデ・シュワルツの複数ポートをもつスペアナFSWX紹介(2025.06.16)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2025年6月19日 QorvoがSバンドレーダ用のBAW switched filter bank発表、Ericssonがミッションクリティカル用途のアンテナ発表、SEMCOが125℃保証の0201インチX7T 1.0㎌ 6.3V MLCC発表、iFixitがトルクスプラスねじについて解説(2025.06.19)
- 高周波・RFニュース 2025年6月18日 Qorvoが5Gインフラ向けBAWフィルタとプリドライバアンプ発表、KeysightとNTTらが300GHz帯で280Gbpsを達成する信号発生システム発表、TDKが自動車用パワー・オーバー・コアクス・インダクター発表、NordicがNeuton AI買収(2025.06.18)
- 高周波・RFニュース2025年6月17日 everythingRF magazineはIMS2025特別号、MITの6Gに向け光でディープラーニングを行うチップ論文、NGMNが6Gに向けたキーメッセージを出版、Litepoint、Spirent、ViaviのTest and Measurementのトレンドレポート(2025.06.17)
- 高周波・RFニュース 2025年6月16日 iFixitのSamsung Galaxy S25 Edge分解でCTスキャンで2階建て基板の内部や5Gミリ波アンテナモジュールが鮮明に見える、Microwave JournalでRFのヘテロジニアスインテグレーションとローデ・シュワルツの複数ポートをもつスペアナFSWX紹介(2025.06.16)
« 新型コロナウイルス、日本の陽性者数&ワクチン接種者数総計をプロット&中国、韓国、アメリカ、ドイツ、フランス、イギリスの陽性者数もプロット(10/30更新) 日本も韓国も微増し始めた。あとログスケールにしていると3年超えたので左に寄る…いつになったら終息か… | トップページ | 大阪、寝屋川の成田山不動尊でお参り。 »
コメント