« フィッツヒュー・南雲 (FitzHugh-Nagumo) 方程式をPython+Scipyでルンゲクッタ8次のDOP853(Dormand Prince)で計算。 | トップページ | ExcelのLET関数+SEQUENCE関数で数値計算シリーズ(その4)ワンライナーでシンプソンの積分公式でクロソイド曲線を計算する。 »

2021年2月24日 (水)

ExcelのLET関数+SEQUENCE関数で数値計算シリーズ(その3?)ワンライナー(1行というか 1セル)で数値積分のシンプソンの公式を計算する。

ExcelでLAMDA関数が使えるようになったというのを聞いたが、私のOfficeのバージョンでは使えず、、、

しかしLET関数は使える。SEQUENCE関数も使える、ということで何かワンライナーで面白いことできないかな、と考えた

数列の和とかはすぐできるのと、条件が多くなってもIFでなくてIFSを使えば楽、ということでまずはシンプソンの積分公式をやってみる。

シンプソンの公式

事例は有名な∫01 4/(x2+1)dx=π 

をやってみよう。こんな感じ。

=LET(
        n, 1000,
        xmin, 0,
        xmax, 1,
        dx, (xmax - xmin) / n,
        x, (SEQUENCE(n+1) - 1) * dx + xmin,
        fx, 4 / (x^2 + 1),
        k, SEQUENCE(n + 1) - 1,
        coeff, IFS(k = 0, 1, k = n, 1, MOD(k, 2) = 0, 2, MOD(k, 2) = 1, 4),
        SUM(coeff * fx) * dx / 3
    )

xmin,xmaxに積分の上限下限、nは分割数を入力、積分したい関数をfxに書く(そのままxが使える)と1行というか1セルでシンプソンの公式が

Let_simpson

のようにExcelの有効数字でπが計算できる。これは結構便利ではないだろうか。

さて次のネタは何にするか、、、

以前の2つ:

ExcelのLET関数を使って、2次方程式の解を式のまま解く(複素解も実数解もどちらでも計算できる)

ExcelのLET関数を使ってワンライナー(+コピペ)で円の弧長と弦長から矢高・半径・中心角を求める。

« フィッツヒュー・南雲 (FitzHugh-Nagumo) 方程式をPython+Scipyでルンゲクッタ8次のDOP853(Dormand Prince)で計算。 | トップページ | ExcelのLET関数+SEQUENCE関数で数値計算シリーズ(その4)ワンライナーでシンプソンの積分公式でクロソイド曲線を計算する。 »

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

コメント

コメントを書く

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

« フィッツヒュー・南雲 (FitzHugh-Nagumo) 方程式をPython+Scipyでルンゲクッタ8次のDOP853(Dormand Prince)で計算。 | トップページ | ExcelのLET関数+SEQUENCE関数で数値計算シリーズ(その4)ワンライナーでシンプソンの積分公式でクロソイド曲線を計算する。 »

最近の記事

最近のコメント

2024年12月
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        
フォト
無料ブログはココログ