用c语言写一个程序并执行,利用微积分的泰勒展开公式,编写函数mysin( ),计算任意弧度的正弦值。可参考上面的近似公式计算正弦值,但必须 |x|<10或更小更好。 函数mysin( )的形式如下: float mysin(float x) x的单位是弧度。 请利用sin x的近似展开公式,推导出cos x的近似展开公式,并编写函数mycos( ),计算任意弧度的余弦值。 函数mycos( )的形式如下: float mycos(float x) ,x的单位是弧度
时间: 2023-06-16 20:06:54 浏览: 350
以下是利用泰勒展开公式编写的mysin和mycos函数的代码:
```c
#include <stdio.h>
float mysin(float x) {
float result = 0.0;
float term = x;
int i, sign = 1;
for (i = 1; i <= 10; i++) {
result += term;
term *= (-1) * x * x / ((2 * i) * (2 * i + 1));
}
return result;
}
float mycos(float x) {
float result = 1.0;
float term = 1.0;
int i, sign = 1;
for (i = 1; i <= 10; i++) {
term *= (-1) * x * x / ((2 * i - 1) * (2 * i));
result += term;
}
return result;
}
int main() {
float x = 0.5236; // 30 degrees in radians
printf("sin(%f) = %f\n", x, mysin(x));
printf("cos(%f) = %f\n", x, mycos(x));
return 0;
}
```
在这个例子中,我们使用10项泰勒展开公式来计算sin和cos的值。这个数值可以根据需要进行调整。在mysin函数中,我们使用一个符号变量来交替改变每一项的符号。在mycos函数中,我们从1开始,因为cos(0) = 1。
阅读全文