当前位置: 首页 > 知识库问答 >
问题:

迭代法

岑畅
2023-03-14

牛顿函数现在起作用了,我想展示网格中的哪些初始点产生收敛到-1的牛顿迭代,收敛到(1 (3)^1/2)/2我,鉴于:

f(x)=x^31

newton[x0_] := (
  x = x0;
  a1 = {};
  b1 = {};
  c1 = {};
  counter = 0;
  error  = Abs[f[x]];
  While[counter < 20 && error > 0.0001,
   If[f'[x] != 0, x = x - N[f[x]/f'[x]]];
   counter = counter + 1;
   error = Abs[f[x]]];
  x)

我创建了一个网格来显示bi的哪些初始点收敛到根。

grid = Table[a + b I, {a, -2, 2, 0.01}, {b, -2, 2, 0.01}];

共有1个答案

裴展
2023-03-14

委婉地说,你的代码不是最优的,但是为了让你领先,你为什么不从这样的东西开始:

f[x_] := x^3 + 1;

newton[x0_] := (x = x0;
  a1 = {};
  b1 = {};
  c1 = {};
  counter = 0;
  error = Abs[f[x]];
  While[counter < 20 && error > 0.0001, 
   If[f'[x] != 0, x = x - N[f[x]/f'[x]]];
   counter = counter + 1;
   error = Abs[f[x]]];
  {x, counter})

Table[Re@newton[a + b I], {a, -2, 2, 0.01}, {b, -2, 2, 0.01}] // Image
 类似资料:
  • 你竟任着刚硬不悔改的心,为自己积蓄忿怒,以致神震怒,显他公义审判的日子来到。他必照各人的行为报应各人。凡恒心行善,寻求荣耀、尊贵和不能朽坏之福的,就以永生报应他们;惟有结党不顺从真理,反顺从不义的,就以忿怒、恼恨报应他们。(ROMANS 2:7-8) 迭代 Bill正在介绍他的项目,嘴里不断蹦出“loop、iterate、traversal、recursion”这些单词,夹杂在汉语汇总。旁边的小白

  • 什么叫做迭代? 比如在 Java 中,我们通过 List 集合的下标来遍历 List 集合中的元素,在 Python 中,给定一个 list 或 tuple,我们可以通过 for 循环来遍历这个 list 或 tuple ,这种遍历就是迭代。 可是,Python 的 for 循环抽象程度要高于 Java 的 for 循环的,为什么这么说呢?因为 Python 的 for 循环不仅可以用在 list

  • 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。 在Python中,迭代是通过for ... in来完成的,而很多语言比如C或者Java,迭代list是通过下标完成的,比如Java代码: for (i=0; i<list.length; i++) { n = list[i]; } 可以看出,Python的

  • 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。 在Python中,迭代是通过for ... in来完成的,而很多语言比如C语言,迭代list是通过下标完成的,比如Java代码: for (i=0; i<list.length; i++) { n = list[i]; } 可以看出,Python的for循

  • null 一些示例输出数据: *编辑:工作的scala代码行:

  • 迭代器 乍看来,迭代器似乎很直观。但凑近了看,你会发现标准STL容器提供了四种不同的迭代器:iterator、const_iterator、reverse_iterator和const_reverse_iterator。很快你会注意到在这四种类型中,容器的insert和erase的某些形式只接受其中一种。那是问题的开始。为什么有四种迭代器?它们之间的关系是什么?它们可以互相转化吗?在调用算法和ST