0

该程序为来自 printf 的任何 i 或初始猜测输出相同的值。该问题要求给定 i 处的根,该根总是不同的。我们如何在 (1-x^3) 等式中为 X 处的 0 结转 Xo,我们得到 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;
}
4

0 回答 0