本文目录一览:
sinx的泰勒展开式是什么?
sinx的泰勒展开式是如下:
- sinx = x - 1/6x^3 + o(x^3),这是泰勒公式的正弦展开公式,在求极限的时候可以把sinx用泰勒公式展开代替。
- arcsinx = x + 1/6x^3 + o(x^3),这是泰勒公式的反正弦展开公式,在求极限的时候可以把arcsinx用泰勒公式展开代替。
- tanx = x + 1/3x^3 + o(x^3),这是泰勒公式的正切展开公式,在求极限的时候可以把tanx用泰勒公式展开代替。
- arctanx = x - 1/3x^3 + o(x^3),这是泰勒公式的反正切展开公式,在求极限的时候可以把arctanx用泰勒公式展开代替。
- ln(1+x) = x - 1/2x^2 + o(x^2),这是泰勒公式的ln(1+x)展开公式,在求极限的时候可以把ln(1+x)用泰勒公式展开代替。
- cosx = 1 - 1/2x^2 + o(x^2),这是泰勒公式的余弦展开公式,在求极限的时候可以把cosx用泰勒公式展开代替。
sinx泰勒展开式是什么?
sinx泰勒展开式是 sinx = x - 1/3!x^3 + 1/5!x^5 + o(x^5)。 sinx的泰勒展开式是不固定的,sin(sinx) ∽ x,设 sinx = t,则 sint ∽ t,所以 sint ∽ t ∽ sinx ∽ x,由等价无穷小的传递性,因此泰勒展开为 x,也可以直接算,求五次导数,可以解出除了 x 项以外都是 0。 我们可以将 sinx 展开为:a0x^ + a1x^ + a2x^2 + a3x^3 + a4*x^4 + …… 这样的幂级数的形式,即: sinx = 1!*x^1 + 3!*x^3 + 5!*x^5 + 7!*x^7 + ... + (2n+1)!*x^(2n+1) + …… 这样的幂级数展开叫作正弦函数的泰勒展开。
常用泰勒展开式
- e^x = 1 + x + x^2/2! + x^3/3! + …… + x^n/n! + ……
- ln(1+x) = x - x^2/2 + x^3/3 - …… + (-1)^(k-1)*(x^k)/k + …… (|x| < 1)
- sinx = x - x^3/3! + x^5/5! - …… + (-1)^(k-1)*(x^(2k-1))/(2k-1)! + …… (-∞ < x < ∞)
- cosx = 1 - x^2/2! + x^4/4! - …… + (-1)^k*(x^(2k))/(2k)! + …… (-∞ < x < ∞)
- arcsinx = x + 1/2x^3/3 + 13/(2*4)*x^5/5 + …… (|x| < 1)
- arccosx = π - (x + 1/2x^3/3 + 13/(2*4)*x^5/5 + ……) (|x| < 1)
- arctanx = x - x^3/3 + x^5/5 - …… (x ≤ 1)
用sinx的泰勒展开式编写C语言程序
#include <stdio.h>
#include <math.h>
/* 计算n的阶乘 */
int factor(int n)
{
if (n == 1)
return 1;
else
return factor(n - 1) * n;
}
/* 得到分子的值 */
double get_numerator(double x, int order)
{
return pow(x, order); // 求x^order
}
/* 得到分母的值 */
double get_denominator(int n)
{
return factor(n); // 求n的阶乘
}
/* 获得第n项的符号,即(-1)^n */
int get_symbol(int n)
{
if (n % 2 == 0) // n是偶数
return 1;
else
return -1;
}
int main()
{
int i;
double x;
double sin_x = 0;
double tmp = 0;
printf("please input the x:\n");
scanf("%lf", &x);
for (i = 0;; i++)
{
tmp = sin_x; // 暂时保存上一步得到的sin值
sin_x += get_numerator(x, 2 * i + 1) / get_denominator(2 * i + 1) * get_symbol(i);
if (fabs(sin_x - tmp) < 1E-6) // 精度满足要求
break;
}
printf("sin(%lf)=%lf\n", x, sin_x);
return 0;
}
学好C语言,首先应该把语言的语法学好,这也是基础。尤其是注意指针部分,可以说这是C语言的精髓,也是C语言能够直接操作内存的犀利之处。 其次,应该多练代码,并且注意代码的可读性,规范性。 最好,能够亲身用C语言参加某个项目实践,毕竟实践出真知。 至于之后C++或者Java的学习,要看自己的发展规划了。不过学好C语言,绝对对你今后学习其他语言有很大帮助。
sinX的泰勒公式展开式用C语言怎么编写?非常急
你这个要求最后一项的近似值的精度... 我给你的是10的-5次方的精度。
#include <math.h>
#include <stdio.h>
main()
{
int n = 1, count = 1;
float x;
double sum, term;
printf("input x:");
scanf("%f", &x);
sum = x;
term = x;
do
{
term = -term * x * x / ((n + 1) * (n + 2));
sum = sum + term;
n = n + 2;
count++;
} while (fabs(term) >= 1e-5);
printf("sin(x)=%f, count=%d\n", sum, count);
}