
3次式
y=Ax^3+Bx+C
を
x=
の形に書き換えたいのですが、解法がさっぱりわかりません。
(x^3はxの3乗と思ってください)
類似の質問を検索してみても、回答中の参照先サイトがなくなっていたり、
難解すぎて理解できなかったりで解決しませんでした。
解法のわかる方、改めて教えていただけないでしょうか。
いまはエクセルのゴールシーク機能を使って、yの値からxの値を求めているのですが、
数が多いのでとても手間がかかります。
複数のyの値を、1操作でゴールシークできれば、あえて逆関数をもとめる必要もないんですが。
そういう手段もあれば教えてください。
No.1ベストアンサー
- 回答日時:
三次関数のx^2の係数が0であることに着目すれば、”カルダノの公式”そのものです。
”カルダノの公式”で検索してください。内容は理解できなくても、手順どおりにやればエクセルに実装できます。
反復法だと、”ニュートン法”もヒントになるでしょう。
とりあえずエクセルで回答させることができました。ありがとうございました。
ただ虚数が発生するとエクセルではエラーになってしまうので、100%完成まではこぎつけてません。
そこらへんをもうちょっとつめてみます。
No.2
- 回答日時:
マクロを作る手ですかね。
function gyakukansu(a,b,c,y)
を自分で作れば、excelのセルの中から(組み込みの関数と同じように)利用できます。複数の解を出力するためには、
DIM solution(0 to 2)
solution(0) = ...
solution(1) = ....
solution(2) = ....
gyakukansu = solution
のようにして配列を返すようにすればOKです。スプレッドシート上では、複数の数値を返す組み込み関数(minverseとかlinestとか)を使うのと同じ要領で利用します。
じゃ、マクロの中身です。
y = A x^3 + Bx + C
の逆関数ってのは、
x^3 + (B/A)x + (C-y)/A = 0
という方程式の実数解を求めていることに他なりません。
p = B/A
q = (C-y)/A
f(x) = x^3 + px + q
(ちなみに、y = a x^3 + b x^2 + cx + d の場合も、x=X-b/(3a)と変数変換すればこの形に帰着します。(チルンハウス変換))
とおくと、方程式は
f(x) = 0
これを、解がどこにあるかによって分類します。そのために、fをxで微分したもの
f'(x) = 3(x^2)+p
を考えておきます。f'(x)=0となるxでf(x)は極大か極小になるわけですね。
(1) p>0 → f(x)には極大・極小がない。なので、f(x)=0には1つの実数解と2つの虚数解がある。
(1-1) q>0 → x<0の範囲に唯一の実数解がある。
(1-2) q=0 → x=0が唯一の実数解。
(1-3) q<0 → x>0の範囲に唯一の実数解がある。
(2) p=0 → x=(qの符号)×(|q|^(1/3))が唯一の実数解。
(3) p<0 → f(x)には極大・極小がひとつずつある。f'(x)=0を解いて
極大fmax = f(-√(-p/3))
極小fmin = f(√(-p/3))
であると分かります。そして、
(3-1) fmin >0 → x<-√(-p/3)の範囲に唯一の実数解がある。
(3-2) fmin = 0 → 二重解 x=√(-p/3)のほかにもうひとつ、x<-√(-p/3)の範囲に実数解がある。
(3-3) fmax > 0 > fmin → x<-√(-p/3)の範囲、-√(-p/3)<x<√(-p/3)の範囲、および、
x>√(-p/3)の範囲にそれぞれひとつずつ実数解がある。
(3-4) fmax = 0 → 二重解 x=-√(-p/3)のほかにもうひとつ、x>√(-p/3)の範囲に実数解がある。
(3-5) 0 > fmax → x>√(-p/3)の範囲に唯一の実数解がある。
「ある範囲に唯一の実数解がある」というその解の数値計算は簡単で、ニュートン法が使えます。すなわち:
適切な出発値x[0]を与えて、
x[n+1] = x[n] - f(x[n])/f'(x[n])
を繰り返せば、x[n]が解に収束する。最初もたついても、収束しはじめるととても速くて、繰り返す度に有効数字の桁数がおおむね倍になって行きます。なので|f(x[n])/f'(x[n])|がうんと小さくなったら打ち切れば良いわけです。
出発値は「範囲内であって範囲の境界から適当に離れたところ」をx[0]にすれば良い。適当って、(だいたい何でもいいんですけど、小さい定数だと|p|が0に近い場合にx[1]が大はずれの値になってなかなか収束が始まらないんで)たとえば(|q|^(1/3))+1ぐらい離れたところとか。
ただし、(3-3)における「-√(-p/3)<x<√(-p/3)の範囲にある解」を探す場合だけは、「適当に」じゃカオスに陥ることがありますんで、この場合は変曲点(f''(x)=0となるx)であるx=0を出発値にします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
y′′ + y = 0 この微分方程式は...
-
不等式ax<4-2x<2xの解が1<x...
-
答えを教えて
-
無数の解が存在する=すべての...
-
適正解と最適解
-
差分法とオイラー法の違いについて
-
数学についてです 「 aを定数と...
-
解なし≠解はない
-
平均値の定理
-
|x-4|く3xがわかりません 写真...
-
3次方程式は3つの整数解をもちf...
-
3次関数と直線が接する場合、...
-
なんで4次方程式f(x)=0がx=2を...
-
微分積分の極限についての問題...
-
三次方程式の解法について
-
二次方程式の解の絶対値二つと...
-
数1 この問題の(3)で少なくとも...
-
Excelで合計値を基にデータを均...
-
2次不等式の解の答え方について
-
数学: 互除法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
数学の問題が分からないので解...
-
x(x^2+y^2+y)y'+x^3-xy^2-2yx^2...
-
(x^2 -y)y'=xy-1
-
数学についてです 「 aを定数と...
-
Excelで合計値を基にデータを均...
-
tanX=Xの解
-
複数の品目での単価と全体の合...
-
微分方程式で、分母=0の場合は...
-
適正解と最適解
-
3次関数と直線が接する場合、...
-
aの値に関係なくとよく問題で見...
-
3次関数と1次関数が接するとき
-
解に3つ以上±や∓がある時複号...
-
数学II 三次方程式 x^3-5x^2+ax...
-
行列の問題
-
「この解は問題にあう」中学2...
-
16の4乗根は±2ではない!?
-
2次方程式X^2-3X-1=0の2つの...
-
答えを教えて
-
3次方程式の定数の範囲の問題で...
おすすめ情報