No.15047![]() |
二分法 投稿者---kasio(2004/06/29 15:37:08) |
||
高校の授業でsinx-cosx=0の区間[0,1]に存在する解を二分法によって、さらに再帰的関数を使って求めろといわれたのですが、sinxとかにmath.hを使うということがようやくわかった程度なので正直にっちもさっちもいきません。どなたか助けていただけないでしょうか。 |
No.15061![]() |
Re:二分法 投稿者---ぽこ(2004/06/30 02:06:09) |
||
>高校の授業で(略 高校の授業でしたら、ここで何日もかけて受け答えを行うより、 先生もしくは学友に聞かれた方がkasioさんの理解が早いと思います。 |
No.15062![]() |
Re:二分法 投稿者---かずま(2004/06/30 02:24:33) |
||
#include <stdio.h> #include <math.h> #define EPS 1e-6 double f(double x) { return sin(x) - cos(x); } double b(double x0, double x1) { double x2 = (x0 + x1) / 2; return x1 - x0 < EPS ? x2 : f(x0) * f(x2) < 0 ? b(x0, x2) : b(x2, x1); } int main(void) { printf("%g\n", b(0, 1)); return 0; } このプログラムで出てくる答えが正しいかどうかをどうやって確かめますか? |