当前位置:首页 > 编程技术 > 正文内容

【说站】Python SymPy求极值

yc8881年前 (2022-11-17)编程技术208

Python SymPy求极值

SymPy是Python符号计算库。其目标是成为一个功能齐全的计算机代数系统,代码保持简洁,易于理解和扩展。Python是完全由Python编写的,不依赖外部库。

1、求、求导、求偏导以及带值求导

import sympy
#求
#设置符号变量Symbol只能创建一个变量 symbols 可一次定义多个变量
x1,x2,x3,x4=sympy.symbols('x1,x2,x3,x4')
#创建函数建立方程式
def F(t):
    return sympy.sin(t)/t
def N(t):
    return (x1**3+3*x1**2+1)/(4*x1**3+2*+3)
#调用limit求
limF=sympy.limit(F(x1),x1,0)
limN=sympy.limit(N(x1),x1,sympy.oo)
print("x1趋于0的为{}".format(limF))
print("x1趋于0的为{}".format(limN))
#求导
#创建求导函数
def S(t):
    return sympy.sec(t) #正割
def S1(x):
    return 2*x**4+2
#调用diff函数求导
s=sympy.diff(S(x1),x1).subs(x1,1) #subs 带值求导
print('S在1处的导数为{}'.format(s))
#求多阶导数 2阶
s1=sympy.diff(S1(x1),x1,2)
#带值计算
print("S1的二阶导数{}   带入值2计算为{}".format(s1,s1.subs(x1,2)))
#建立求偏导函数
def PD(x,y,z):
    return sympy.sin(x+pow(y,2)-sympy.exp(z))
#对x求偏导
x=sympy.diff(PD(x1,x2,x3),x1)
# print(x.subs(x1,2))
#对y求偏导
y=sympy.diff(PD(x1,x2,x3),x2)
#对z求偏导
z=sympy.diff(PD(x1,x2,x3),x3,2)
print("x的偏导为{}\ny的偏导为{}\nz的二次偏导为{}".format(x,y,z))
片

2、建立表达式

不求其,只需要表达式。也就是说是一个未计算(评估)的,是一个表达式。

from sympy import Limit, sin, Symbol
from sympy.abc import x
Limit(sin(x)/x, x, 0) # 这是一个表达式,不执行计算
Limit(1/x, x, 0, dir='-') # 这也是一个表达式,不执行计算

以上就是Python SymPy求极值的用法,希望对大家有所帮助。更多Python学习指路:python基础教程

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


本文链接:https://www.10zhan.com/biancheng/9946.html

标签: Python
分享给朋友:

“【说站】Python SymPy求极值” 的相关文章

【说站】用一句话就可以去除宝塔面板操作上的二次验证

【说站】用一句话就可以去除宝塔面板操作上的二次验证

用过宝塔的朋友应该都会发现,现在宝塔面板有些鸡肋的功能,删除文件、删除数据库、删除站点等操作都需要做计算题!不仅加了几秒的延时等待,还无法跳过!这时候就会有朋友在想,如何去除宝塔面板的二次验证,此篇文...

【说站】利用Webhook实现Java项目自动化部署

【说站】利用Webhook实现Java项目自动化部署

用webhook就能实现Java项目自动部署,其实原理很简单。费话不多说,直接往下看教程。1. 创建gitee仓库并初始化2. 在linux安装git3. 在宝塔的软件的商店里下载Webhook4....

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

【说站】电脑安装MySQL时出现starting the server失败原因及解决方案

今天在安装MySQL时出现starting the server失败,经过查询分析得出以下结论,记录一下操作步骤。原因分析:如果电脑是第一次安装MySQL,一般不会出现这样的报错。如下图所示。star...

【说站】vagrant实现linux虚拟机的安装并配置网络

【说站】vagrant实现linux虚拟机的安装并配置网络

一、VirtualBox的下载和安装1、下载VirtualBox官网下载:https://www.virtualbox.org/wiki/Downloads我的电脑是Windows的,所以下载Wind...

【说站】C#在PDF中添加墨迹注释Ink Annotation的步骤详解

【说站】C#在PDF中添加墨迹注释Ink Annotation的步骤详解

PDF中的墨迹注释(Ink Annotation),表现为徒手涂鸦式的形状;该类型的注释,可任意指定形状顶点的位置及个数,通过指定的顶点,程序将连接各点绘制成平滑的曲线。下面,通过C#程序代码介绍如何...

【说站】Java从resources读取文件内容的方法有哪些

【说站】Java从resources读取文件内容的方法有哪些

本文主要介绍的是java读取resource目录下文件的方法,比如这是你的src目录的结构├── main│ ├── java│ │ └── ...