在C编程中处理三次方程的根

时间:2014-10-08 05:48:29

标签: c cubic

程序为printf中的任何i或初始猜测输出相同的值。这个问题要求给定i的根始终不同。我们如何在(1-x ^ 3)的等式中将X取代为0,我们的值为1.这个值应该延续到x = 2,x = 3的计算,依此类推输出根的唯一值。 此外,对下面代码中的等式的操纵可能不是逻辑所要求的。我需要显示带有的初始值,如原始问题中立方根的一般表达式中的粗体所示。

#include <stdio.h>
#include <math.h>
int main()
{
int i;
float x;
printf("Enter initial guess =");scanf("%f",&x);
for (i=0;i<100;i++) x=(1-pow(x,3));
printf("%f\n",x);
return 0;
}

原始问题:

我们想要找到由((x)^ 3)+ x-1 = 0给出的三次方程的根之一,其通过迭代方法在0和1之间。

将上面的等式修改为x = 1 /(1+(x ^ 2))。 / 这个问题对我来说很模糊。 /

从适当的初始值开始并执行上面的迭代,直到它收敛为止。

例如, Xo(初始值???)= 0.5 ,X1 = 1 /(1 +( 0.5 ^ 2)= 0.8 , X2 = 1 /(1+ 0.8 ^ 2)= 0.609

最简单(最小)的代码可能如下所示:

#include <stdio.h>
int
main()
{
int i;
float x;
printf("Enter initial guess =");scanf("%f",&x);
for (i=0;i<100;i++) /* insert your iteration code
*/
printf("%f
\
n",x);
return 0;
}

0 个答案:

没有答案