ExcelのLET関数を使って、2次方程式の解を式のまま解く(複素解も実数解もどちらでも計算できる)
こういうニュースを見た。
Excelの数式言語で独自のカスタム関数を定義できる「LAMBDA」をMicrosoftが発表
おお、ラムダ式が使えるようになるのか。
調べていくうちに、LET関数というのもすでに実装されているとのこと。
「Excel」の新関数「LET」が正式版に ~“変数”を使って可読性と計算速度をアップ
なるほど。ちょっとこれを使って何かやってみよう。
適当な複雑さは、、、2次方程式くらい?
複素解になる可能性があるのでifによる場合分けもあるしちょうどよさそう。
ネストもインデントも付けられるというのも便利そう。
ではやってみた。
a*x^2+b*x+c=0を解くわけですが、a,b,cの入力セルにa_,b_,c_と名前を付けたうえで、、、
これ。このままセルにコピペするといいです。プラスの方とマイナスの方。
=LET(
a,a_,
b,b_,
c,c_,
det,LET(a,a_,b,b_,c,c_,b^2-4*a*c),
IF(det>0,
(-b+SQRT(det))/(2*a),
COMPLEX(-b/(2*a),SQRT(-det)/(2*a))
)
)
=LET(
a,a_,
b,b_,
c,c_,
det,LET(a,a_,b,b_,c,c_,b^2-4*a*c),
IF(det>0,
(-b-SQRT(det))/(2*a),
COMPLEX(-b/(2*a),-SQRT(-det)/(2*a))
)
)
結果:複素解のとき
実数解のとき
いちいち区別しなくても一瞬で解が求まる。
これ、結構便利な機能かも。実用的な使い方考えよう。
« 玉を落として弾む回数とそれまでの時間で重力加速度gを計算する式(Fermat Libratyより)を実際に導出してみた。跳ね返り係数で表されるのか! | トップページ | 松屋でうまとろ豚たま牛めし豚汁生野菜セット(ご飯大盛)を食す。 »
「日記・コラム・つぶやき」カテゴリの記事
- ExcelのLET関数+SEQUENCE関数で数値計算シリーズ(その5)ワンライナーでラマヌジャンの円周率公式を使って計算する。n=2で収束した。(2021.03.01)
- mRNAワクチンやCRISPR cas9のことが全然わからんので昔買ったブルーバックスの「アメリカ版 大学生物学の教科書」を3巻まで読む、、、と思ったら11年ぶりに完全改訂されたものが出てた!(2021.03.02)
- 新型コロナウイルス、中国、日本、韓国、アメリカ、ドイツ、フランス、イギリスでの感染者数を指数関数&ロジスティック関数&Log-Logプロットでべき関数フィッティングした(2/28更新)さすがにどの国も伸びは鈍ったか。(2021.03.01)
« 玉を落として弾む回数とそれまでの時間で重力加速度gを計算する式(Fermat Libratyより)を実際に導出してみた。跳ね返り係数で表されるのか! | トップページ | 松屋でうまとろ豚たま牛めし豚汁生野菜セット(ご飯大盛)を食す。 »
コメント