アプリ版:「スタンプのみでお礼する」機能のリリースについて

(0.5)!とか、30!とかみたいに、ガンマ関数を実装する方法を教えてください

質問者からの補足コメント

  • ワークシート使う以外の方法お願いします、スターリングの公式とか使うんですかね?ガンマ関数を使いたいというよりも、自分でガンマ関数を計算するプログラムを作ってそれを使いたいんです。

    No.2の回答に寄せられた補足コメントです。 補足日時:2022/06/29 22:21

A 回答 (3件)

こんばんは


>ガンマ関数を使いたいというよりも、自分でガンマ関数を計算するプログラムを作ってそれを使いたいんです。

ちょっと次元が違っていたようですね。実装ではなくロジックを作りたいと言う事なのですね。すみません目的は分かりませんが私のスキルを超えています。

計算について
一般的?には 数式を数値、演算子、括弧などに分けて逆ポーランド記法を作成し順に計算していく形になると思います
ただ、VBAの仕様と制限で有効(精度の高い)な解は求められないような気がします。

一応、参考になるかも知れない情報を

逆ポーランド記法
https://ja.wikipedia.org/wiki/%E9%80%86%E3%83%9D …

ガンマ関数の定義
https://excelmath.atelierkobato.com/gamma/

ガウス積分とガンマ関数・近似式スターリング式
https://amonphys.web.fc2.com/amondf.pdf

数値計算 for VBA
https://amonphys.web.fc2.com/amonnc.html

一通り流し読みしましたが、制度はともかく何とかなりそうかな・・
    • good
    • 0

Sub hoge()


x = 30
Debug.Print WorksheetFunction.Gamma(x)
End Sub

WorksheetFunctionの意味が通じないとは・・・
この回答への補足あり
    • good
    • 0
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!