找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2501|回复: 0
收起左侧

c语言弦截法&函数嵌套

[复制链接]
ID:72519 发表于 2015-1-22 02:15 | 显示全部楼层 |阅读模式
#include<stdio.h>

#include<math.h>
//要求使用函数嵌套
//这道题属于非线性方程的数值解法:弦截法
//数值分析上讲的,跟程序书里讲的不太一样,程序书里还要求f(x1)*f(x2)<0
float f(float x)
{
return(x*x*x-5*x*x+16*x-80);
}
float xp(float x1,float x2)
{
return((x1*f(x2)-x2*f(x1))/(f(x2)-f(x1)));
}
float root(float x1,float x2)
{float x,y;
do
{
x=xp(x1,x2);
y=f(x);
if(f(x)*f(x1)>0)
        x1=x;
else if(f(x)*f(x2)>0)
        x2=x;
}while(fabs(y)>=1e-6);
return(x);
}

void main()
{float x1,x2;
   do
   {
   scanf("%f%f",&x1,&x2);
   }
   while(f(x1)*f(x2)>0);
   printf("root=%f\n",root(x1,x2));

}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表