• 締切済み

C++で二分法のプログラム

C++で二分法のプログラムを作るんですが x1-x2が十分小さくなれば(10^-5)終了する 例 cos(x/2)の解を出す これどうやればいいんですか?whileを使うらしいですが。 文法というのは、 if系、while、switch、continue、for、break文くらいしかやってないんですが #include <iostream> #include <cmath> using namespace std; int main() { までは行きますが… 出力はcout 入力はcinでお願いできないでしょうか

みんなの回答

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

「cos(x/2)」は方程式じゃないので, そもそも「cos(x/2)の解を出す」という文章に意味がないんですけどね. あと, 「までは行きますが」って, それ 1歩も進んでないんですけど.... さておき, (今の問題には関係ないですが) f(m) がぴったり 0 になると挙動不審になりませんか>#3. もちろんイメージだと思うのでさして問題とは思わないもののなんとなく引っ掛かってしまってみました.

回答No.3

C++0xで書きました(下記URL参照)。 # 言わんとしていることはわかるでしょう

参考URL:
http://blogs.wankuma.com/episteme/archive/2009/10/17/182185.aspx
回答No.2

> 二分法が全然意味不明だから結局プログラムも分かりません じゃあ無理ですね。プログラミング以前の問題ですから。

回答No.1

そもそも二分法、わかります?

noname#127615
質問者

補足

1 c=(x1+x2)/2となる 2 f(x1)*f(c)<0→f(x1)とf(c)は同符号.x1とcの間に解は無し。x1=cとする。 f(x1)*f(c)<0だと、f(x1)とf(c)は異符号 x1とcの間に解が存在 x2=cとなる x1-x2が十分小さくなれば(10^-5)終了する こんなこと書いてあるけど二分法が全然意味不明だから結局プログラムも分かりません

関連するQ&A