C语言怎么样用二分法求方程的解用二分法求2X^3

如题所述

代码懒得写了写个步骤把
设f(x) = 2X^3
1 设置两个变量 a和b初值等于0
2 然后a增大b减小,直到 f(a)和f(b)一正一负
3 判断f( (a + b) / 2)是否等于0,等于0则转到8
4 判断f( (a + b) / 2) 和f(b)判断是否同号
5 若同号则b = (a + b) / 2 否则 a = (a + b) / 2
6 判断a-b是否足够小 例如 a-b< 0.00001
7 足够小则认为a+b/2为根 不够小则转到3、
8 输出答案
===========分隔符============
如果是不限定方程的形式,而且要求求出全部解的话
把上面步骤稍微改一下,并且要先顶一下根的范围比如(-100000,100000)
ab初值为-100000,a逐渐增加,直到f(a)f(b) 异号,然后求根步骤同上
求出一个根以后 让b等于这个根,a继续增加,直到f(a)f(b)再次异号,再求出根,直到a大于100000以后,认为没有根
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-04-25
这不是方程呀,这只是一个函数, 2 * x * x * x 就行,我觉得你要求的应该没那么简单?

C语言怎么样用二分法求方程的解用二分法求2X^3
设f(x) = 2X^3 1 设置两个变量 a和b初值等于0 2 然后a增大b减小,直到 f(a)和f(b)一正一负 3 判断f( (a + b) \/ 2)是否等于0,等于0则转到8 4 判断f( (a + b) \/ 2) 和f(b)判断是否同号 5 若同号则b = (a + b) \/ 2 否则 a = (a + b) \/ 2 6 ...

用二分法求方程2x^3-4x^2+3x-6=0的根,要求误差小于10^(-5),用c语言...
return 2*pow(d,3)-4*d*d+3*d-6;} void main(){ int k=0;double a,b,limit;printf("\\nplease input the 区间:");scanf(""%lf %lf",&a,&b);printf("\\nplease input the 解的精确程度:");scanf("%lf",&limit);if(f(a)*f(b)>0)printf("\\n 无法用二分法求解");else...

C语言作业:二分法求方程2x^3-4x^2+3x-6=0在(-10,10)之间的根 中遇到的...
初始 f(a) > 0 f(b) < 0 对于c=(a+b)\/2 如果f(c)>0 则继续操作[b,c]否则操作[c,a]这个是二分法的核心 所以代码应该是 include <stdio.h># include <math.h>int main (){double a,b,c,d;a=10;b=-10;c=(a+b)\/2;d=2*c*c*c-4*c*c+3*c-6;while(fabs(d)>1e-...

如何用C语言解二元一次方程组
void main( ){ int a,b;for(a=1;a<35;a++){ b=35-a;if(2*a+b==50){ printf("%d ",a); \/\/打印出每组符合要求的a和b printf("%d\\n",b);} } }

c语言中用二分法求一元三次方程根 在(-10,10)区间求2x^3-4x^2+3x...
} int main(){ double lit= 1E-07; \/\/ 直接给常数 double min=-10,max=10;double mid=(max+min)\/2;double result;\/\/ printf("left=%lf right=%lf\\n",f1(min),f1(max)); \/\/ 要 判断一下: 一负,一正 do { if (fabs( f1(mid) ) <= lit) break;if( f1(mid) >...

C语言二分法求y =2x ³-4x ²+3x-6=0的程序?
二分法,适用于原函数是单调递增或单调递减,即方程只有1个根,或在指定区间只有1个根 \/ \/\/函数y( x),直接按题目中的方程写 double y(double x){ return 2*x*x*x -4*x*x +3*x -6;} \/\/递归调用函数,这种调用多少次不一定的函数,\/\/用递归调用最简单,但要掌握递归技巧 double f(...

c语言二分法求方程根
用二分法求方程在(-10,10)之间的根:2x^3-4x^2+3x-6=0.解:x1<=x0=(x1+x2)\/2<=x2 程序:include<stdio.h> include<math.h> int main(){ float x0,x1,x2,fx0,fx1,fx2;do { printf("输入x1,x2的值:");scanf("%f,%f", &x1, &x2);fx1 = 2*x1*x1*x1 - 4 * x1...

用c语言程序设计用二分法求方程 f(x)=x^3-x^2-2x+1=0在区间【0,1】内...
include <stdio.h>double f(double x){return x*x*x-x*x-2*x+1;}int main(void) {double low=0,up=1;for(;up-low>=1e-3;){if(f((up+low)\/2)<0)up=(up+low)\/2;elselow=(up+low)\/2;}printf("%.3lf\\n",(up+low)\/2);return 0;} ...

c语言 用二分法求方程2x3-4x2+3x-6=0在(-10,10)之间的根
using namespace std;double compute(double);double getX(double,double);void main(){ double a = -10.0;double b = 10.0;cout<<getX(a,b)<<endl;} double compute(double x){ return (2*x*x*x-4*x*x+3*x-6);} double getX(double a,double b){ double mid = (a+b)\/2;...

跪求用c语言编写用二分法求一元三次方程的解法,(系数为2,-4,3,-6...
就是求 2X^3-4X^2+3X-6=0 如果2分法的话要有两个边界才行噢,而且要假设 单调性 .(2分法的必要条件)

相似回答