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 time模块详解(常用函数实例讲解,非常好)
Apr 24 Python
Python开发的单词频率统计工具wordsworth使用方法
Jun 25 Python
Python下载指定页面上图片的方法
May 12 Python
一个基于flask的web应用诞生 记录用户账户登录状态(6)
Apr 11 Python
python生成圆形图片的方法
Mar 25 Python
python中字符串的操作方法大全
Jun 03 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
May 05 Python
PyQt Qt Designer工具的布局管理详解
Aug 07 Python
python的移位操作实现详解
Aug 21 Python
浅谈对python中if、elif、else的误解
Aug 20 Python
Python趣味挑战之给幼儿园弟弟生成1000道算术题
May 28 Python
Python中的datetime包与time包包和模块详情
Feb 28 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
对squid中refresh_pattern的一些理解和建议
2009/04/17 PHP
php file_exists 检查文件或目录是否存在的函数
2010/05/10 PHP
360通用php防护代码(使用操作详解)
2013/06/18 PHP
PHP中的str_repeat函数在JavaScript中的实现
2013/09/16 PHP
PHP magento后台无法登录问题解决方法
2016/11/24 PHP
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
js保留小数点后几位的写法
2014/01/03 Javascript
js中top的作用深入剖析
2014/03/04 Javascript
js的延迟执行问题分析
2014/06/23 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
2014/06/26 Javascript
js实现select下拉框菜单
2015/12/08 Javascript
30分钟快速掌握Bootstrap框架
2016/05/24 Javascript
jQuery之简单的表单验证实例
2016/07/07 Javascript
jQuery排序插件tableSorter使用方法
2017/02/10 Javascript
利用ES6语法重构React组件详解
2017/03/02 Javascript
vue动态生成dom并且自动绑定事件
2017/04/19 Javascript
BootStrap selectpicker后台动态绑定数据的方法
2017/07/28 Javascript
详谈innerHTML innerText的使用和区别
2017/08/18 Javascript
React props和state属性的具体使用方法
2018/04/12 Javascript
JS验证输入的是否是数字及保留几位小数问题
2018/05/09 Javascript
node.js部署之启动后台运行forever的方法
2018/05/23 Javascript
JavaScript实现的拼图算法分析
2019/02/13 Javascript
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
2014/01/22 Python
python多行字符串拼接使用小括号的方法
2020/03/19 Python
pygame游戏之旅 添加游戏介绍
2018/11/20 Python
关于Python 的简单栅格图像边界提取方法
2019/07/05 Python
Python 去除字符串中指定字符串
2020/03/05 Python
python tqdm实现进度条的示例代码
2020/11/10 Python
python包的导入方式总结
2021/03/02 Python
中医药大学市场营销专业自荐信
2013/09/29 职场文书
儿子婚宴答谢词
2014/01/09 职场文书
《蓝色的树叶》教学反思
2014/02/24 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
2014年小学教导处工作总结
2014/12/19 职场文书
投标承诺函范文
2015/01/21 职场文书
《观潮》教学反思
2016/02/17 职场文书