用c语言求函数cosx 用c语言求函数表达式

c语言用迭代法求cosx的表达式

用迭代法求cosx的表达式,可以先将方程x=cosx改写成x=g(x),其中g(x)是一个合适的函数,例如g(x)=0.5*(x+cosx)。然后给定一个初始值x0,用公式xn+1=g(xn)来逐步计算xn的值,直到满足精度要求。下面是一个用C语言实现的例子:

为南山等地区用户提供了全套网页设计制作服务,及南山网站建设行业解决方案。主营业务为做网站、成都网站设计、南山网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

#include stdio.h

#include math.h

#define EPS 1e-6 //定义精度

int main()

{

double x0,x1; //定义迭代变量

x0 = 0; //给定初始值

do

{

x1 = 0.5 * (x0 + cos(x0)); //计算下一个近似值

if(fabs(x1 - x0) EPS) break; //判断是否满足精度要求

x0 = x1; //更新迭代变量

}while(1);

printf("cosx的表达式为:%.6lf\n", x1); //输出结果,保留6位小数

return 0;

}

C语言求cosx的近似值

我发现了两个错误。把第7行放在第5行下面,倒数第二行这个函数应该是printf而不是print。

更好的方法:你调用了math.h文件中的pow函数,你有没有发现math.h文件中还有三角函数。求cos(x)根本不用这么麻烦,你直接调用cos函数即可。

cos函数的原型:double cos(double angle)

C语言:不调用库函数,用级数法求cosx的值

#include "stdio.h"

#include "math.h"

#define PI 3.14156

float cosx(float x);

float fun_cos(float x, int m);

int main()

{

float x = PI/2;

printf("cos(%f)=%f\n",x,cos(x));//使用系统函数cos计算

printf("cosx(%f)=%f\n",x,cosx(x));//使用泰勒公式计算

return 0;

}

float fun_cos(float x, int m)

{

float ret_val;

int i;

if (m%2 == 0)

{ ret_val = 1.0;

}

else

{ ret_val = -1.0;

}

for (i=1;i=2*m;i++)

{ ret_val = ret_val * x/i;

}

return ret_val;

}

float cosx(float x)

{ float ret_val = 1.0;

float temp_ret;

int m = 1;

float Pi = 3.1415926;

if (x  2*Pi || x  -2*Pi)

{ x = x-((int)(x/(2*Pi)))*(2*Pi);

}

do

{

temp_ret =fun_cos(x,m++);

ret_val += temp_ret;

while (temp_ret0.00005 || temp_ret-0.00005);

return ret_val;

}

如何用C语言设计计算cosx的近似值?

1、首先在电脑中打开Dev-C++,接着在打开的操作主页面中,写好头函数#include stdio.h#include math.h。

2、然后在打开的C语言窗口中,写好主函数,如下图所示。

3、主要代码如下,在while中判断某一项的绝对值小于10-6为止就PI的近似值。

4、最后如下图所示,运行之后就完成了。


文章题目:用c语言求函数cosx 用c语言求函数表达式
标题链接:http://scyanting.com/article/ddoddoj.html