• 締切済み

四次方程式をC言語を用い解きたいです.

C言語は一応一通りのことは理解できます. 四次方程式を数値解析もしくは解の公式を用いた解法をプログラムに起こしたいです. 過去の質問も見てみましたがしっくりくるものがありませんでした. みなさんにオススメプログラムがございましたら, 教えていただきたいです. よろしくおねがいします. 四次方程式ではなくn次元でも結構です. 言語はCでお願いします.

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

まず 4次方程式に限定すれば解の公式があるから, それをベタに実装すればいいだけ. ただし 4次方程式を (解の公式で) 解くためには「3次方程式を解く」必要があるため, それも作らなきゃならない. この方針そのものに疑問の余地はないと思う. ついでにいうと実係数 4次多項式は 2個の実係数 2次多項式の積に必ず因数分解できるため, 複素数は最後の段階 (2次方程式を解くところ) までは無視しても構わない. が, それは数値計算的にはうれしくなく, 一般の代数方程式を解きに行ったほうがましだったような気がする. 当然だけどこっち方面でも探せば山のように資料は出てくるはずだし, 実際にはライブラリもあるから「代数方程式を解く」ことに関してはわざわざ自分で組む必然性もなかったりする.

epi_suke
質問者

お礼

遅くなりました。 回答ありがとうございます。 手を抜こうとしてはいけませんね・・・(笑) この辺のことは分かっていたのですが、 どうも自分で作れそうになくて。 丁寧な説明ありがとうございました。 参考にさせていただき自分でトライしてみたいと思います。

回答No.2

方程式を計算機で解くっていうのはニュートン法などで実数解を求めることだと思っているんだけど、それじゃだめなの? 5次以上でも解けると思うんだけど(初期値の選び方によっては解けないこともある) ただし、奇数次なら少なくとも一つの実数解はあるだろうけど、偶数次では一つも実数解が無いこともある。 確かに4次方程式までは解の公式がある。5次以上に解の公式はない。 検索したらこんなのをみつけた。 高次方程式の解の公式 http://www.imasy.or.jp/~yotti/equation.html C言語ができるのならば、これを自分でプログラムしたらいかが? 「プログラムに起こしたいです」だから人からプログラムを教えてもらっちゃだめでしょ。 ところで > さらに,四次だと複素数が出てくると思うのですが,それに対応してなかったりと・・・ とあるけど、二次方程式でも複素数解は出てくるんだけど!? x^2 + 1 = 0

epi_suke
質問者

お礼

遅くなってすみません. 回答ありがとうございました! 目的は4次方程式の解が欲しいのではなく、 それをツールにしてさらに高度な問題を解こうとしていたので, 手軽な関数がないかなぁ♪ なんて思っていたのです。 まぁ手を抜こうとしていたのは確かですね。 おっしゃるとおりです。 ご指摘ありがとうございました。 自分で頑張ってみます。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「n次元」ってなんだろう. 「しっくりくるものがありませんでした」ってことは, 「なかった」わけじゃないんだよね. どういうものがあって, そのなにがどう「しっくりこなかった」んですか?

epi_suke
質問者

補足

回答ありがとうございます! 言葉足らずですみませんm(_ _)m 私が求めていたのは四次方程式を解くことができるC言語のプログラムでして, 探したのですが二・三次のプログラムしかないのです. さらに,四次だと複素数が出てくると思うのですが,それに対応してなかったりと・・・ いろいろと穴がありまして・・・ n次というのは, 一つのプログラムでどの次数も解析できるということです.

関連するQ&A