首页 文章
  • 1 votes
     answers
     views

    用matlab求解单循环的微分方程

    我的机械系统有以下等式: xdot = Ax+ Bu 我想在一个循环中解决这个等式,因为在每个步骤中我都需要更新你,但求解器如 ode45 或 lsim 解决了时间间隔的微分方程 . for i = 1:10001 if x(i,:)>= Sin1 & x(i,:)<=Sout2 U(i,:) = Ueq - (K*(S/Alpha)) el...
  • -1 votes
     answers
     views

    如何在Matlab中求解微分方程组

    对于家庭作业,我的教授要求我们使用matlab解决微分方程组 . 使用mathworks网站,我做到了 syms f(t) g(t) h(t) [f(t), g(t), h(t)] = dsolve(diff(f) == .25*g*h,... diff(g) == -2/3*f*h,... diff(h) == .5*f*g, f(0) == 1, g(0) == -2, h(0) == 3) ...
  • 1 votes
     answers
     views

    如何在Matlab中求解耦合随机微分方程

    我有单一的Hindmarsh-Rose(HR)神经元模型如下 x' = y - a*x^3 + b*x^2 -z + I0 + I1*cos*w*t + D*Zyi(t); y' = c - d*x^2 -y; z' = r[s(x - x0) - z ]; 其中a,b,I1,I0,D,c,d,r,s,x0是参数 . 我想改变"w"(在I'* coswt的x'中)并包括具...
  • 0 votes
     answers
     views

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

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

    用边界条件求Maple中的微分方程组

    我试图解决一组耦合微分方程,我想用 Maple 检查我的一些推导 . 但是,我没有让synthax正确 . 我尝试在一个简单的情况下重现我的问题,如下所示: restart; e1:=diff(P(y),y,y,y,y)=0; e2:=diff(Q(x,y),y,y)=0; dsolve([e1,e2]); cond:=P(0)=0; dsolve({e1,cond}); dsolve({e1,e...
  • 1 votes
     answers
     views

    如何使用maple 12绘制和求解这个微分方程?

    考虑具有初始条件 $y\left(0\right)=1$ 的微分方程 $y^{\prime}=y-2$ . a)使用Euler的方法,使用4个大小为0.2的步骤来估计 $y\left(0.8\right)$ 我知道怎么用手做;但是,我安装了枫木12,并试图弄清楚如何使用Maple,然后制作一个显示该功能的每一步的图表 . 有什么建议 . 我曾尝试过查看mapleprimes,但它一直指向我更新版...
  • 6 votes
     answers
     views

    求解微分方程时的高频噪声

    我试图模拟基于Fick's 2nd law的简单扩散 . from pylab import * import numpy as np gridpoints = 128 def profile(x): range = 2. straggle = .1576 dose = 1 return dose/(sqrt(2*pi)*straggle)*exp(-(x-ra...
  • 3 votes
     answers
     views

    用阶梯函数求解微分方程

    我试图解决这个微分方程作为我的任务的一部分 . 我无法理解如何在代码中输入u的条件 . 在下面显示的代码中,我随意提供 u = 5. 2dx(t)dt=−x(t)+u(t) 5dy(t)dt=−y(t)+x(t) u=2S(t−5) x(0)=0 y(0)=0 where S(t−5) is a step function that changes from zero to one...
  • 4 votes
     answers
     views

    实现数值求解微分方程的初始条件

    想象一下有人在一定的角度下跳下阳台 theta 和速度 v0 (阳台的高度表示为 ystar ) . 在2D中考虑这个问题并考虑拖动,你会得到一个微分方程系统,可以用Runge-Kutta方法求解(我选择显式中点,不确定这个的屠夫 table 是什么) . 我实现了它并且它完美地工作,对于一些给定的初始条件,我得到了移动粒子的轨迹 . 我的问题是我想修复两个初始条件(x轴上的起始点为零,y轴上的起...
  • 0 votes
     answers
     views

    MATLAB:只需一步即可推进ode45

    我在matlab中使用 ode45() 进行动力学的一些工作,使用this procedure来计算Lorenz系统的最大Lyaponov指数 . 该过程涉及从 x0 开始求解微分方程组,并将其与非常接近 x0 的轨迹进行比较 . 在每个时间步,第二个轨迹需要在推进时间步之前重新调整,所以我希望能够只调用一次 ode45() - 这可能吗? 这里介绍了替代解决方案的开始尝试,但它不起作用;据我...
  • 0 votes
     answers
     views

    寻找微分方程的解

    我想在下面找到等式的根X. 给定Ls是某物的长度,f是频率,X是频率的函数,tgn是群延迟,λ_0是自由空间波长 . 如果您想了解更多详细信息,请参阅第20页的本文档 . https://cdn.rohde-schwarz.com/pws/dl_downloads/dl_application/00aps_undefined/RAC-0607-0019_1_5E.pdf 无论如何Ls,tgn和λ...
  • 1 votes
     answers
     views

    在Matlab中解决微分方程,ode45

    我正在尝试使用Matlab中的函数ode45来解决具有三个微分方程的系统 . 我真的不明白我得到的错误,我可以用一些帮助来理解我做错了什么 . 微分方程如下: F1 = -k1y1+k2(y2-y1) F2 = -k2(y2-y1)+k3(y3-y2) F3 = -k3(y3-y2) 而我在Matlab中的代码是这样的: function dz = kopplad(t, z) global m1...
  • 0 votes
     answers
     views

    在MATLAB中定义和求解嵌套的非线性ODE

    我给出了微分方程 y'' = -g + a(t)/m 和 a(t) = k*y'^2 ,其中 y 是 t (时间)的函数 . 我的初始条件是 y(0) = 600; 和 y'(0) = 0; 在MATLAB中,我知道如何定义 y'' ydd = diff(y,t,2) == -g + a(t)/m; 但我很遗憾这是一个'嵌套'非线性微分方程,我不太确定如何定义它,更不用说在MATLAB中解决它了...
  • 0 votes
     answers
     views

    用ode45 Matlab求解延迟微分方程

    我试图在Matlab中使用ode45来解决DDE问题 . 我的问题是关于我解决这个等式的方式 . 我不知道我是对的还是我错的,我应该使用dde23代替 . 我有以下等式: xdot(t)=Ax+BU(t-td)+E(t) & U(t-td)=Kx(t-td) & K=constant 通常情况下,当我的方程没有延迟时,我使用ode45来解决这个问题 . 现在延迟我的等式,我再次使...
  • 5 votes
     answers
     views

    SymPy / SciPy:求解具有不同变量的常微分方程组

    我是SymPy和Python的新手,我目前正在使用Python 2.7和SymPy 0.7.5,其目标是:a)从文本文件中读取微分方程组b)解决系统问题 我已经读过this question和this other question,它们几乎就是我要找的,但我还有一个问题:我事先不知道方程组的形式,所以我不能在脚本里面用 def 创建相应的函数,如this example . 整个过程必须在运行时进...
  • 0 votes
     answers
     views

    解微分方程

    这是解决R中微分方程(DE)的一个非常基本的问题: 我正在使用deSolve包来解决DE . dX <- a*X + a*b 问题是我想要及时评估解决方案(基于我的时间列)和相应的b值(b值每次都不同) . 这是我的代码: parameters <- c(a=1.3714) state <- c(X=0) Lorenz <- function(t, state, param...
  • 0 votes
     answers
     views

    matplotlib对微分方程的精确解

    我试图用matplotlib在python2.7中绘制微分方程(放射性泄漏模型)的精确解 . 当使用欧拉方法或SciPy绘制图形时,我得到预期结果,但是使用精确解,输出是直线图(应该是对数曲线) . 这是我的代码: import math import numpy as np import matplotlib.pyplot as plt #define parameters r = 1 bet...
  • 2 votes
     answers
     views

    如何在微分方程(SciPy)中使用if语句?

    我试图用Python解决微分方程 . 在这两个系统微分方程中,如果第一个变量( v )的值大于阈值(30),则应将其重置为另一个值(-65) . 下面我把我的代码 . 问题是第一个变量达到30后的值保持不变,不会重置为-65 . 这些方程描述了单个神经元的动力学 . 方程式取自website和PDF file . import numpy as np import matplotlib.pyplo...
  • 1 votes
     answers
     views

    在matlab中求解微分方程组

    我试图在Matlab中求解微分方程组 . dn/du=(-2*u*n-K*(n*u-(1+g)))/(1+u^2+K*u*(u-(1+g)/n)) dxi/du=(1-u^2)/(1+u^2+K*u*(u-(1+g)/n)) df/du=(2*u+K*u^2*(u-(1+g)/n))/(1+u^2+K*u*(u-(1+g)/n)) K和gamma是常数 . 我有这样的初始条件: n(0)=...
  • 1 votes
     answers
     views

    针对BVP的射击方法解决方案的ode45 / fsolve问题

    我正在尝试使用拍摄方法解决MATLAB中的边界值问题 . 但是,当我尝试通过fsolve传递我的函数时,我收到警告:警告:t = -9.462647e 001失败 . 无法在不将步长减小到允许的最小值以下的情况下满足积分公差(2.273737e-013 )在时间t . 我已经尝试了一些常见的解决方法,比如使用不同的ODE求解器并改变ODE求解和fsolve中的容差,但无济于事 . 目前,当我在我的...
  • 6 votes
     answers
     views

    Matlab - 求解三阶微分方程

    y''' + 41y'' + 360y' + 900y = 600x' + 1200x; y(0)= 2 ; y'(0)= 1 ; y''(0) = -0.05 如何使用ODE45函数求解该等式? 我试过这个: ==> function dydt=f(t,y) dydt = [y(2) ; y(3) ; -41*y(3)-360*y(2)- 900*y(1)] ==> clear...
  • 1 votes
     answers
     views

    如何用MATLAB求解微分方程

    我有个问题 . 那是 : y"^2 + 2*y'+ 3*y = sin(x), y'(0)=0, y(0)=1 我想用MATLAB解决这个问题,但我不能 . 你能帮助我吗 ?
  • 0 votes
     answers
     views

    在R中deSolve ODE - 随时间变化变量

    我试图得到一个ODE系统,其中一个变量(FA2)正在改变 every 时间步骤工作 . 我有以下代码 . 注意:FA2定义为FA2 = b a * i且不能大于90 模型功能: model <- function(times, y, pars) { with(as.list(c(pars, y)), { # set up vector of FA2 values F...
  • -1 votes
     answers
     views

    ODE求解器C程序系统的初值问题

    所以我想用C程序在地球周围实现月球的路径 . 我的问题是你知道月球在Apogee和Perigee的速度和位置 . 所以我开始从Apogee解决它,但我无法弄清楚如何为它添加第二个速度和位置"initial value" . 我用 if 尝试了它,但我没有看到结果之间有任何区别 . 任何帮助表示赞赏! 这是我的代码: #include <stdio.h> #inclu...
  • 0 votes
     answers
     views

    scipy.integrate.odeint根据时间步长失败

    我使用python进行科学应用,尤其是用于求解微分方程 . 我已经在简单方程系统上成功使用了 odeint 函数 . 现在我的目标是解决一个由300多个方程组成的相当复杂的系统 . 此时,只要 t-array 中的时间步长等于或小于1e-3, odeint 函数就会给出合理的结果 . 但我需要更大的时间步骤,因为系统必须集成几千秒 . 较大的时间步长会产生"excess work don...
  • 0 votes
     answers
     views

    Simulink功能响应不当

    我正在使用simulink功能块来模拟微分方程 xdot = -x+x^2 同时,我使用乘法器和比较器手动生成相同的函数 . 两个模拟使用积分器块来计算导数xdot,其中积分器的初始条件被设置为区间 [-0.5:0.5:0.5] . 我无法弄清楚为什么我会从这些类似的模拟得到不同的回答?请注意,手动构建模拟响应是正确的 . 这是simulink模型:diff equa model
  • 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...
  • 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...
  • 5 votes
     answers
     views

    用sympy缓慢替换符号矩阵

    我正在与一个大小为 QxQ 的符号雅可比矩阵 J 进行交流 . 该矩阵的每个系数包含 Q 个符号,从 f[0] 到 f[Q-1] . 我想要做的是将 J 的每个系数中的每个符号替换为已知值 g[0] 到 g[Q-1] (不再是符号) . 我发现最快的方法如下: for k in range(Q): J = J.subs(f[k], g[k]) 但是,我觉得这个“基本”操作很长!例如,使...

热门问题