首页 文章
  • 0 votes
     answers
     views

    具有分段函数的python odeint

    当时间限制非常大时,我在使用odeint解决分段颂歌方面遇到了一些麻烦 . 我在这里包含了一个极简主义的例子: import numpy as np import matplotlib.pyplot as plt from scipy.integrate import odeint t0 = 1.5e+21 t_end = 4.4e+23 t= np.linspace(t0,t_end,1000...
  • 1 votes
     answers
     views

    ODEINT问题

    我正在努力解决标准模型的微分方程,但我遇到了问题 . 我想知道如何使用ODEINT函数,因为它可以解决我的问题,但有时我不知道如何解释图形 . 我首先尝试解决3个diff方程,我可以使用0到100的“t”向量,100个点 . 如果我试图用9个方程解决系统,我必须使用从-20到0.1的向量“t”,因为python给了我这个错误: ODEintWarning:在此调用上完成的工作量过多(可能是错误的...
  • 3 votes
     answers
     views

    使用scipy odeint对具有相移变量的方程

    Basically ...我需要一种在微分方程中包含相移的方法 . 也就是说,我在我的系统函数的定义中返回了类似Y(t-3)的dY / dt . 像这个微分方程: dY/dt = a*Y(t) + b*Y(t-tau) 现在如果我尝试将其写为系统定义函数以传递给scipy.odeint,我就迷失了: def eqtnSystem(A,t): Y = A a = 1 ...
  • 0 votes
     answers
     views

    你如何在Python中使用odeint解决方案作为变量?

    所以基本上我使用odeint来解决我所拥有的颂歌,我希望将它用作另一个等式中的变量(这个等式实际上是我的解决方案) . 所以在这里我解决了第一个颂歌(我的代码实际上解决了一个ODE矩阵,但同样的问题仍然适用) Omeg = odeint(f, zeros, sMesh, args=(dOmeg,om,)) 其中我的f()函数定义如下: def f(y, t, dh, v): "&quo...
  • 1 votes
     answers
     views

    使用scipy.integrate.odeint在调用(可能是错误的Dfun类型)上完成的过多工作

    我'm writing a code in Python that predicts the energy levels of Hydrogen which I will use as a template for research into quarkonium energy levels. I' m使用 scipy.integrate.odeint() 函数来解决Shroedinger方程,它...
  • 0 votes
     answers
     views

    具有多个参数的ODEINT(与时间相关)

    我挣扎着能够传递 mt 和 nt 的第n个值来计算 dydt . 我认为ODEINT传递 mt 和 nt 的所有3个值,而不是第0个,第1个或第2个,具体取决于迭代 . 因此,我收到此错误: RuntimeError:func(4)返回的数组大小与y0(1)的大小不匹配 . 有趣的是,如果我将初始条件替换为(并且应该)单个值为:a0 = [2] * 4,代码可以工作,但是给出了一个4X4矩阵...
  • 3 votes
     answers
     views

    如何在不更改参数的情况下更改功能

    我是python和学习阶段的新手 . 我想实现粒子群优化(PSO)算法,我通过在线材料和python教程的帮助来完成 . 在PSO中,推断出一个简单的微积分问题,即 100 * ((y - (x 2)) 2) + ((1 - (x 2))_ 1182447 . 此问题在 fitness 函数中定义 . def fitness(x, y): return 100 * ((y - (x**...
  • 0 votes
     answers
     views

    存储来自odeint刚性方程求解器的输出

    我想知道是否有办法将以下code的输出存储到增强矩阵或向量中 . size_t num_of_steps = integrate_const( make_dense_output< rosenbrock4< double > >( 1.0e-6 , 1.0e-6 ) , make_pair( stiff_system() , stiff_system_jac...
  • 0 votes
     answers
     views

    将方程求解器中的数据写入文件循环仅输出最后2个元素

    我正在尝试解决写入文件的问题,时间从0 - > 1000开始,增量为100,但是当我运行脚本时,我只获得输出的最后2个元素 . 我认为循环存在问题,但我不确定 . 我希望从t = 0到t = 1000存在所有数据,而不仅仅是最后的2个元素 . 您可以在文件中看到,只记录t = 900和t = 1000 . 似乎无法看到改变什么 . import matplotlib.pyplot as p...
  • 2 votes
     answers
     views

    odeint:如何在集成时记录中间结果?

    我想知道如何在odeint集成期间记录除状态之外的值 . 我有一个卫星动力学模拟,它被描述为总角动量L和内轮动量的微分方程h . 我的模拟运行正常 . 但是我不仅需要记录状态变量,还要记录一些其他值,例如外部扭矩,N和角速度,Ω,即Jinv * L,其中Jinv是3x3常数,卫星惯性矩阵 . 从某种意义上说,我的模拟器的目的不是计算L和h,而是生成“其他”变量的时间历程 . 为了展示我正在做的事情...
  • 3 votes
     answers
     views

    整体控制系统表现不正常

    昨天我在这里发了一个问题:ValueError and odepack.error using integrate.odeint()我认为已经成功回答了 . 但是后来我注意到了一些事情 . 运行此程序时,它不会倾向于所需的速度vr 当运行程序并改变角度(代表道路的俯仰角)时,随着时间的变化,它并不总是返回到所需的速度vr,甚至不能恢复到先前的稳定状态 . 该程序旨在模拟整体控制系统(特...
  • 1 votes
     answers
     views

    Odeint在多个时期不一致,建模驱动摆

    钟摆建模和odeint似乎有很多问题 . 我相信这个问题足够具体,可以独立存在 . 它关注的是将时间数组传递给odeint . 我正在模拟一个驱动的阻尼摆 . 我预计瞬态行为会在一段时间后消失,并且已经绘制了我的角速度与时间的关系来观察它 . My problem is that varying the number of periods does not seem to provide co...
  • 0 votes
     answers
     views

    Runge kutta整合用于暂停的响应

    我必须使用Runge Kutta积分来解决并绘制车辆悬架在特定时间间隔内的加速度响应 . 当绘制响应时,它应该具有多个振荡但是由于阻尼,振荡幅度将变小,直到加速响应消失 . 我不能让这种反应消失 . 查看我的最终结果,数组中的“z”组件继续保持等于它的初始条件,为零 . 我认为这可能是问题,但不知道如何解决它 . ODEint是我以前从未使用过的东西 . 这是我迄今为止的代码: 不要太费心我如何...
  • 1 votes
     answers
     views

    将参数和初始值的字典传递给scipy.integrate.odeint

    我正在尝试使用spicy.itegrate.odeint集成一个微分方程系统 . 首先,对参数和初始条件进行采样并以两个字典( x0 和 p )返回 . 然后创建模型并将其作为函数写入文件,大致如下(使用虚拟方程式): def model(x, t, p): xdot = [ x['rate1'], p["a"] x['rate2'], ...
  • 4 votes
     answers
     views

    在第一次错误时停止scipy odeint

    Edit: This problem is due to a bug, fixed in Scipy 0.15 在我开发和测试代码时,我可能会犯一个简单的错误,比如NameError . 当我使用scipy.integrate.odeint时,odeint会打印出错误消息,但是在我请求的时间段内保持集成,所以我得到了许多相同的错误消息 . 我认为它具有这种行为,因此它可以在算术错误发生时继续(例如...
  • 3 votes
     answers
     views

    Scipy odeint给lsoda警告

    我对编码完全不熟悉,我想用数字方法解决这5个微分方程 . 我拿了python template并将它应用到我的案子中 . 这是我写的简化版: import numpy as np from math import * from matplotlib import rc, font_manager import matplotlib.pyplot as plt from scipy.integrat...
  • 0 votes
     answers
     views

    scipy odeint用于ODE系统的错误

    我试图重现下面显示的两个图表,它们是温度和浓度曲线随时间的变化 . 我已经检查了我的方法和代码一百万次但似乎无法在其中找到错误,但我无法重现这些图形 . 除了CA和T之外,所有值都是常量 . 这可能是scipy中odeint准确性的问题吗?任何帮助将非常感激! 这两个方程式如下: dCA / dt = q *(CAi-CA)/ V-k * CA. dT / dt = w *(Ti-T)/(Vp)d...
  • 0 votes
     answers
     views

    python scipy odeint返回值

    我一直在玩scipy中的odeint,我无法理解函数返回的值是什么 . 例如, # -*- coding: utf-8 -*- """ Created on Sat Feb 04 20:01:16 2017 @author: Esash """ from scipy.integrate import odeint import mat...
  • 12 votes
     answers
     views

    传递args for solve_ivp(新的SciPy ODE API)

    为了使用SciPy解决简单的ODE,我曾经使用odeint函数,其形式为: scipy.integrate.odeint(func, y0, t, args=(), Dfun=None, col_deriv=0, full_output=0, ml=None, mu=None, rtol=None, atol=None, tcrit=None, h0=0.0, hmax=0.0, hmin=0.0...
  • 1 votes
     answers
     views

    Python:odeint用于解决具有可变系数的ODE(QHO)

    我正在尝试使用odeint以数字方式解决方程式 y'' + (epsilon-x^2)y = 0 . 我知道解决方案(QHO的波函数),但是odeint的输出与它没有明显的关系 . 我可以很好地解决具有常系数的ODE,但是当我转向变量时,我可以't solve any of the ones I tried. Here' s我的代码: #!/usr/bin/python2 from __futu...
  • 0 votes
     answers
     views

    在python中遇到odeint问题

    我正在尝试编写一个脚本来解决 ODE in python 并绘制结果图 . 我正在使用scipy.integrate.odeint执行此任务 . 我按照一个简单的教程修改了我的代码,以便与我想要解决的ODE一起工作 import numpy as np import matplotlib.pyplot as plt import pylab as plb from scipy.integrate ...
  • 5 votes
     answers
     views

    如何使用Python内置函数odeint求解微分方程?

    我想用给定的初始条件求解这个微分方程: (3x-1)y''-(3x+2)y'+(6x-8)y=0, y(0)=2, y'(0)=3 ans应该是 y=2*exp(2*x)-x*exp(-x) 这是我的代码: def g(y,x): y0 = y[0] y1 = y[1] y2 = (6*x-8)*y0/(3*x-1)+(3*x+2)*y1/(3*x-1) retu...
  • -5 votes
     answers
     views

    用odeint求解python中的微分方程[关闭]

    我试图解决微分方程R·(dq / dt)(q / C)= Vi·sin(w·t),所以我有这个代码: import numpy as np from numpy import * import matplotlib.pyplot as plt from math import pi, sin from scipy.integrate import odeint C=10e-9 R=1000 #O...
  • 0 votes
     answers
     views

    加快odeint计算

    我使用scipy的odeint运行一个相当大的ODE系统 . 为了使系统保持连贯,易于阅读和更短,我将大部分内容划分为相互调用的类 . 从可读性的角度来看,似乎工作正常,但是由于重复调用python对象,它会显着减慢实际的ODE求解器 . 我研究了优化代码的方法,以保持一定程度的可读性,同时使计算更有效率(使用Numba或使用Sympy将其转换为numpy-aware lambda函数),但是到目...
  • 1 votes
     answers
     views

    使用scipy的odeint访问更早的值

    我正在使用scipy的odeint解决一个微分方程系统,我现在有一个问题,我似乎无法修复:如果满足某个条件,我必须'及时'回到早期状态,改变一个(全局)参数并从那里继续整合 . 起初我想,虽然你不能真正回到odeint,我将存储满足条件的时间,改变系统的状态(集成的变量),然后继续从那里整合 . 不幸的是,我找不到从odeint中访问过去时间变量值的方法 . 有人知道解决我的困境的方法吗? 如果那...
  • 0 votes
     answers
     views

    了解scipy.integrate,odeint wrapper odeintw

    我正在尝试解决4个PDE的耦合非线性系统,这里是代码: import numpy as np import matplotlib.pyplot as plt from scipy.integrate import odeint from odeintw import odeintw # constants global rH, L, q, p, Q, mu rH = 1.0 ; L = 1.0 ...
  • 1 votes
     answers
     views

    限制ODEINT Python的输出

    我是ouint函数,但我不确定函数是否允许这样做 . 我已经从Scipy Cookbook修改了这个例子,以便耦合的两个体系可能会发生碰撞 . 图片链接 图碰撞 想象一下 具体而言, spring 常数和质量已经变得更弱更轻 . 您还会注意到函数内部使用的'if'语句试图限制'm1'的行程,而不是'x2'的初始输入 . 对不起,我没有足够的声望点来发布图表,但你会清楚地看到两个质量可以在解决...
  • 0 votes
     answers
     views

    odeint:数学建模的可变时间步长

    我使用Sci Py僵尸代码作为例子 . ODEint的问题是我整合了很长时间(在这种情况下从0到500,但对于其他项目长达数千年),它一次完成这种集成 . 我想实现一个长输出时间刻度,但是一个小的积分时间刻度并将生成的样本数量更改为1,但不断更新时间刻度,以便我可以为每个循环写一个新的文件点 . 即我不希望它一次性从0到500集成,而是在不断变化的时间尺度上循环 . 这可以实施吗? # zombi...
  • 4 votes
     answers
     views

    odeint(c) - 下采样观察

    很抱歉,如果这是一个简单的问题 - 但是有一个“最佳实践”用于下采样odeint中状态变量的演变吗? 下面,我复制了一个很好的例子,用于构建"observer"以记录本文中提供的状态变量(http://www.codeproject.com/Articles/268589/odeint-v2-Solving-ordinary-differential-equations) st...
  • 0 votes
     answers
     views

    python:满足条件时中断odeint

    我正在使用scipy.integrate包中的odeint函数: r0 = np.array([1,2,3,4]) t=np.linspace(0,1,20) def drdt(r,t): return r # or whatever else r = odeint(drdt,r0,t) r0是一个numpy数组,包含一定数量的点的初始位置 . 在脚本结束时,正如预期的那样,我得到了20...

热门问题