Java 8:不动点
2016-06-16 20:49
330 查看
Java练习:牛顿迭代法 Vs. 不动点 中,介绍了Java中求平方根、求方程的解的不动点解法 getFixedPoint(DoubleUnaryOperator duo)
在Java 8中,我们可以将不动点的逼近数字序列,非常简单地打印出来。
下面的代码打印sqrt(2.0)的不动点的逼近数字序列
public static void iterate(){
UnaryOperator<Double> f = x ->(x + 2.0/x)/2.0;
Stream<Double> infinite =Stream.iterate(1.0,f);
infinite.limit(20).forEach(System.out::println);
}输出:
1.0
1.5
1.4166666666666665
1.4142156862745097
1.4142135623746899
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
f = x ->(2*x + n/(x*x))/3.0;
则求立方根。
在Java 8中,我们可以将不动点的逼近数字序列,非常简单地打印出来。
下面的代码打印sqrt(2.0)的不动点的逼近数字序列
public static void iterate(){
UnaryOperator<Double> f = x ->(x + 2.0/x)/2.0;
Stream<Double> infinite =Stream.iterate(1.0,f);
infinite.limit(20).forEach(System.out::println);
}输出:
1.0
1.5
1.4166666666666665
1.4142156862745097
1.4142135623746899
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
1.414213562373095
f = x ->(2*x + n/(x*x))/3.0;
则求立方根。
相关文章推荐
- Java反射需要注意的地方
- java中Json,Map,实体之间的转换
- Java Web项目--使用Servlet生成一个页面
- Java多线程-当前线程副本:ThreadLocal
- ajax-struts2-json
- JAVA平台简单介绍
- javaweb—JDBC数据库增删查改
- JAVA 流程控制
- java导出word模板
- Ecliplse 使用中遇到的问题
- javaweb—JDBC连接数据库
- Eclipse Find/Replace
- Java多态性理解
- Java合并数组的两个子有序段
- javaweb—SpringMVC+Spring+MyBatis整合
- Java正则表达式
- 深入浅出 Java Concurrency (1) : J.U.C的整体认识
- MyBatis-spring和spring JDBC批量插入Mysql的效率比较
- Spring@Autowired注解与自动装配
- Java反射机制