首页后端开发其他后端知识c语言不动点求解函数零点 怎么计算函数不动点

c语言不动点求解函数零点 怎么计算函数不动点

时间2023-04-15 02:09:01发布访客分类其他后端知识浏览1607
导读:c语言函数求解。。。 #includestdio.hint main( { int (*p (int a,int b ; /*定义P为一个指针,指向一个接受两个int参数返回int的函数*/ int a,b,maxi;...

c语言函数求解。。。

#includestdio.h

int main()

{

int (*p)(int a,int b); /*定义P为一个指针,指向一个接受两个int参数返回int的函数*/

int a,b,maxi;

int max(int a,int b);

scanf("%d,%d",a,b);

p=max;

maxi=p(a,b); /*()的优先级高于*,所以你那样写相当于重新解引用了。(*p)(a,b)这样也可以*/

printf("%d",maxi);

return 0;

}

int max(int a,int b)

{

int c;

c=ab?a:b;

return(c);

}

求助C语言二分法求函数零点

#include stdio.h

#include math.h

double fun_math(double);

int main(void)

{

/*  根据函数可知Y是关于x的一个递增函数 */

/*  先判断输入Y时,X在(0,1)时是否有解 */

double Y;

double X=0 ,big_x=1.0,small_x=0,tmp_X=1;

unsigned int tmp=0;

printf("Please enter Y:");

scanf("%lf",Y);

if(fun_math(1) = Y fun_math(0) = Y)

{

while(tmp_X != X)

{

X =(big_x + small_x)/2;

if(fun_math(X)==Y) break;

if(fun_math(X)Y) big_x = X;

else small_x = X;

tmp_X = X ;

X =(big_x + small_x)/2;

}

printf("X = %.6lf",X);

}

else printf("while Y=%lf, X(0,1) on results\n",Y);

return 0;

}

怎么通过C语言实现用不动点迭代方法解超越方程 x = 2 sin x的根,求指点

显然0是方程的根,然后用牛顿法,从1.0和-1.0去迭代

得到1.895494 和-1.895494两个解

验证一下

#include stdio.h

#include math.h

#define DX 0.001

double g(double x) {

return 2 * sin(x) - x;

}

double Dg(double x) {

return (g(x + DX) - g(x)) / DX;

}

double f(double x) {

return x - (g(x) / Dg(x));

}

int good(double a, double b) {

return fabs(a - b) 0.0000001;

}

double fixpoint(double x) {

double next = f(x);

if (good(next, x))

  return next;

else

  return fixpoint(next);

}

int main() {

printf("%f\n", fixpoint(1.0));

printf("%f\n", fixpoint(-1.0));

return 0;

}

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: c语言不动点求解函数零点 怎么计算函数不动点
本文地址: https://pptw.com/jishu/3099.html
PHP可以收集表单数据 php如何接收表单数据 c语言函数源文件 c语言编写的函数源程序,其文件名后缀可以是c吗

游客 回复需填写必要信息