文档章节

Common Lisp牛顿法求平方根

努力喵
 努力喵
发布于 2016/02/03 03:34
字数 151
阅读 132
收藏 1

1)牛顿法求平方根:

公式:(y + x/y) / 2,首先猜测为1,然后逐渐逼近。

(defun sqrt-iter (guess x)
  (if (good-enough? guess x)
      guess
      (sqrt-iter (improve guess x)
         x)))

(defun improve (guess x)
  (average guess (/ x guess)))

(defun average (x y)
  (/ (+ x y) 2))

(defun good-enough? (guess x)
  (< (abs (- (square guess) x)) 0.001))

(defun square (x)
  (* x x))

(defun sqrt (x)
  (sqrt-iter 1.0 x))


2)牛顿法求立方根

公式:(x/(y^2) + 2y)/3

(defun cube-iter (guess x)
  (if (good-enough? guess x)
      guess
      (cube-iter (improve guess x)
         x)))

(defun improve (guess x)
  (average (* 2 guess) (/ x (* guess guess))))

(defun average (x y)
  (/ (+ x y) 3))

(defun good-enough? (guess x)
  (< (abs (- (cube guess) x)) 0.001))

(defun cube (x)
  (* x x x))

(defun cube-root (x)
  (cube-iter 1.0 x))


© 著作权归作者所有

共有 人打赏支持
上一篇: 递归
下一篇: Common Lisp 宏
努力喵
粉丝 5
博文 105
码字总数 34117
作品 0
广州
私信 提问
Spark RDD 练习题(python)

牛顿法求平方根 我们知道牛顿法求 (达到eps准确度)的算法是这样的:** * 给定一个初始值 在Spark中完成上述算法 给定0-9 10个数的作为输入,计算它们的平方根,初始值都设为1.0 设置误差和最...

czl389
2017/08/16
0
0
牛顿迭代法(Newton's Method)

牛顿迭代法(Newton's Method) 简介 牛顿迭代法(简称牛顿法)由英国著名的数学家牛顿爵士最早提出。但是,这一方法在牛顿生前并未公开发表。 牛顿法的作用是使用迭代的方法来求解函数方程的根...

angel_kitty
2017/03/11
0
0
利用牛顿迭代法求平方根

数理介绍,不喜欢数学的言下之意也就是绝大部分人可以略过了。 简单推导 假设是关于的函数: 求出的一阶导,即斜率: 简化等式得到: 然后利用得到的最终式进行迭代运算直至求到一个比较精确的满...

曾赛
2010/04/30
1K
0
FPGA定点小数计算(Verilog版)第七篇——平方根倒数运算(使用John Carmack方法)

更多精彩内容,请微信搜索“FPGAer俱乐部”关注我们。 有一段时间没有写博客了,突然想起前一段时间挖的坑,所以决定今天来填一下……其实,这一篇原本打算写的是采用牛顿迭代法的平方根运算...

fpgaerclub
2018/04/19
0
0
SICP exercise 1.7 1.8

exercise 1.7:这道题有个前提,很大和很小的数都是不溢出,如果溢出就没意义了。原始的good-enough?是平方后与待求平方根的值相减再比较结果是否小于0.001,这很明显有问题,如果待求的数的...

代码强国
2014/07/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 没时间 没头发 但有钱

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @开源中国总经办主任 :分享齐一的单曲《这个年纪》 《这个年纪》- 齐一 手机党少年们想听歌,请使劲儿戳(这里) @肿肿卷 :我真的可以睡一天...

小小编辑
33分钟前
11
4
Django进阶 1.1 ORM基础—ORM 1.2.1 增删改查之查询 1.2.2 删改增 (1) 1.2.3 删改增 (2)

ORM基础 ORM是Django操作数据库的API,Django的作者将sql语句封装在里面供我们使用。 我们前面还提到过Django提供一个模拟数据库的工具,sqlite,供我们学习测试使用。 如果我们想使用mysql...

隐匿的蚂蚁
今天
3
0
Windows 上安装 Scala

在安装 Scala 之前需要先安装 Java 环境,具体安装的详细方法就不在这里描述了。 您可以自行搜索我们网站中的内容获得其他网站的帮助来获得如何安装 Java 环境的方法。 接下来,我们可以从 ...

honeymose
今天
3
0
数据库篇多表操作

第1章 多表操作 实际开发中,一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系...

stars永恒
今天
3
0
nginx日志自动切割

1.日志配置(Nginx 日志) access.log----记录哪些用户,哪些页面以及用户浏览器,IP等访问信息;error.log------记录服务器错误的日志 #配置日志存储路径:location / {      a...

em_aaron
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部