【sympy】python 求常微分方程 sympy库
问题1:
f ′ ′ ( x ) − 2 f ′ ( x ) + f ( x ) = s i n ( x ) f''(x)-2f'(x) + f(x) = sin(x) f′′(x)−2f′(x)+f(x)=sin(x)
程序,如下
from sympy import *
f = symbols('f', cls=Function)
x = symbols('x')
eq = Eq(f(x).diff(x, x) - 2*f(x).diff(x) + f(x), sin(x))
print(dsolve(eq, f(x)))
结果
Eq(f(x), (C1 + C2*x)*exp(x) + cos(x)/2)
~
~
~
~
附:布置考试中两题
1.利用python的Sympy库求解微分方程的解 y = f ( x ) y=f(x) y=f(x),并尝试利用matplotlib绘制函数图像
f ′ ( x ) + f ( x ) + f 2 ( x ) = 0 , f ( 0 ) = 1 f'(x)+f(x)+f^2(x)=0,\qquad f(0)=1 f′(x)+f(x)+f2(x)=0,f(0)=1
程序,如下
from sympy import *
f = symbols('f', cls=Function)
x = symbols('x')
eq = Eq(f(x).diff(x,1)+f(x)+f(x)**2, 0)
print(dsolve(eq, f(x)))
C1 = symbols('C1')
eqr = -C1/(C1 - exp(x))
eqr1 = eqr.subs(x, 0)
print(solveset(eqr1 - 1, C1))
eqr2 = eqr.subs(C1, 1/2)
# 画图
import matplotlib.pyplot as plt
import numpy as np
x_1 = np.arange(-5, 5, 0.1)
y_1 = [-0.5/(0.5 - exp(x)) for x in x_1]
plt.plot(x_1, y_1)
plt.axis([-6,6,-10,10])
plt.grid()
plt.show()
结果
Eq(f(x), -C1/(C1 - exp(x)))
FiniteSet(1/2)
~
2.利用python的Sympy库求解微分方程的解 y = y ( x ) y=y(x) y=y(x),并尝试利用matplotlib绘制函数图像
y ′ ( x ) = y ( x ) , y ( 0 ) = 1 y'(x)=y(x),\qquad y(0)=1 y′(x)=y(x),y(0)=1
程序,如下
from sympy import *
y = symbols('y', cls=Function)
x = symbols('x')
eq = Eq(y(x).diff(x,1), y(x))
print(dsolve(eq, y(x)))
C1 = symbols('C1')
eqr = C1*exp(x)
eqr1 = eqr.subs(x, 0)
print(solveset(eqr1 - 1, C1))
eqr2 = eqr.subs(C1, 1)
# 画图
import matplotlib.pyplot as plt
import numpy as np
x_1 = np.arange(-5, 5, 0.01)
y_1 = [exp(x) for x in x_1]
plt.plot(x_1, y_1, color='orange')
plt.grid()
plt.show()
结果
Eq(y(x), C1*exp(x))
FiniteSet(1)
【sympy】python 求常微分方程 sympy库相关推荐
- Python求解常微分方程——sympy
[常微分方程简介] 方程中未知量是函数而不是变量,且未知量涉及未知函数的导数的方程称为微分方程. 常微分方程(ordinary differential equation, ODE)是一类特殊情况,未 ...
- python求极限函数_SymPy库常用函数
标签: 简介 SymPy是一个符号计算的Python库.它的目标是成为一个全功能的计算机代数系统,同时保持代码简 洁.易于理解和扩展.它完全由Python写成,不依赖于外部库.SymPy支持符号计算. ...
- python解常微分方程龙格库_求解常微分方程组初值问题的龙格库塔法分析及其C代码...
求解常微分方程组初值问题的 龙格库塔法分析及其 C 代码 1 .概 述 由高等数学的知识可知,一些特殊类型的常微分方程(组)能够求出给定初 始值的解析解, 而在科学与工程问题中遇到的常微分方程 (组) ...
- python解常微分方程龙格库_求解二阶常微分方程的RungeKutta四阶方法
我试着做一个简谐振子的例子,它将用龙格-库塔四阶法求解.要求解的二阶常微分方程(ODE)和初始条件为: y''+y=0 y(0)=0和y'(0)=1/pi 范围在0到1之间,共有100步.我用u作为辅 ...
- python解常微分方程龙格库_数值常微分方程-欧拉法与龙格-库塔法
大三时候在跳蚤市场闲逛,从一位数学院的学长那里买了一些闲书,最近翻出来刚好有李荣华.刘播老师的<微分方程数值解法>和王仁宏老师的<数值逼近>,结合周善贵老师的<计算物理& ...
- python解常微分方程龙格库_excel实现四阶龙格库塔法runge-kutta解二阶常微分方程范例.xls...
excel实现四阶龙格库塔法runge-kutta解二阶常微分方程范例,rungekutta,四阶rungekutta法,rungekuttamatlab,四阶rungekutta,rungekutt ...
- sympy 求微分方程_python中sympy库求常微分方程的用法代码解析
本篇文章小编给大家简单分享一下python中sympy库求常微分方程的用法代码解析,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 问题1: 程序,如下 ...
- python求矩阵的秩_【案例】求出矩阵的最简型?——sympy登场
案例介绍 学过线性代数的同学都知道,在将矩阵进行初等变换化为最简型时过程有多么繁琐.今天,给大家带来一个小项目--使用 Python 化简矩阵. 将要学习:使用特殊的科学计算库--sympy,来化简矩 ...
- 利用python自带的库sympy,求解不同阻尼比的振动方程表达式
#利用python自带的库sympy,求解不同阻尼比的振动方程表达式 import sympy #导入数学符号运算库,属于自带库 import numpy as np import matplotli ...
最新文章
- C++中标准模板库std::pair的实现
- Imageloader7-获取图片需要显示的大小
- linux 0660 权限,CentOS 6上安装RAC权限绑定问题
- modbus软件开发实战指南_C++核心准则?GSL:指南支持库
- 《C++ Primer》7.3.2节练习
- 大数据学习笔记:ZooKeeper练习
- ActionScript 3.0
- 在打包的时候,创建应用程序池,并自动将程序assign到新创建的池中(MSI制作)
- bash中的算术运算
- bzoj 4320: ShangHai2006 Homework
- 打印工资条怎么做到每个人都有表头明细_使用工资条生成器,“智”作工资条...
- Linux查看设备端口号
- imputation-文献:False signals induced by single-cell imputation(scRNA-seq插补引入的假阳性问题)
- 《黄帝内经.生气通天论篇》不生病的智慧节选01
- html分列代码,实现分列的两段excel vba 分列代码
- Ueditor中增加迅雷下载支持
- 达梦数据库-国产的荣光
- openstack ovs-vswitch收包流程
- 异常 exception
- char与varchar的区别?