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で質問しましょう!
似たような質問が見つかりました
- 数学 数学の問題の解き方を教えてください! 3 2022/11/02 17:32
- 数学 数学 2時間数に関わる問題について教えてください。 x≧1 y≧-1 2x+y=5 であるとき、xy 7 2022/10/29 10:57
- 数学 【 数Ⅰ 2次関数 】 問題 関数y=mx²+4x+m-3において,yの値が 常に負であるという条件 2 2022/10/01 15:08
- 数学 数学1の問題がわかりません。 次の関数において、頂点の座標と、[]内のxの値に対するyの値を求めよ。 3 2023/02/13 00:36
- 数学 2次方程式の「(x-3)^2=4」を解くとき、 そのまま解くことも可能ですが A=x-3と置いて、A 3 2023/01/27 18:20
- 数学 虚数解 6 2022/08/05 18:03
- 数学 数学の問題でモヤモヤしてます 7 2023/08/15 21:49
- 数学 【 数学 一次関数 】 問題 f(1)=-7,f(3)=-13を満たす1次関数f(x)を求めよ。 疑 4 2022/10/23 17:50
- 数学 関数f(x)=x^3+ax^2+bx+cとする。このとき、y=f(x)は以下の条件を満たしている。 1 2023/02/11 14:40
- 数学 数2Bの数列の問題です。 自分は、 まず数列 an=ar^(n-1)と置き こちらの問題の、y= の 1 2022/07/07 16:26
このQ&Aを見た人はこんなQ&Aも見ています
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数学についてです 「 aを定数と...
-
答えを教えて
-
Excelで合計値を基にデータを均...
-
tanX=Xの解
-
16の4乗根は±2ではない!?
-
高校数学の問題について 2次方...
-
微分の重解条件は公式として使...
-
4次関数と二重接線に囲まれる面...
-
cos x = 0の解の書き方について
-
a(x-α)(x-β)
-
定数係数以外の2階常微分方程...
-
数学II 三次方程式 x^3-5x^2+ax...
-
連立二次不等式についての問題
-
等差数列の和を利用・・?
-
偏微分方程式のラプラス変換に...
-
定数変化法って全ての解を出せる?
-
y''=-yの一般解について
-
確率の求め方を教えてください
-
2次方程式の2解がともに0と3の...
-
x^y=y^x (x>y)を満たす整数解は...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで合計値を基にデータを均...
-
tanX=Xの解
-
16の4乗根は±2ではない!?
-
数学についてです 「 aを定数と...
-
答えを教えて
-
一枚の板から何枚取れるか?
-
微分方程式の解を、微分方程式...
-
解なし≠解はない
-
解に3つ以上±や∓がある時複号...
-
微分の重解条件は公式として使...
-
数学I 二次方程式について次の...
-
微分方程式 定常解について・・・
-
x^y=y^x (x>y)を満たす整数解は...
-
3次関数と直線が接する場合、...
-
3次方程式の解の範囲について
-
3次関数と1次関数が接するとき
-
複数の品目での単価と全体の合...
-
次の関数が,与えられた微分方...
-
定数係数以外の2階常微分方程...
-
3次方程式
おすすめ情報