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获取糗百图片代码实例
Dec 18 Python
详解JavaScript编程中的window与window.screen对象
Oct 26 Python
Swift 3.0在集合类数据结构上的一些新变化总结
Jul 11 Python
django上传图片并生成缩略图方法示例
Dec 11 Python
Python实现批量压缩图片
Jan 25 Python
Python的numpy库中将矩阵转换为列表等函数的方法
Apr 04 Python
Python按钮的响应事件详解
Mar 04 Python
Python 硬币兑换问题
Jul 29 Python
python数据库编程 ODBC方式实现通讯录
Mar 27 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
Jul 03 Python
Python 如何调试程序崩溃错误
Aug 03 Python
Python读取Excel一列并计算所有对象出现次数的方法
Sep 04 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
PHP+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
PHPMyadmin 配置文件详解(配置)
2009/12/03 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
2014/04/10 PHP
PHP中使用匿名函数操作数据库的例子
2014/11/17 PHP
php第一次无法获取cookie问题处理
2014/12/15 PHP
php去除html标记的原生函数详解
2015/01/27 PHP
JS、DOM和JQuery之间的关系示例分析
2014/04/09 Javascript
javascript实现的元素拖动函数宿主为浏览器
2014/07/21 Javascript
jQuery中trigger()方法用法实例
2015/01/19 Javascript
jquery实现的伪分页效果代码
2015/10/29 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
2016/05/21 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
2017/01/17 Javascript
超全面的JavaScript开发规范(推荐)
2017/01/21 Javascript
js eval函数使用,js对象和字符串互转实例
2017/03/06 Javascript
nodejs构建本地web测试服务器 如何解决访问静态资源问题
2017/07/14 NodeJs
JS轮播图实现简单代码
2021/02/19 Javascript
Nuxt.js实现校验访问浏览器类型的中间件
2018/08/24 Javascript
JS 实现微信扫一扫功能
2018/09/14 Javascript
利用React Router4实现的服务端直出渲染(SSR)
2019/01/07 Javascript
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
浅析Python中的多重继承
2015/04/28 Python
python基于phantomjs实现导入图片
2016/05/13 Python
python 队列详解及实例代码
2016/10/18 Python
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
python打开使用的方法
2019/09/30 Python
Python计算机视觉里的IOU计算实例
2020/01/17 Python
Python调用百度OCR实现图片文字识别的示例代码
2020/07/17 Python
Canvas 文本填充线性渐变的使用详解
2020/06/22 HTML / CSS
惠普加拿大在线商店:HP加拿大
2017/09/15 全球购物
英国最大的香水商店:The Fragrance Shop
2018/07/06 全球购物
关于毕业的中学校园广播稿
2014/01/26 职场文书
擅自离岗检讨书
2014/02/11 职场文书
大学生见习报告范文
2014/11/03 职场文书
师德师风学习材料
2014/12/19 职场文书
楚门的世界观后感
2015/06/03 职场文书