|
>C言語のプログラムを作っているんですが前に進めません。
>問題は、
>2のx乗-1を、x=1、10の-2乗、10の-5乗、10の-8乗、10の-10乗、
>10の-15乗、10の-20乗について計算するんですが、普通の計算ならできる
>んですが、これをテーラー展開して、係数が0の項を除いて第2項まで計算
>するんです。このプログラムを教えてください。ヒントだけでもいいです。
>OSはリナックスで言語はCです。コンパイルはgccを使います。
2^(x - 1) なのか 2^x - 1 なのかはっきりしませんが、ここでは2^x - 1
として計算しています。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double func(double x);
int main(void)
{
double x[] = {1, 1e-2, 1e-5, 1e-8, 1e-10, 1e-15, 1e-20};
int i, n = sizeof(x) / sizeof(x[0]);
for (i = 0; i < n; i++)
printf("x = %e, 2^x - 1 = %e, func = %e\n", x[i], pow(2, x[i]) - 1, func(x[i]));
return 0;
}
double func(double x)
{
return x * log(2) + log(2) * log(2) * x * x / 2;
}
|