« 高周波・RFニュース 2025年4月22日 Signal Houndが40GHzまでのUSBネットアナ発売、EDI CON ONLINE2025は4月23日開催、5G、6G、IoTなど、MathWorksがアンテナとTRモジュールのモデルベース設計解説、EECLが85GHzまでのアップ/ダウンコンバータ発売 | トップページ | 数理科学5月号 情報と物理学 ― エントロピーがつなぐ数理の世界を買った。データ圧縮、マクスウェルの悪魔&シラードエンジン、ブラックホール、量子情報、量子統計力学、テンソルネットワーク、ニューラルネットワーク、高分子の自己複製など話題が豊富で面白かった。 »

2025年4月22日 (火)

関数型プログラミング言語 F# (fsharp)の数値計算ライブラリ Math.NET Numericsを使う(3) 補間を行う(Interpolate) リニア、3次スプライン、有理関数などいろいろ使える。Plotly.NETもF#から簡単に使える。

今回はこのC#の例をF#でやってみる。使うのはPolyglot Notebooks。

Visual C# (C_sharp)の数学ライブラリ Math.NET Numericsを使う(2) 補間を行う(Interpolate) リニア、3次スプライン、有理関数などいろいろ使える。 

グラフにもしたいのでPlotly.NETも導入する。F#から簡単に使えるのにびっくり。

https://plotly.net/

まずはMath.NET numericsとPlotly.NETをNuGetで導入するためにセルにこれを書いてSHIFT+リターン。

#r "nuget: MathNet.Numerics.FSharp, 5.0.0"
#r "nuget: Plotly.NET.Interactive, 5.0.0"
そしてコードは関数型らしくパイプラインやmapがあるのでめちゃくちゃ簡単にかける。C#よりはるかに簡単。
open MathNet.Numerics
open Plotly.NET

let x = [| for i in 0..9 -> (float)i * 2.0 * Math.PI / 9.0 |]
let y = x |> Array.map(fun x -> Math.Sin(x))

let interpRational = Interpolate.RationalWithoutPoles(x, y)
let interpLinear = Interpolate.Linear(x, y)

let xval =  [| for i in 0..49 -> (float)i * 2.0 * Math.PI / 49.0 |]
let yinterpRational = xval |> Array.map(fun x -> interpRational.Interpolate(x))
let yinterpLinear = xval |> Array.map(fun x -> interpLinear.Interpolate(x))

[Chart.Point(x, y, ShowLegend = true, Name = "Original");
Chart.Line(xval, yinterpRational, ShowLegend = true, Name = "Rational");
Chart.Line(xval, yinterpLinear, ShowLegend = true, Name = "Linear") ]
|> Chart.combine |> Chart.withLayoutStyle(Width=800, Height=500)
|> Chart.withTitle("Interpolation")
|> Chart.withXAxisStyle("x")
|> Chart.withYAxisStyle("y")
結果はこちら。
Fsharpinterpolation
ちゃんとC#の結果を再現している。
しかしPolyglot Notebooksを使うとPythonより簡単にいろいろな計算ができるような気がしてきた。

« 高周波・RFニュース 2025年4月22日 Signal Houndが40GHzまでのUSBネットアナ発売、EDI CON ONLINE2025は4月23日開催、5G、6G、IoTなど、MathWorksがアンテナとTRモジュールのモデルベース設計解説、EECLが85GHzまでのアップ/ダウンコンバータ発売 | トップページ | 数理科学5月号 情報と物理学 ― エントロピーがつなぐ数理の世界を買った。データ圧縮、マクスウェルの悪魔&シラードエンジン、ブラックホール、量子情報、量子統計力学、テンソルネットワーク、ニューラルネットワーク、高分子の自己複製など話題が豊富で面白かった。 »

パソコン・インターネット」カテゴリの記事

学問・資格」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« 高周波・RFニュース 2025年4月22日 Signal Houndが40GHzまでのUSBネットアナ発売、EDI CON ONLINE2025は4月23日開催、5G、6G、IoTなど、MathWorksがアンテナとTRモジュールのモデルベース設計解説、EECLが85GHzまでのアップ/ダウンコンバータ発売 | トップページ | 数理科学5月号 情報と物理学 ― エントロピーがつなぐ数理の世界を買った。データ圧縮、マクスウェルの悪魔&シラードエンジン、ブラックホール、量子情報、量子統計力学、テンソルネットワーク、ニューラルネットワーク、高分子の自己複製など話題が豊富で面白かった。 »

最近の記事

2025年5月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

最近のコメント

無料ブログはココログ
フォト