• ベストアンサー

エクセルで三次方程式を解きたい

エクセルで三次方程式を解きたいのです。 普通に三次方程式の一般解を入力して計算すると、 計算途中に虚数がでるため計算が出来ません。 ax^3+bx^2+cx+d=0 でa,b,c,dを入力すると3つの解を出したいのです。 何か良い方法を知っている方ご教授ください。

  • RSK
  • お礼率83% (30/36)

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

自信ないですが、参考になれば。 方程式(4次以下。5次以上は一般解の公式なし。)を解くとき (1)根の公式による (2)数値的解法(ニュートン法のようなもの) があると思う。 (2)は接線とX軸の交点を問題にすることでも判るように 実数根しか求められないのではないでしょうか。 虚数解となるケースの虚数部の実数係数を 求める(a+biの(a,b))方法(漸近的に解に近づく繰り返し計算方法)があるかどうか知りません。 (1)は3次方程式の場合ωが付くが、その係数は実数のはずで、公式による計算で求められると思う。 複素数内で解は3個存在し、複素数はa+biとなり a,bは実数のはず。 しかし判別式の中の値の正負0によって公式が「場合分け」が必要なので、エクセルの関数式も、IF文のネストをして、表さないといけないと思います。「場合分け」してますか。 またaを求める式とbを求める式と2つ別にすることもありそうです。

RSK
質問者

お礼

詳しい回答ありがとうございました。 三次方程式を解くアドインファイルというものが フリーソフトとしてありまして、無事解決いたしました。 頂いた回答も今後の参考にさせていただきます。 回答をくださった皆様ありがとうございました。

その他の回答 (1)

  • NIWAKA_0
  • ベストアンサー率28% (508/1790)
回答No.1

1個しか解出ませんが(しかも近似値) [ツール]→[ゴールシーク]を使ってみるのはダメですか? A1セルにa、B1セルにb、C1セルにc、D1セルにdを入れ、 A2セルをXとして、とりあえず仮に1を入力。 A3セルに =A1*A2^3+B1*A2^2+C1*A2+D1 という式を入力。 で、[ツール]→[ゴールシーク]で、 [数式入力セル]をA3、 [目標値]をゼロ、 [変化させるセル](=X)をA2として[OK] これでとりあえず一つは近い数字出てくるはずですが…。

RSK
質問者

お礼

早い回答ありがとうございます。

関連するQ&A

  • 三次方程式の一般解

    三次方程式の一般解を教えてください aX^3+bX^2+cX+d=0 の時, X=? 解を係数a,b,c,dで表現してください.どっかで前に見たことがあるのですが 思い出せません.お願いします.

  • 二次方程式

    3つのxの2次方程式  ax^2+2bx+c=0 bx^2+2cx+a=0 cx^2+2ax+b=0 について、すくなくとも1つは実数解をもつことを証明せよ。(ただし、a, b, cは0以外の実数) という問題なのですが、判別式を使って考えているのですが、よく分かりません。どなたかアドバイスをお願いします。

  • 2次方程式の実数解

    3つのxの2次方程式  ax^2+bx+c=0 bx^2+cx+a=0 cx^2+ax+b=0 があるとき、 3つの方程式のうち、すくなくとも1つは実数解をもつことを証明せよ。(ただし、a, b, cは0以外の実数) という問題なのですが、a,b,cの大小関係から判別式を使って考えてみたのですが、うまくいきません。

  • a、b、c、dは実数の定数である

    方程式x^4+ax^2+bx^2+cx+d=0は4つの虚数解を持つ その解の内、ある2つの和は19+2iであり、他の2つの積は4+5iである このときa、b、c、dの値を求めよ 解の2つをα、βとするとそれらの共役複素数も解なのはわかりましたがそこからを教えてください

  • 方程式って何次まで解けますか?

    2次方程式は中学で習います。 3次方程式は、因数分解が出来れば解けます。 また、解が1個見つかれば、2次方程式になるので、これも解けます。 4次以上の方程式は解けるのですか? いわゆる解の公式みたいなのがあるのですか? 上でいう方程式とは、Ax^3+Bx^2+Cx+D=0みたいな形式のことです。

  • 共役複素数

    a、b、c、dは実数の定数である 方程式x^4+ax^2+bx^2+cx+d=0は4つの虚数解を持つ その解の内、ある2つの和は19+2iであり、他の2つの積は4+5iである このときa、b、c、dの値を求めよ 2つの解α、βを、 α=p+qi、β=r+si とおくと、その共役複素数 ¬α=p-qi、¬β=r-si も解で、 x^4+ax^2+bx^2+cx+d=(x-α)(x-β)(x-¬α)(x-¬β)と表せられる ここでα+β=19+2iとすると、 (x-α)(x-β)=x^2-(19-2i)x+(4+5i) (x-¬α)(x-¬β)=x^2-(19+2i)x+(4-5i) であり、x^4+ax^2+bx^2+cx+d=(x-α)(x-β)(x-¬α)(x-¬β)と表せることから、この右辺の積がx^4+ax^2+bx^2+cx+dと同じになる というところまで様々な方のおかげでたどり着いたのですが、右辺をかけると、-38x^3が出たりx^2の係数に虚数があったりとx^4+ax^2+bx^2+cx+dに合わなくなってしまったんです どうすればいいでしょうか?教えてください

  • 4次方程式の解

    x^4-4x-1=0 の実数解と虚数解を求めよ。 因数定理は使えない。 (x^2+ax+b)(x^2+cx+d)=0 と与式をおく。a,b,c,dは実数 展開して、係数を比較すると (1)bd=-1 (2)a+c=0 (3)ac+b+d=0 (4)ad+bc=-4 これから、a,b,c,dを求めてと思いましたが、できませんでした。 (1)から(4)の式から1つの文字だけの方程式はできるが、それが解けない。 かえって、与方程式を解くよりむずかしい。 よろしくアドバイスおねがいします。

  • 二次方程式の解き方

    初心者です。自力で解こうとしましたが、どうしてもわからないので質問させていただきます。 問題 2次方程式ax^2+bx+c=0 (ただし aは0でない)の解を求めよ。ただし、a,b,c(実数)はキーボードから入力し、判別式d=b*b-4*a*cが正か0か負かについて処理せよ。 虚数解についてですが、2+3iや4+2iのようなかんじで答えを出さなければいけないそうです。 次に、私が途中まで作ったプログラミングです。 #include<stdio.h> #include<math.h> int main(void) { double a,b,c,x1,x2,i; printf("ax^2+bx+c=0のa b cを入力してください >>>"); scanf("%lf %lf %lf", &a,&b,&c); if(a==0) { if(b==0.0) { printf("係数がおかしい。\n"); } else { x=-c/b; printf("解は、%gです。\n", x1); } } else { D=b*b-4*a*c; if(D>=0.0) { printf("解は重解となり%gです。\n", x1); } else { printf("解は%gと%gです。\n", x1,x2); } } else { ここまで出来ました。一応、実数解と重解の部分のプログラミングは正解しているようです。この次の部分、つまり、虚数解を求める部分のプログラミングが出来ません。よろしくお願いします。

  • エクセルを使用した非線形方程式の解の求め方について

    エクセルにて任意の非線形方程式の解を求めるにはどのようにすればよいのでしょうか。 例えば 0=2/x^4+3/x^3+1 という方程式は具体的にエクセルでどのようにすれば解を求めることができるのでしょうか。 自分で調べたところエクセルのソルバー機能を使った0 = ax^2 + bx + cのような簡単な二次方程式の解き方などは理解できましたがそれ以上は自分の理解・知識不足のためわかりませんでした。 どうかご教授お願いいたします。

  • [数学]この問題が解けません、教えてください。。

    a/4+b/3+c/2+d=0のとき、 方程式 ax^3+bx^2+cx+d=0は、0<x<1に必ず解を持つことを示せ。 という問題です。わかる方がいらっしゃりましたら教えてください。 よろしくお願いします。

専門家に質問してみよう