python scipy求解非线性方程的方法(fsolve/root)


Posted in Python onNovember 12, 2018

使用scipy.optimize模块的root和fsolve函数进行数值求解线性及非线性方程,下面直接贴上代码,代码很简单

from scipy.integrate import odeint
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import root,fsolve
#plt.rc('text', usetex=True) #使用latex
## 使用scipy.optimize模块的root和fsolve函数进行数值求解方程

## 1、求解f(x)=2*sin(x)-x+1
rangex1 = np.linspace(-2,8)
rangey1_1,rangey1_2 = 2*np.sin(rangex1),rangex1-1
plt.figure(1)
plt.plot(rangex1,rangey1_1,'r',rangex1,rangey1_2,'b--')
plt.title('$2sin(x)$ and $x-1$')

def f1(x):
 return np.sin(x)*2-x+1

sol1_root = root(f1,[2])
sol1_fsolve = fsolve(f1,[2])
plt.scatter(sol1_fsolve,2*np.sin(sol1_fsolve),linewidths=9)
plt.show()

## 2、求解线性方程组{3X1+2X2=3;X1-2X2=5}
def f2(x):
 return np.array([3*x[0]+2*x[1]-3,x[0]-2*x[1]-5])

sol2_root = root(f2,[0,0])
sol2_fsolve = fsolve(f2,[0,0])
print(sol2_fsolve) # [2. -1.5]

a = np.array([[3,2],[1,-2]])
b = np.array([3,5])
x = np.linalg.solve(a,b)
print(x) # [2. -1.5]
## 3、求解非线性方程组
def f3(x):
 return np.array([2*x[0]**2+3*x[1]-3*x[2]**3-7,
     x[0]+4*x[1]**2+8*x[2]-10,
     x[0]-2*x[1]**3-2*x[2]**2+1])

sol3_root = root(f3,[0,0,0])
sol3_fsolve = fsolve(f3,[0,0,0])
print(sol3_fsolve)

## 4、非线性方程
def f4(x):
 return np.array(np.sin(2*x-np.pi)*np.exp(-x/5)-np.sin(x))
init_guess =np.array([[0],[3],[6],[9]])
sol4_root = root(f4,init_guess)
sol4_fsolve = fsolve(f4,init_guess)
print(sol4_fsolve)
t = np.linspace(-2,12,2000)
y1 = np.sin(2*t-np.pi)*np.exp(-t/5)
y2 = np.sin(t)
plt.figure(2)
a , = plt.plot(t,y1,label='$sin(2x-\pi)e^{-x/5}$')
b , = plt.plot(t,y2,label='$sin(x)$')
plt.scatter(sol4_fsolve,np.sin(sol4_fsolve),linewidths=8)
plt.title('$sin(2x-\pi)e^{-x/5}$ and $sin(x)$')
plt.legend()

python scipy求解非线性方程的方法(fsolve/root)

python scipy求解非线性方程的方法(fsolve/root)

以上这篇python scipy求解非线性方程的方法(fsolve/root)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中isnumeric()方法的使用简介
May 19 Python
Python黑魔法@property装饰器的使用技巧解析
Jun 16 Python
python并发编程之多进程、多线程、异步和协程详解
Oct 28 Python
python使用tensorflow深度学习识别验证码
Apr 03 Python
Python3中的列表生成式、生成器与迭代器实例详解
Jun 11 Python
python利用selenium进行浏览器爬虫
Apr 25 Python
对python 调用类属性的方法详解
Jul 02 Python
Python双链表原理与实现方法详解
Feb 22 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
Aug 07 Python
能让Python提速超40倍的神器Cython详解
Jun 24 Python
C站最全Python标准库总结,你想要的都在这里
Jul 03 Python
Python编写冷笑话生成器
Apr 20 Python
Django-Rest-Framework 权限管理源码浅析(小结)
Nov 12 #Python
使用python将时间转换为指定的格式方法
Nov 12 #Python
pandas 快速处理 date_time 日期格式方法
Nov 12 #Python
python内置数据类型之列表操作
Nov 12 #Python
python pandas读取csv后,获取列标签的方法
Nov 12 #Python
对pandas的行列名更改与数据选择详解
Nov 12 #Python
Python numpy.array()生成相同元素数组的示例
Nov 12 #Python
You might like
解析file_get_contents模仿浏览器头(user_agent)获取数据
2013/06/27 PHP
ThinkPHP连接数据库的方式汇总
2014/12/05 PHP
PHP+JS三级菜单联动菜单实现方法
2016/02/24 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
php实现微信小程序授权登录功能(实现流程)
2019/11/13 PHP
jquery延迟加载外部js实现代码
2013/01/11 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
简单谈谈javascript中this的隐式绑定
2016/02/22 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
2016/06/22 Javascript
JS异步加载的三种实现方式
2017/03/16 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
nodeJs爬虫的技术点总结
2018/05/13 NodeJs
layui2.0使用table+laypage实现真分页
2019/07/27 Javascript
小程序的上传文件接口的注意要点解析
2019/09/17 Javascript
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
2017/07/12 Python
pandas对指定列进行填充的方法
2018/04/11 Python
Python对ElasticSearch获取数据及操作
2019/04/24 Python
Python 给屏幕打印信息加上颜色的实现方法
2019/04/24 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
python如何实现数据的线性拟合
2019/07/19 Python
Python中的相关分析correlation analysis的实现
2019/08/29 Python
Python标准库shutil模块使用方法解析
2020/03/10 Python
英国在线潜水商店:Simply Scuba
2019/03/25 全球购物
飞利信loadrunner和软件测试笔试题
2012/09/22 面试题
户外亲子活动策划方案
2014/02/07 职场文书
李培根演讲稿
2014/05/22 职场文书
大学生就业自荐书
2014/06/16 职场文书
双拥工作宣传标语
2014/06/26 职场文书
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
超市督导岗位职责
2015/04/10 职场文书
开会迟到检讨书范文
2015/05/06 职场文书
学生会干部任命书
2015/09/21 职场文书
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
2021/04/04 Servers
Python实现Telnet自动连接检测密码的示例
2021/04/16 Python
Python绘制散点图之可视化神器pyecharts
2022/07/07 Python