目录

1.求极限

2.求导数

3.级数的求和

4.泰勒公式

5.定积分和不定积分

6.求解代数方程(方程组)的符号解


利用python中的Sympy库主要处理三种类型的数据:整型数,实数和有理数(分子的分母)

1.求极限

limit(expression, variable, value)

expression :将要执行极限操作的数学表达式,即。
variable :它是数学表达式中的变量.
value :它是极限趋向于的值.

# 1.求极限
x = symbols('x')
print(limit(sin(x) / x, x, 0))
print(limit(pow(1 + 1 / x, x), x, oo))

2.求导数

已知,求,

diff(f, *symbols, **kwargs)

f:关于symblols(变量)的函数

*symbols:计算关于谁的导数

**kwargs:传入所需要求的几阶导数,默认值为1阶

# 2.求导数x, y = symbols('x y')  # 变量的值用空格隔开
z = sin(x) + x ** 2 * exp(y)
print("关于x的二阶偏导数为:", diff(z, x, 2))
print("关于y的一阶偏导数为:", diff(z, y))

3.级数的求和

验证,

summation(f, *symbols, **kwargs):

f:传入函数

对级数求从k=1到n的和

factor(f, *gens, deep=False, **args)

将和式化为积式

# 3.级数求和
k, n = symbols('k n')
print(summation(k ** 2, (k, 1, n)))
print(factor(summation(k ** 2, (k, 1, n))))
print(summation(1 / k ** 2, (k, 1, oo)))

4.泰勒公式

写出sinx在0点处的3,5,7,阶展开式,并在同一图形界面上出现sinx及它的上述各阶泰勒展开式在区间[0,2]上的图形

# 4.泰勒展开式
from pylab import rc
from sympy import *
from sympy.plotting import *rc('font', size=16)
rc('text', usetex=True)
x = symbols('x')
y = sin(x)
for k in range(3, 8, 2): print(y.series(x, 0, k))  # 等价于print(series(y,x,0,k))
plot(y,series(y, x, 0, 3).removeO(), series(y, x, 0, 5).removeO(),series(y, x, 0, 7).removeO(), (x, 0, 2), xlabel='$x$', ylabel='$y')

5.定积分和不定积分

# 不定积分和定积分
from sympy import integrate, symbols, sin, pi, ooprint(integrate(sin(2 * x), (x, 0, pi)))
print(integrate(sin(x) / x, (x, 0, oo)))

6.求解代数方程(方程组)的符号解

求函数f(x)=2x**3-2x**2+x的驻点,并求函数在[0,1]上的最大值

# 求如下代数方程
from sympy import *x, y = symbols("x y")
print(solve(x ** 3 - 1, x))
print(solve((x - 2) ** 2 * (x - 1) ** 3, x))
print(roots((x - 2) ** 2 * (x - 1) ** 3, x))  # 得到根的重数信息
# 求解如下方程组
from sympy.abc import x, y
from sympy import solves = solve([x ** 2 + y ** 2 - 1, x - y], [x, y])
print("方程组的解为:", s)
# 求函数的驻点并求最大值
from sympy import *# 一阶导数为零的点
x = symbols("x");
y = 2 * x ** 3 - 5 * x ** 2 + x
x0 = solve(diff(y, x), x)
print("驻点的精确解为:", x0)
print("驻点的浮点数表示为:", [x0[i].n() for i in range(len(x0))])  # 列表中的符号数无法整体转换为浮点数
y0 = [y.subs(x, 0), y.subs(x, 1), y.subs(x, x0[0]).n()]  # 带入区间断端点的一个驻点的值
print("三个点的函数值分别为:", y0)

# 求微分方程的符号解x = symbols("x");
y = symbols("y", cls=Function)
eq1 = diff(y(x), x, 2) - 5 * diff(y(x), x) + 6 * y(x)
eq2 = diff(y(x), x, 2) - 5 * diff(y(x), x) + 6 * y(x) - x * exp(2 * x)
print("齐次方程的解为:", dsolve(eq1, y(x)))
print("非齐次方程的解为:", dsolve(eq2, y(x)))

初值问题:

初值问题:

# 求解下列微分方程的解
x = symbols("x");y = symbols("y", cls=Function)
eq1 = diff(y(x), x, 2) - 5 * diff(y(x), x) + 6 * y(x)
eq2 = diff(y(x), x, 2) - 5 * diff(y(x), x) + 6 * y(x) - x * exp(2 * x)
print("初值问题的解为:{}".format(dsolve(eq1, y(x), ics={y(0): 1, diff(y(x), x).subs(x, 0): 0})))
y2=dsolve(eq2,y(x),ics={y(0):0,y(2):0})
print("边值问题的解为:{}".format(y2))

高等数学问题的符号解相关推荐

  1. 记录matlab符号方程符号解求法

    这个问题每次遇到都需要查找博客,还是matlab运用不熟练,特此记录. 问题背景:克雷格先生的机器人学导论课后7.15题,当t1!=t2时求解参数,由于许多问题中都需要这种求解符号解的情况,因此希望我 ...

  2. 【数学建模暑期培训】Matlab之求代数方程的符号解和数值解

    文章目录 符号运算 1.1 符号对象的创建 1.2 代数方程的符号解 代数方程的数值解 线性方程组的数值解 非线性方程的数值解 符号运算 符号运算又称计算机代数,通俗地讲就是用计算机推导数学公式,如对 ...

  3. matlab求解微分式,如何用Matlab求微分方程de符号解

    1.dsolve()函数 求解常微分方程的通解在求通解问题 % syms y(x) % y=dsolve(x^2+y+(x-2*y)*diff(y)==0)这里插入代码片 求解常微分方程的初边值问题% ...

  4. Matlab求微分方程de符号解

    目录 基本方法 求解常微分方程的通解 求解常微分方程的初边值问题 求解常微分方程组 求解线性常微分方程组 一阶齐次线性微分方程组 非齐次线性方程组 基本方法 1.dsolve()函数 求解常微分方程的 ...

  5. matlab求xk符号解,matlab符号运算习题

    matlab符号运算习题 第 3 讲 MATLAB 符号计算符号计算则是可以对未赋值的符号对象(可以是常数.变量.表达式)进行运算和处理.MATLAB 具有符号数学工具箱(Symbolic Math ...

  6. matlab求线性方程组的符号解,符号代数线性方程组的MATLAB求解.PPT

    符号代数线性方程组的MATLAB求解 建模常见问题MATLAB求解 Content 符号代数线性方程(组)的MATLAB求解 最优化方法的MATLAB实现 一维搜索问题 线性规划 无约束非线性最优化问 ...

  7. matlab求xk符号解,Matlab学习手抄(6)——非线性方程的数值解法

    1. 二分法 定理: 函数f(x)在区间[a,b]上连续,如果f(a)*f(b)<0,则f(x)=0在[a,b]内至少有一个实根x'. [a,b]对半平分为两个小区间,判断f改变正负号的子区间, ...

  8. matlab求线性方程组的符号解,Newton迭代法在MATLAB中解线性方程组

    导师让我用牛顿迭代法解方程组,在MATLAB里,在办公室的前辈的帮助下终于搞出来了,在此记录一下. 我是初学者,所以代码会有些幼稚,别介意.网上的版本我不是运行不了就是提示不能用R2013a版本,所以 ...

  9. python数学建模导论2.2 常微分方程符号解与数值解的计算(未放入章节为微分方程介绍章节,自行百度)

    from sympy import * y = symbols('y', cls=Function) x = symbols('x') eq = Eq(y(x).diff(x,2)+2*y(x).di ...

  10. Matlab求微分方程的符号解1

    一.常微分方程的求解 例1. 例2. 例3. 通常我们使用syms 和dsolve来求解: first: second:表示 third:如果有必要 功能函数diff可以完成一元或多元函数任意阶数的微 ...

最新文章

  1. jQuery如果选中复选框
  2. Cacti 每日导出图形及流量报表 [未完成]
  3. 使用wxpy这个基于python实现的微信工具库的一些常见问题
  4. lua C++ wrapper
  5. 图像配准之特征点匹配的思考
  6. Ivanti罗琦:IT服务管理中“拧紧螺丝”要有门道儿!
  7. CVPR 2021 速览 | 旷视研究院入选学术成果盘点
  8. EzCad 二次开发 金橙子激光雕刻机c# 能显示预览图
  9. xshell 4 中文乱码问题解决
  10. linux微软雅黑字体库_Linux_Debian系统中安装微软雅黑字体的教程,想在linux下添加微软雅黑的字 - phpStudy...
  11. english need study and insist 1
  12. MobaXterm 保持连接
  13. 【数据库】表与视图的基础操作
  14. Matlab入门基础 note1——赋值与小数
  15. Django邮件应用--QQ邮箱、网易邮箱(一)
  16. 新浪微博搜索 s.weibo.com [已失效]
  17. uni-app【多媒体API】
  18. android和MTKP60区别,联发科P60和骁龙625哪个好 骁龙625与联发科P60区别对比 (全文)...
  19. 分枝杆菌噬菌体类有哪些最新发表的毕业论文呢?
  20. C语言实现windows窗口滑动条,四、Windows子窗口控件的滚动条类别—窗口子类别化(Window Subc...

热门文章

  1. UAV运动学方面的约束
  2. 数学建模系列--灰色关联分析
  3. DSPE-PEG-Hydroxyl DSPE-PEG-OH 磷脂-聚乙二醇-羟基概述
  4. python密码字典库_python生成密码字典的方法
  5. 利用Excel出库明细表批量生成送货单
  6. DXperience中文视频教程(上)
  7. JavaScript闭包
  8. linux版本怎么安装qq游戏,QQ for Linux
  9. 佳能mp288清零软件,非常好用@
  10. java毕业设计开题报告SSM图书馆预约占座系统