0

0

Python SymPy求极值

冷炫風刃

冷炫風刃

发布时间:2025-11-05 10:25:21

|

930人浏览过

|

来源于php中文网

原创

先求导解驻点再用二阶导数判别:定义变量与函数,求一阶导并解方程得驻点,代入二阶导数值判断极值类型,大于0为极小值,小于0为极大值。

python sympy求极值

要用Python的SymPy库求函数的极值,核心思路是通过求导并解导数为零的方程来找到驻点,再结合二阶导数或函数性质判断极值类型。下面一步步说明如何操作。

1. 求导并找驻点

极值点通常出现在导数为零的位置(驻点)。使用SymPy可以方便地进行符号求导和解方程。

- 定义符号变量和函数 - 对函数求一阶导数 - 解导数等于零的方程,得到可能的极值点

示例代码:

from sympy import *
x = symbols('x')
f = x**3 - 3*x**2 + 2 # 示例函数
f_prime = diff(f, x) # 一阶导数
critical_points = solve(f_prime, x) # 驻点
critical_points

输出可能是 [0, 2],表示这两个点是可能的极值点。

立即学习Python免费学习笔记(深入)”;

2. 判断极值类型(极大/极小)

利用二阶导数判别法:将驻点代入二阶导数。

TP-COUPON 导购系统 免费版
TP-COUPON 导购系统 免费版

自从百度屏蔽淘宝客网站、淘宝抛弃淘宝客之后,个人站长集体陷入了恐慌之中。此时,什么值得买网的异军突起引起了广大个人站长的极大关注。做一个什么值得买一样的导购网站成了众多个人站长的一致心愿! TP-COUPON 导购系统 即是让个人站长实现此心愿的绝佳选择! 欢迎个人站长选用。V1.1版 更新记录:1.修正请求时查询淘宝店铺错误的bug2.删除一些无用的代码

下载
- 若二阶导数 > 0 → 极小值 - 若二阶导数

继续上面的例子:

f_double_prime = diff(f, x, 2) # 二阶导数
for point in critical_points:
  concavity = f_double_prime.subs(x, point)
  if concavity > 0:
    print(f"{point} 是极小值点")
  elif concavity     print(f"{point} 是极大值点")
  else:
    print(f"{point} 无法判断,需进一步分析")

3. 多元函数求极值(可选扩展)

对于二元函数,比如 f(x, y),需要求偏导并联立解方程组。

x, y = symbols('x y')
f = x**2 + y**2 - 2*x - 4*y
fx = diff(f, x)
fy = diff(f, y)
critical_point = solve([fx, fy], (x, y))
critical_point

然后可通过海森矩阵判断极值类型,这里不展开,但思路类似。

基本上就这些。SymPy处理符号计算非常强大,只要函数能写出来,大多数极值问题都能通过求导+解方程解决。注意检查边界情况和不可导点,实际应用中也要结合函数定义域分析。

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

772

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

661

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

764

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

679

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1365

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

569

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

579

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

730

2023.08.11

菜鸟裹裹入口以及教程汇总
菜鸟裹裹入口以及教程汇总

本专题整合了菜鸟裹裹入口地址及教程分享,阅读专题下面的文章了解更多详细内容。

0

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 12万人学习

Django 教程
Django 教程

共28课时 | 3.4万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号