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セルでシンプソンの公式が
のようにExcelの有効数字でπが計算できる。これは結構便利ではないだろうか。
さて次のネタは何にするか、、、
以前の2つ:
« フィッツヒュー・南雲 (FitzHugh-Nagumo) 方程式をPython+Scipyでルンゲクッタ8次のDOP853(Dormand Prince)で計算。 | トップページ | ExcelのLET関数+SEQUENCE関数で数値計算シリーズ(その4)ワンライナーでシンプソンの積分公式でクロソイド曲線を計算する。 »
「日記・コラム・つぶやき」カテゴリの記事
- Visual Basic (VB.NET)でC#用の数値計算ライブラリMath.NET Numericsを使う(2) 補間を行う(Interpolate) リニア、3次スプライン、有理関数などいろいろ使える。(2023.03.27)
- Visual Basic (VB.NET)でC#用の数値計算ライブラリMath.NET Numericsを使う(1)複素行列を定義して一次方程式や逆行列、行列式などを計算する。(2023.03.24)
- BingのAIチャットに最大の素数はいくつ?と聞くと、存在しないが今知られている最大の素数は2^89589933-1だと答えた。が、これは引用している記事が誤植していて、実際は2^82589933-1だ...間違った記事を引用すると間違った答えになる。英語で聞くと1つ前のメルセンヌ素数に…(2023.03.17)
- 高周波(RF・マイクロ波・ミリ波・5G)関連ニュース(3/16) IEEE Microwave Magazineは女性マイクロ波研究者特集、Microwave Journalで285GHz帯で30GHz帯域のOTA測定!QorvoがUWB室内ナビのデモ、STMとonsemiのBluetooth新商品、IDTechExの6Gレポート、など。(2023.03.16)
- 今日は円周率の日(3.14)ということでChatGPTとBingのAIチャットに円周率を求める面白い方法を教えてくださいと聞いてみた。ChatGPTが訳の分からない方法をRegenerateするたびに提案してくる...ピザ押し。Bingは検索していることもあってまあこんな感じか。(2023.03.15)
« フィッツヒュー・南雲 (FitzHugh-Nagumo) 方程式をPython+Scipyでルンゲクッタ8次のDOP853(Dormand Prince)で計算。 | トップページ | ExcelのLET関数+SEQUENCE関数で数値計算シリーズ(その4)ワンライナーでシンプソンの積分公式でクロソイド曲線を計算する。 »
コメント