python复杂非线性方程_python – 如何解决Sympy中的非线性方程?
注意:我的观点挂在你y = P * x Q sqrt(S * x T)的原始方程上.
我将使用y = P * x Q x * x *(S * x T)只是为了能够演示同情解算器的工作原理(当它工作时).
战略:
>将y表示为其他变量(x,P,S,T)的函数
>区分你
>使用已知常数(0,c,y(0),y'(c))设置4个方程式
>使用sympy解决
>打印每种可能的解决方案(如果有的话)
码:
# Set up variables and equations
x,y,T,= sympy.symbols('x y P Q S T')
c,y_0,y_c,dy_0,dy_c = sympy.symbols('c y_0 y_c dy_0 dy_c')
eq_y = P * x + Q + x * x * (S * x + T)
eq_dy = eq_y.diff(x)
# Set up simultaneous equations that sympy will solve
equations = [
(y_0 - eq_y).subs(x,0),(dy_0 - eq_dy).subs(x,(y_c - eq_y).subs(x,c),(dy_c - eq_dy).subs(x,c)
]
# Solve it for P,S and T
solution_set = sympy.solve(equations,set = True)
# Extract names,individual solutions and print everything
names = solution_set[0]
solutions = list(solution_set[1])
for k in range(len(solutions)):
print('Solution #%d' % (k+1))
for k2,name in enumerate(names):
print('\t%s: %s' % (name,solutions[k][k2]) )
输出:
Solution #1
P: dy_0
Q: y_0
S: (c*(dy_0 + dy_c) + 2*y_0 - 2*y_c)/c**3
T: (-c*(2*dy_0 + dy_c) - 3*y_0 + 3*y_c)/c**2
您现在可以使用这些解决方案中的一个并执行另一个.subs(…)来将y作为一个纯粹由常量和x组成的函数.
至于你原来的等式…我想知道是否有人应该提交一个错误报告,以便他们可以改进它……
python复杂非线性方程_python – 如何解决Sympy中的非线性方程?相关推荐
- sum函数python后面很多小数_解决Numpy中sum函数求和结果维度的问题
使用Numpy(下面简称np)中的sum函数对某一维度求和时,由于该维度会在求和后变成一个数,所以所得结果的这一维度为空. 比如下面的例子: a = np.array([[1,2,3],[4,5,6] ...
- python光标变粗_解决IDEA中不能正常输入光标变粗的问题
解决IDEA中不能正常输入光标变粗的问题 遇到的问题 解决方法 win7: insert键切回 win10: fn+insert切回 Mac: fn+i 切回 到此这篇关于解决IDEA中不能正常输入光 ...
- python list排序_python里对list中的整数求平均并排序
python里对list中的整数求平均并排序 本文主要记述了使用Python将list重点整数求平均值之后在进行排列的过程,并把代码分享给大家, 问题 定义一个int型的一维数组,包含40个元素,用来 ...
- python listbox排序_python – 从tkinter.Listbox中提取项目列表
我编写了以下tkinter脚本来了解如何将数据列表添加到tkinter.Listbox小部件中.我发现了两种方法. 接下来,我想从tkinter.Listbox小部件中提取相同的列表.在4种不同的方法 ...
- anaconda警告python未激活_Python位于conda env中,但尚未在Windows virtual en中激活
我创建了一个Windows(10)Python虚拟环境(env3.7.3).当我打开一个在virtual env中激活的cmd窗口时,在virtual env中启动Python时会收到以下警告消息: ...
- python dataframe 中位数_python下的Pandas中DataFrame基本操作(一),基本函数整理
pandas作者Wes McKinney 在[PYTHON FOR DATA ANALYSIS]中对pandas的方方面面都有了一个权威简明的入门级的介绍,但在实际使用过程中,我发现书中的内容还只是冰 ...
- python变量域名_Python实现从url中提取域名的几种方法
从url中找到域名,首先想到的是用正则,然后寻找相应的类库.用正则解析有很多不完备的地方,url中有域名,域名后缀一直在不断增加等.通过google查到几种方法,一种是用Python中自带的模块和正则 ...
- split函数python 未定义_Python字符串方法split()中的一道坑
初看这个方法还挺好用的,用来切割字符串真是的是非常方便,返回的字符串数组也非常容易处理. 于是乎看了一眼就应用到我的程序当中去了. 用来切割如下形式的字符串 s = 'Jul 24 21:38:25 ...
- python删除字符_Python之删除字符串中不需要的字符
原博文 2019-03-01 17:46 − 简单的 str="---你好=====" print(str.strip("-=")) # 你好 从文件中读取多行 ...
- python图片马赛克_Python实现PS滤镜中马赛克效果示例
本文实例讲述了Python实现PS滤镜中马赛克效果.分享给大家供大家参考,具体如下: 这里利用 Python 实现PS 滤镜中的马赛克效果,具体的算法原理和效果可以参考附录说明,Python示例代码如 ...
最新文章
- Redis的两种连接方式
- 策略模式和工厂模式的区别_设计模式之工厂模式-工厂方法模式
- 云服务器 ECS 建站教程:创建基于ECS和RDS的WordPress环境
- python中 for ... else ... 的用法
- mysql严格模式 报错_mysql严格模式
- 第二节:比较DateTime和DateTimeOffset两种时间类型并介绍Quartz.Net中用到的几类时间形式(定点、四舍五入、倍数、递增)
- 评价微型计算机总线的性能指标,计算机组成原理学习笔记(3):总线
- 会向业务“砍需求”的技术同学,该具备哪6点能力?
- kmp学英语必须设置
- 产品级垃圾文本分类器
- javaScript中的 || 和 所遵循的短路现象
- Java HttpUtils 请求工具类
- qt 获取屏幕分辨率
- 99%的程序员都不明白:弱者和强者的唯一区别
- Python面向对象06/反射/双下方法
- 传输层安全---SSL
- 黑科技时代,不了解这些你就OUT了
- JAVA外卖项目第一天 技术选型和包结构
- 全球及中国浆液阀行业市场深度分析及发展战略咨询报告2022-2028年
- 好用的网页扒图插件-ImageAssistant
热门文章
- VS2010 asp.net development server 无法展示svg图片
- 去掉Eclipse打开后定期弹出Usage Data Upload对话框
- python中tqdm的用法
- [UI列表]LoopScrollRect无限滑动不卡顿
- 18awg线材最大电流_USB4来了,最大的变化是这个
- python向数据库中添加参数_python往mysql数据库中写入数据和更新插入数据
- Keil5二步解决中文乱码,注释乱码问题
- 10g添加用户 oracle_linux安装oracle
- 五个转义气符html,【转】前端开发攻城师绝对不可忽视的五个HTML5新特性
- 程序转换实验程序流程图_智能化实验室 | # 自动智能化实验室的5大系统 #