如何用Python对数学函数进行求值、求偏导
作者:jingxian 发布时间:2023-10-13 04:58:01
标签:Python,数学函数,求值,求偏导
用Python对数学函数进行求值、求偏导
from sympy import *
# x = Symbol("x")
# y = diff(x**3+x, x)
# print(y)
# result = y.subs('x', 1)
# print(result)
x, y = symbols('x, y')
z = x**2+y**2+x*y+2
print(z)
result = z.subs({x: 1, y: 2}) # 用数值分别对x、y进行替换
print(result)
dx = diff(z, x) # 对x求偏导
print(dx)
result = dx.subs({x: 1, y: 2})
print(result)
dy = diff(z, y) # 对y求偏导
print(dy)
result = dy.subs({x: 1, y: 2})
print(result)
# subs函数可以将算式中的符号进行替换,它有3种调用方式:
# expression.subs(x, y) : 将算式中的x替换成y
# expression.subs({x:y,u:v}) : 使用字典进行多次替换
# expression.subs([(x,y),(u,v)]) : 使用列表进行多次替换
Python对函数求偏导数
求偏导数partial derivative
利用Sympy库
SymPy是一个符号计算的Python库。它的目标是成为一个全功能的计算机代数系统,同时保持代码简洁、易于理解和扩展。它完全由Python写成,不依赖于外部库。
SymPy支持符号计算、高精度计算、模式匹配、绘图、解方程、微积分、组合数学、离散数学、几何学、概率与统计、物理学等方面的功能。
程序代码
>>> from sympy import symbols, diff
>>> x, y = symbols('x y', real=True)
>>> diff( x**2 + y**3, y)
3*y**2
>>> diff( x**2 + y**3, y).subs({x:3, y:1})
3
先将所求变量(x,y)符号化。
否则会提示为定义错误:NameError: name 'y' is not defined。
之后利用diff函数求对应函数偏导数。
求出偏导数之后,若想求具体的值,可利用subs属性进行变量的替换,便可自动求出对应值。
参考链接:
https://docs.sympy.org/latest/index.html
来源:https://blog.csdn.net/weixin_39715012/article/details/88974775


猜你喜欢
- 今天遇到一个问题,原有生产系统正在健康运行,现需要监控一张数据表,当增加数据的时候,给管理员发送邮件。领到这个需求后,有同事提供方案:写触发
- 在某些情况下,比如自动补全(auto complete)的输入框中,需要使用keyup事件来监听键盘的输入以迅速作出回应。关键在于keyup
- 这次让我们来看看一个真实场景吧:银行转账一、举例银行转账假设现在有一个xuewei的账号里面有 100W。然后有多个任务在转账,转入转出都是
- MySQL 内连接、左连接、右连接、外连接、多表查询构建环境:create table t_emp(id int primary key,
- 概述如果你已经阅读过上一个章节,那么你应该已经完成了充分的准备工作并且创建了一个很简单的具有如下文件结构的Web应用: 
- 分页的首页<meta http-equiv="Content-Type" content="text/h
- 编程零基础,可以学习 Python 吗”,这是很多初学者经常问我的一个问题。当然,在计算机方面的基础越好,对学习任何一门新的编程语言越有利。
- 99bill: 1.md5.asp 代码如下:<% '''''''&
- 正确安装python中的wordcloud(词云库)第一步:这里的√一定要勾选上。第二步:(检查是否有python的环境
- 写了个 str ="s"++; 然后出现Nan,找了一会。 收集资料如下判断:1.判断undefined:var tmp
- 创建用户定义函数,它是返回值的已保存的 Transact-SQL 例程。用户定义函数不能用于执行一组修改全局数据库状态的操作。与系统函数一样
- 1 多线程实现多任务1.1 什么是线程? 进程是操作系统分配程序执行资源的单位,而线程
- 借助map实现golang中没有set数据结构,一般是通过map实现,因为map的key值是不能重复的示例type empty struct
- python解析网页,无出BeautifulSoup左右,此是序言安装BeautifulSoup4以后的安装需要用eazy_install,
- 函数的return 语句只能返回一个值,可以是任何类型。因此,我们可以“返回一个 tuple类型,来间接达到返回多个值 ”。例:
- 1.lxml库介绍lxml是XML和HTML的解析器,其主要功能是解析和提取XML和HTML中的数据;lxml和正则一样,也是用C语言实现的
- 在实际使用python时,我们会将一些公共的东西写到一些基础模块中,供其他模块去调用,这时会去import自定义的一些基础模块,然后来导入。
- 一、MySQL自带的压力测试工具——Mysqlslapmysqlslap是mysql自带的基准测试工具,该工具查询数据,语法简单,灵活容易使
- 前言这篇文章介绍一下 递归,递归的本质是将原来的问题转化为更小的同一个问题,解决这些更小问题的过程。下面通过两个递归的例子帮助学习对递归的理
- 1.前言我在进行DEM数据的裁剪时,发现各个省的数据量非常大,比如说四川省的30m的DEM数据的大小为2G。考虑到有限的电脑磁盘空间,我对T