当前位置:首页 » 操作系统 » 求根算法

求根算法

发布时间: 2022-08-06 13:06:38

Ⅰ 三次方程求根公式

具体算法如下:

1、ax^3+bx^2+cx+d的标准型。

2、化成x^3+(b/a)x^2+(c/a)x+(d/a)=0。

3、可以写成x^3+a1*x^2+a2*x+a3=0。

4、其中a1=b/a,a2=c/a,a3=d/a。

5、令y=x-a1/3。

6、则y^3+px+q=0。

7、其中p=-(a1^2/3)+a2,q=(2a1^3/27)-(a1*a2)/3+a3。

(1)求根算法扩展阅读:

三次方程的其他解法:

1、因式分解法

因式分解法不是对所有的三次方程都适用,只对一些三次方程适用.对于大多数的三次方程,只有先求出它的根,才能作因式分解.当然,因式分解的解法很简便,直接把三次方程降次.例如:解方程x3-x=0

对左边作因式分解,得x(x+1)(x-1)=0,得方程的三个根:x1=0,x2=1,x3=-1。

2、另一种换元法

对于一般形式的三次方程,先用上文中提到的配方和换元,将方程化为x3+px+q=0的特殊型.令x=z-p/3z代入并化简,得:z-p/27z+q=0。再令z=w代入,得:w+p/27w+q=0.这实际上是关于w的二次方程.解出w,再顺次解出z,x。

3、盛金公式解法

三次方程应用广泛。用根号解一元三次方程,虽然有着名的卡尔丹公式,并有相应的判别法,但使用卡尔丹公式解题比较复杂,缺乏直观性。范盛金推导出一套直接用a、b、c、d表达的较简明形式的一元三次方程的一般式新求根公式,并建立了新判别法.

Ⅱ 平方根的公式

平方根公式如图:

如果一个非负数x的平方等于a,那么这个非负数x叫做a的算术平方根。a的算术平方根记为,读作“根号a”,a叫做被开方数(radicand)。求一个非负数a的平方根的运算叫做开平方。

结论:被开方数越大,对应的算术平方根也越大(对所有正数都成立)。一个正数如果有平方根,那么必定有两个,它们互为相反数。

拓展资料

平方根,又叫二次方根,表示为〔±√ ̄〕,其中属于非负数的平方根称之为算术平方根。一个正数有两个实平方根,它们互为相反数;0只有一个平方根,就是0本身;负数有两个共轭的纯虚平方根。

Ⅲ 高一数学 描述一元二次方程求解的算法

解一元二次方程的基本思想方法是通过“降次”将它化为两个一元一次方程。一元二次方程有四种解法:
1、直接开平方法;2、配方法;3、公式法;4、因式分解法。
1、直接开平方法:
直接开平方法就是用直接开平方求解一元二次方程的方法。用直接开平方法解形如(x-m)^2;=n
(n≥0)的
方程,其解为x=±√n+m
.
2.配方法:用配方法解方程ax^2+bx+c=0
(a≠0)
先将常数c移到方程右边:ax^2+bx=-c
将二次项系数化为1:x^2+b/ax=-
c/a
方程两边分别加上一次项系数的一半的平方:x^2+b/ax+(
b/2a)^2=-
c/a+(
b/2a)^2;
方程左边成为一个完全平方式:(x+b/2a
)2=
-c/a﹢﹙b/2a﹚²
当b²-4ac≥0时,x+b/2a
=±√﹙﹣c/a﹚﹢﹙b/2a﹚²
∴x=﹛﹣b±[√﹙b²﹣4ac﹚]﹜/2a(这就是求根公式)
3.公式法:把一元二次方程化成一般形式,然后计算判别式△=b²-4ac的值,当b²-4ac≥0时,把各项系数a,
b,
c的值代入求根公式x=[-b±√(b²-4ac)]/(2a)
,
(b²-4ac≥0)就可得到方程的根。4.因式分解法:把方程变形为一边是零,把另一边的二次三项式分解成两个一次因式的积的形式,让两个一次因式分别等于零,得到两个一元一次方程,解这两个一元一次方程所得到的根,就是原方程的两个根。这种解一元二次方程的方法叫做因式分解法。一般解一元二次方程,最常用的方法还是因式分解法,在应用因式分解法时,一般要先将方程写成一般形式,同时应使二次项系数化为正数。
直接开平方法是最基本的方法。
公式法和配方法是最重要的方法。公式法适用于任何一元二次方程(有人称之为万能法),在使用公式法时,一定要把原方程化成一般形式,以便确定系数,而且在用公式前应先计算判别式的值,以便判断方程是否有解。
配方法是推导公式的工具,掌握公式法后就可以直接用公式法解一元二次方程了,所以一般不用配方法
解一元二次方程。但是,配方法在学习其他数学知识时有广泛的应用,是初中要求掌握的三种重要的数学方法之一,一定要掌握好。(三种重要的数学方法:换元法,配方法,待定系数法)。

Ⅳ 数学求根公式是什么

求根公式一般指的是一元二次(或多次)的方程程序化得出的求根计算公式。

a为二次项系数,b为一次项系数,c是常数。

一元二次ax^2 +bx+c=0可用求根公式x= 求解,它是由方程系数直接把根表示出来的公式。这个公式早在公元9世纪由中亚细亚的阿尔·花拉子模给出。

(4)求根算法扩展阅读:

被开方的数或代数式写在符号左方v形部分的右边和符号上方一横部分的下方共同包围的区域中,而且不能出界,若被开方的数或代数式过长,则上方一横必须延长确保覆盖下方的被开方数或代数式。

开n次方的n写在符号√ ̄的左边,n=2(平方根)时n可以忽略不写,但若是立方根(三次方根)、四次方根等,是必须书写。

Ⅳ 关于求根算法的解析,急!

这个算法假定了输入的长度不超过16位,结果不超过8位
然后算法的原理就是从最高位开始一位一位地把结果的二进制位算出来
(p表示的就是当前的二进制位)

Ⅵ 平方根计算方法

【平方根计算步骤】

  1. 将被开方数的整数部分从个位起向左每隔两位划为一段,用撇号分开(竖式中的11’56),分成几段,表示所求平方根是几位数;

  2. 根据左边第一段里的数,求得平方根的最高位上的数(竖式中的3);

  3. 从第一段的数减去最高位上数的平方,在它们的差的右边写上第二段数组成第一个余数(竖式中的256);

  4. 把求得的最高位数乘以20去试除第一个余数,所得的最大整数作为试商(20×3除256,所得的最大整数是 4,即试商是4);

  5. 用所求的平方根的最高位数的20倍加上这个试商再乘以试商.如果所得的积小于或等于余数,试商就是平方根的第二位数;如果所得的积大于余数,就把试商减小再试(竖式中(20×3+4)×4=256,说明试商4就是平方根的第二位数);

  6. 用同样的方法,继续求平方根的其他各位上的数.

如遇开不尽的情况,可根据所要求的精确度求出它的近似值.


【开平方】

求一个数a的平方根的运算,叫做开平方,其中a叫做被开方数。在实数范围内a必须大于或等于零,即a为非负数;

Ⅶ 牛顿迭代法求根

1 牛顿迭代法又叫牛顿切线法。主要用于求方程的近似解。
牛顿切线法收敛快,适用性强,缺陷是必须求出方程的导数。
设r是f(x)=0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y=f(x)的切线L,L的方程为y=f(x0) f'(x0)(x-x0),求出L与x轴交点的横坐标 x1=x0-f(x0)/f'(x0),称x1为r的一次近似值,如果|f(x1)-0|小于指定的精度,那么继续过点(x1,f(x1))做曲线y=f(x)的切线,并求该切线与x轴的横坐标 x2=x1-f(x1)/f'(x1)称x2为r的二次近似值,重复以上过程。得r的近似值序列{Xn},其中Xn 1=Xn-f(Xn)/f'(Xn),称为r的n 1次近似值。上式称为牛顿迭代公式。
你画个图对照看,很容易理解的。

2 f=((a*x0+b)*x0+c)*x0+d; //为什么要这样写?而不直接写成//a*x*x*x+b*x*x+c*x+d ?
这完全是为了加快计算速度。它使用了数学中有名的霍纳求值法。
((a*x0+b)*x0+c)*x0+d只需要做3次乘法,而a*x*x*x+b*x*x+c*x+d需要做6次乘法。在计算机中乘法和除法需要的机器指令周期是最长的,这样改写可大大提高计算速度,特别是计算式复杂,数据繁多的场合。这是一个很有用的设计技巧。

Ⅷ 多项式 求根的算法和程序

这题可以用二分法步进试探求解。当然这里说的二分法不是像谭浩强书上的那么简单明了,不是一个f(x1)*f(x2)<0就可以确定的。因为他举例子是在一个单调区间求根,而这里是要求出所有解,区间不一定是单调的。上次我发了一个类似的程序有人评价说不好,那不过是他根本没理解非单调区间找出所有根和单调区间找一个根难度根本不可比较,说明他根本没理解算法目的。

这里的思路是先定一个区间[a,b]然后从a开始以步长h在[a,a+h]内搜索是否有根,然后[a+h,a+2*h],直到区间右端到达b为止。a,b如何大概确定?可以利用高等数学中的高阶导数求出多项式何时恒为正或恒为负决定,这个不难。显然a,b的区间越小程序执行越快。所以a,b尽量定准确一些。程序中定得比较大[-100,150],实际改得越精确越好,当然不能漏根。同时h越小计算时间越长,但是结果精度越高,所以取值要以程序要求的精确度和执行时间综合考虑,这里取0.1。

同时为了提高计算速度,使用了着名的霍纳求值法。即求3x^3-5x^2+x+1转化为求((3x-5)x+1)x+1,因为第一种求法要做7次乘法而带括号的求法只用做3次乘法。当然如果多项式函数是奇函数或偶函数还可以简化[a,b]区间。
程序中设定了一个多项式,实际更改为所求多项式即可。
一个完整的c程序如下,程序在win-tc和Dev-c++下都调试通过。
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

double Equation(double x)
{
double z;
z=(((((x-5.0)*x+3.0)*x+1.0)*x-7.0)*x+7.0)*x-20.0;/*更改为实际多项式*/
return(z);
}

int BinSearchRoot(double a,double b,double h,double eps,double x[],int m) /*用二分法计算非线性方程的实根*/
/*参数意义:
a 要求的根的下界
b 要求的根的上界,即:所求的根落在区间 [a,b]之内
h 递进的步长
eps 精度
x 根的值
m 预计的根的个数*/
{
int n,js;
double z,y,z1,y1,z0,y0;
n=0; z=a; y=Equation(z);
while ((z<=b+h/2.0)&&(n!=m)) /*对给定步长的子区间进行搜索*/
{
if (fabs(y)<eps) /*当前的判定点是方程的根*/
{
n=n+1;
x[n-1]=z;
z=z+h/2.0;
y=Equation(z);
}
else /*当前点不是方程的根*/
{
z1=z+h;
y1=Equation(z1);
if (fabs(y1)<eps) /*下一个点是方程的根*/
{
n=n+1;
x[n-1]=z1;
z=z1+h/2.0;
y=Equation(z);
}
else if (y*y1>0.0) /*该区间内无根*/
{ y=y1; z=z1;}
else /*该区间内有根*/
{
js=0;/*标志,0表示未找到根,1表示已经确定了根*/
while (js==0)
{
if (fabs(z1-z)<eps) /*区间的长度小于给定的精度,可以当作已经找到了根*/
{
n=n+1;
x[n-1]=(z1+z)/2.0; /*把区间的中位值作为根*/
z=z1+h/2.0; /*把寻找的位置放到下一个区间内*/
y=Equation(z);
js=1; /*在当前区间内已经找到了根*/
}
else /*区间比给定的精度大,则进行二分*/
{
z0=(z1+z)/2.0; /*区间二分*/
y0=Equation(z0);
if (fabs(y0)<eps) /*z0位置为根*/
{
x[n]=z0;
n=n+1;
js=1;
z=z0+h/2.0;
y=Equation(z);
}
else if ((y*y0)<0.0) /*[z,z0]内有根*/
{ z1=z0; y1=y0;}
else { z=z0; y=y0;}
}
}
}
}
}
return(n); /*返回根的个数*/
}

int main()
{
int i,n;
static int m=6;
static double x[6];
system("cls");
printf("\nThe Nonlinear function is:\n");
printf("\nf(x)=(((((x-5.0)*x+3.0)*x+1.0)*x-7.0)*x+7.0)*x-20.0\n"); /*更改为实际多项式*/
n=BinSearchRoot(-100.0,150.0,0.1,0.000001,x,m);
printf("\nThe function has %d roots, they are:\n",n);/*输出根的个数*/
for (i=0; i<=n-1; i++)
printf("x(%d)=%10.7f\n",i,x[i]);
system("pause");
return 0;
}

后记:网络是个比较浮躁的地方,个别人说三道四,我一笑了之。真正正确的东西他理解不了,只能说明他还没达到那个层次,要从自身找原因。

显然二分法是不能解决虚根问题的。

Ⅸ ax方+bx+c=0的求根公式

ax方+bx+c=0的求根公式=ax^2+bx+c。在数学和电脑运算中,对于一个已知的从实数集合映射到实数集合,或者从复数集合映射到复数集合的连续函数f(x),搜索变量x使得f(x)=0(此时,变量x称为f(x)=0的根、f(x)的零点)的算法,称为求根算法。
在许多情况下,函数的零点无法被准确计算出,也无法被解析解表示;是故,求根算法在实数集合下只提供一个以浮点数表示的近似解,或者一个足够小的解的存在区间,在复数集合下只提供一个复根的圆盘(输出一个区间或一个圆盘等价于输出一个根的近似值及其误差上限)。

热点内容
传智播客php韩顺平 发布:2024-05-17 20:09:52 浏览:819
android蓝牙打印打印图片 发布:2024-05-17 18:58:31 浏览:464
android年龄 发布:2024-05-17 18:51:33 浏览:198
termux安装python 发布:2024-05-17 18:44:55 浏览:655
手机流量上传 发布:2024-05-17 18:44:06 浏览:551
服务器怎么证明是好的 发布:2024-05-17 18:39:28 浏览:683
树莓派如何搭建mqtt服务器 发布:2024-05-17 18:27:38 浏览:437
门口机sip服务器ip是什么 发布:2024-05-17 17:38:27 浏览:554
光遇安卓区是什么服 发布:2024-05-17 17:22:25 浏览:25
linux驱动开发教程 发布:2024-05-17 17:19:52 浏览:501