- 締切済み
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でお願いできないでしょうか
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.4
「cos(x/2)」は方程式じゃないので, そもそも「cos(x/2)の解を出す」という文章に意味がないんですけどね. あと, 「までは行きますが」って, それ 1歩も進んでないんですけど.... さておき, (今の問題には関係ないですが) f(m) がぴったり 0 になると挙動不審になりませんか>#3. もちろんイメージだと思うのでさして問題とは思わないもののなんとなく引っ掛かってしまってみました.
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
回答No.3
C++0xで書きました(下記URL参照)。 # 言わんとしていることはわかるでしょう
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
回答No.2
> 二分法が全然意味不明だから結局プログラムも分かりません じゃあ無理ですね。プログラミング以前の問題ですから。
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
回答No.1
そもそも二分法、わかります?
補足
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)終了する こんなこと書いてあるけど二分法が全然意味不明だから結局プログラムも分かりません