注意:我的观点挂在你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中的非线性方程?相关推荐

  1. sum函数python后面很多小数_解决Numpy中sum函数求和结果维度的问题

    使用Numpy(下面简称np)中的sum函数对某一维度求和时,由于该维度会在求和后变成一个数,所以所得结果的这一维度为空. 比如下面的例子: a = np.array([[1,2,3],[4,5,6] ...

  2. python光标变粗_解决IDEA中不能正常输入光标变粗的问题

    解决IDEA中不能正常输入光标变粗的问题 遇到的问题 解决方法 win7: insert键切回 win10: fn+insert切回 Mac: fn+i 切回 到此这篇关于解决IDEA中不能正常输入光 ...

  3. python list排序_python里对list中的整数求平均并排序

    python里对list中的整数求平均并排序 本文主要记述了使用Python将list重点整数求平均值之后在进行排列的过程,并把代码分享给大家, 问题 定义一个int型的一维数组,包含40个元素,用来 ...

  4. python listbox排序_python – 从tkinter.Listbox中提取项目列表

    我编写了以下tkinter脚本来了解如何将数据列表添加到tkinter.Listbox小部件中.我发现了两种方法. 接下来,我想从tkinter.Listbox小部件中提取相同的列表.在4种不同的方法 ...

  5. anaconda警告python未激活_Python位于conda env中,但尚未在Windows virtual en中激活

    我创建了一个Windows(10)Python虚拟环境(env3.7.3).当我打开一个在virtual env中激活的cmd窗口时,在virtual env中启动Python时会收到以下警告消息: ...

  6. python dataframe 中位数_python下的Pandas中DataFrame基本操作(一),基本函数整理

    pandas作者Wes McKinney 在[PYTHON FOR DATA ANALYSIS]中对pandas的方方面面都有了一个权威简明的入门级的介绍,但在实际使用过程中,我发现书中的内容还只是冰 ...

  7. python变量域名_Python实现从url中提取域名的几种方法

    从url中找到域名,首先想到的是用正则,然后寻找相应的类库.用正则解析有很多不完备的地方,url中有域名,域名后缀一直在不断增加等.通过google查到几种方法,一种是用Python中自带的模块和正则 ...

  8. split函数python 未定义_Python字符串方法split()中的一道坑

    初看这个方法还挺好用的,用来切割字符串真是的是非常方便,返回的字符串数组也非常容易处理. 于是乎看了一眼就应用到我的程序当中去了. 用来切割如下形式的字符串 s = 'Jul 24 21:38:25 ...

  9. python删除字符_Python之删除字符串中不需要的字符

    原博文 2019-03-01 17:46 − 简单的 str="---你好=====" print(str.strip("-=")) # 你好 从文件中读取多行 ...

  10. python图片马赛克_Python实现PS滤镜中马赛克效果示例

    本文实例讲述了Python实现PS滤镜中马赛克效果.分享给大家供大家参考,具体如下: 这里利用 Python 实现PS 滤镜中的马赛克效果,具体的算法原理和效果可以参考附录说明,Python示例代码如 ...

最新文章

  1. Redis的两种连接方式
  2. 策略模式和工厂模式的区别_设计模式之工厂模式-工厂方法模式
  3. 云服务器 ECS 建站教程:创建基于ECS和RDS的WordPress环境
  4. python中 for ... else ... 的用法
  5. mysql严格模式 报错_mysql严格模式
  6. 第二节:比较DateTime和DateTimeOffset两种时间类型并介绍Quartz.Net中用到的几类时间形式(定点、四舍五入、倍数、递增)
  7. 评价微型计算机总线的性能指标,计算机组成原理学习笔记(3):总线
  8. 会向业务“砍需求”的技术同学,该具备哪6点能力?
  9. kmp学英语必须设置
  10. 产品级垃圾文本分类器
  11. javaScript中的 || 和 所遵循的短路现象
  12. Java HttpUtils 请求工具类
  13. qt 获取屏幕分辨率
  14. 99%的程序员都不明白:弱者和强者的唯一区别
  15. Python面向对象06/反射/双下方法
  16. 传输层安全---SSL
  17. 黑科技时代,不了解这些你就OUT了
  18. JAVA外卖项目第一天 技术选型和包结构
  19. 全球及中国浆液阀行业市场深度分析及发展战略咨询报告2022-2028年
  20. 好用的网页扒图插件-ImageAssistant

热门文章

  1. VS2010 asp.net development server 无法展示svg图片
  2. 去掉Eclipse打开后定期弹出Usage Data Upload对话框
  3. python中tqdm的用法
  4. [UI列表]LoopScrollRect无限滑动不卡顿
  5. 18awg线材最大电流_USB4来了,最大的变化是这个
  6. python向数据库中添加参数_python往mysql数据库中写入数据和更新插入数据
  7. Keil5二步解决中文乱码,注释乱码问题
  8. 10g添加用户 oracle_linux安装oracle
  9. 五个转义气符html,【转】前端开发攻城师绝对不可忽视的五个HTML5新特性
  10. 程序转换实验程序流程图_智能化实验室 | # 自动智能化实验室的5大系统 #