求解方程 2x−x3=0

解:可以采用不动点迭代的方式求出数值解。

其不动点是 x=3log2x ,故可以采用下式进行不动点迭代:

xn+1=3log2xn

初始值为 x0=2 ,迭代终止条件是 |xn+1−xn|≤100∗np.spacing(1)  其中, np.spacing(1)=2.22044604925e−16

用python计算,迭代44步收敛,得到的解为9.93953514143

#coding=utf8
"""
# Author: waleking
# Created Time : 三  6/27 20:06:16 2012Last Modified: 三  6/27 21:49:42 2012
# File Name: fixedpoint.py
# Description:
不动点迭代方法
如,解2^x-x^3=0,即解x=3ln(x)/ln(2)
迭代过程:x(n+1)=3ln(x(n))/ln(2)初始值选择为x(0)=1迭代终止条件为|x(n+1)-x(n)|<=100*np.spacing(1)
收敛性说明:当初始值小于1.4的时候,不动点迭代不收敛;当初始值大于1.4时,不动点迭代收敛
"""import numpy as np
import matplotlib.pylab as plt xlist=list()
#初始值x0=2
x=2
xlist.append(x)
while(1):y=3*np.log2(x)xlist.append(y)if(np.linalg.norm(y-x)<100*np.spacing(1)):breakelse:x=y
print("solution of 2^x-x^3=0 is %s" % x)
print("value of 2^x-x^3 is %s*%s" % ((np.power(2,x)-np.power(x,3))/(np.spacing(1)),np.spacing(1)))
print("iteration procedure is %s" % xlist)
plt.plot(xlist,np.power(2,xlist),"ok-")
plt.plot(xlist,np.power(xlist,3),"*r-")
base=np.linspace(2,10,1000)
plt.plot(base,np.power(2,base),"g-")
plt.plot(base,np.power(base,3),"b-")
plt.show()

如下图,蓝色为y=x^3,绿色为y=2^x,最终的结果为9.93953514143

不动点迭代求解方程数值解相关推荐

  1. FPI(Fixed-point Iteration)不动点迭代法——迭代求方程的方法

    一 不动点是什么? 不动点,其实定义比较简单,对于一些方程,例如f(x)=cosx,那么令cosx=x的点就是函数的不动点,说白了,就是y=x这条直线与函数曲线的交点.这个不动点有什么用呢?请继续往下 ...

  2. [CUPT]国一博主, 教你求解95%以上的方程(数值解)

    大家好呀~ 博主在2021年cupt中取得了国家级一等奖的成绩, 那么也是在这里和大家分享自己的求解各种方程(数值解)的技巧, 具体讲解在B站:[cupt]国家级一等奖:教你求解95%以上的方程_哔哩 ...

  3. 数值分析——求方程解的不动点迭代法和斯特芬森法(Python实现)

    一.不动点迭代法求方程的解 import sympy #迭代的方程为 f(x)=pow(x,3)-x-1 def psi(x):return pow(x+1,1/3)def dif(x0): #求导函 ...

  4. 不动点迭代(Fixed Point Iteration)

    题目:不动点迭代(Fixed Point Iteration) 本篇介绍不动点迭代(Fixed Point Iteration).之所以学习不动点迭代是由于近来看到了FPC算法,即Fixed Poin ...

  5. 简单迭代法、牛顿法、弦割法、布洛依登法求解方程或方程组【Matlab】

    利用迭代法求解定非线性方程及方程组,使得误差不超过10^(-8).同时应用迭代加速技术,提交迭代运算效率. 此题需要用到的MATLAB代码及附录: 附录6 二分法作根的隔离 % 附录6 二分法作根的隔 ...

  6. 数值计算大作业:Jacobi与Gauss -Seidel迭代求解线性方程组(Matlab实现)

    作为研究生的入门课,数值计算的大作业算是所有研究生开学的重要编程作业. 我把Jacobi与Gauss -Seidel迭代求解线性方程组的数值计算作业在MATLAB中编程实现.具体的程序详细标注后放在文 ...

  7. 最优化方法 26:不动点迭代

    前面讲了很多具体的算法,比如梯度.次梯度.近似点梯度.加速近似点梯度.PPA.DR方法.ADMM.ALM等,对这些方法的迭代过程有了一些了解.这一节则主要是针对算法的收敛性进行分析,试图从一个更加抽象 ...

  8. 数值分析-----不动点迭代和牛顿迭代(Python)

    目录 1 概述 1.1 迭代法 1.2 Newton迭代法 2 不动点迭代 2.1 基本思想 2.2 案例及实现                 ​ 3 牛顿迭代 3.1 基本思想 3.2 案例及实现 ...

  9. 数值计算方法——不动点迭代和牛顿迭代法

    不动点迭代和牛顿迭代法 MATLAB基础 feval函数 format long syms x 简单迭代法[不动点迭代] Newton 迭代法 作业 MATLAB基础 feval函数 用于求函数值 基 ...

最新文章

  1. 人,与动物的本质区别,在哲学里说是制造和使用工具
  2. nginx 将请求全部指向到一个页面
  3. sql join on 多表连接_阿里规范不建议多表Join,可这SQL要怎么写啊?
  4. simulink和psim仿真结果不同_CAE仿真分析规范是什么?涨知识啦!
  5. python日志配置文件解释_python 之 logger日志 字典配置文件
  6. C语言数字3转变字符 3 程序,大学c语言知识点总结
  7. python2和3语法区别_python2和3语法区别
  8. SilverLight Test
  9. 创建一个国家的下拉菜单(magento2)
  10. python网络-多线程(22)
  11. android在ubuntu中编译为.apk资料
  12. linux下的osd服务,OSD通知来到GNOME Shell
  13. GetFileAttributes
  14. 织梦head.html,DeDe织梦cms主要模板head区域常用调用标签
  15. 网络嗅探器c语言代码,基于C 网络嗅探器的设计与实现-精品.doc
  16. 方维团购V3.07版本短信插件开发
  17. JAVA操作Excel 可配置,动态 生成复杂表头 复杂的中国式报表表头
  18. FreeRTOS移植Error: L6218E: Undefined symbol xTaskGetCurrentTaskHandle (referred from stream_buffer.o).
  19. python微信机器人之小i
  20. IP地址(分类)、子网掩码、网络号、主机号、子网号

热门文章

  1. 【原创】车床操作点滴-不断更新
  2. 如何写好方案规划设计文档,这里有一份实践清单
  3. 微博季报图解:营收4.8亿美元 净利受滴滴与天下秀拖累
  4. c语言16进制转10进制
  5. 正在连接 127.0.0.1:20880 无法打开到主机的连接。 在端口 23: 连接失败
  6. pycharm 新建文件后选错文件格式怎么改
  7. MySQL之账号管理.建库以及四大引擎
  8. 基于 RISC-V SoC 的可配置 FFT 系统设计(2)RISC-V 的起源及其发展历程
  9. 【Tanzu 社区版=TCE】 Mac 笔记本快速部署安装体验-(一)
  10. [Linux] Ansible及playbook实操步骤