- 543 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 23:07:12 ]
- >>540
// ニュートン法で「f(x) = 0」を解く #include <iostream> // f(x) および f'(x) double f1(double x) { return x*x - 57; } double f1d(double x) { return 2*x; } double f2(double x) { return x*x*x - 7; } double f2d(double x) { return 3*x*x;} double f3(double x) { return 3*x*x*x + 2*x*x + 5*x - 15; } double f3d(double x) { return 9*x*x + 4*x + 5; } int main() { int n; double x; // 繰り返し回数、初期値 n = 10; x = 1.0; while (n--) { x -= f1(x) / f1d(x); } std::cout << "(1) " << x << std::endl; n = 10; x = 1.0; while (n--) { x -= f2(x) / f2d(x); } std::cout << "(2) " << x << std::endl; n = 10; x = 1.0; while (n--) { x -= f3(x) / f3d(x); } std::cout << "(3) " << x << std::endl; return 0; }
|

|