问题标签 [differential-equations]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wolfram-mathematica - 什么“边界条件”可以让一个矩形“看起来”像一个圆?
(t, x)
我正在使用 MATHEMATICA 在具有周期性或自由边界条件的方形域上求解时间和空间中的四阶非线性偏微分方程。
如果不使用保形映射,我可以使用边缘或角落的哪些边界条件使方形域“看起来”像我的笛卡尔非线性偏微分方程的圆形域?
我不想使用的选项是:
- 保形映射
- 将我的方程更改为极坐标/圆柱坐标?
这是我纯粹出于兴趣而追求的东西,以防万一有人被误解为家庭作业问题而尖叫血腥谋杀!:P
wolfram-mathematica - 非线性微分方程的解
我一般不使用 Mathematica,我需要将它与其他程序进行比较。我想解决三个微分和非线性方程组。为此,我使用 Dsolve。当我输入非线性项(指数)时,一切都出错了。
这是我的代码:
错误是这样的:
DSolve::dsvar: 0.1 不能用作变量。
ReplaceAll::reps:{Dsolve[<<1>>]} 既不是替换规则列表也不是有效的调度表,因此不能用于替换
有人知道为什么指数项会造成麻烦吗?
谢谢
differential-equations - 二阶 ODE 未定系数
这个方程可以解吗?如何?
y" = Ay + B
A 和 B 是(实)常数。我尝试做未确定的系数,但对我来说没有用。均匀的部分很容易。
谢谢。
maple - 用边界条件求解 Maple 中的一组微分方程
我正在尝试求解一组耦合微分方程,并且我想用Maple检查我的一些推导。但是,我没有得到正确的合成器。
我试图在一个简单的案例中重现我的问题,如下所示:
所以这些现在是解耦的,而且很容易解决。但是,由于某种我不太明白的原因,我被 Maple 困住了。
对于以下情况(从上面可以看出),Maple给了我一个解决方案
- 在没有边界条件的情况下求解这两个方程。
- 用边界条件求解第一个方程。
现在,当我将两者结合起来时,我会收到一条错误消息
错误,(在 dsolve 中)发现以下方程不依赖于输入系统的未知数:{diff(diff(Q(x, y), y), y) = 0}
如果我明确地将 P 和 Q 定义为未知数(我将其作为提示)(参见代码的最后一行)
错误,(在 dsolve 中)收到 {Q} 的指示作为问题的未知数,并找到相关函数 {Q(x, y)},而不依赖于 {y}。请明确指定未知 {Q} 的功能
笔记
- 如果我仅在 e2 中将 Q 定义为 y 的函数,则 dsolve 语句有效,但这不是我想要的
- 我已经研究过 pdsolve,但到目前为止没有任何运气。即我试过
pdsolve({e1,e2,cond});
这但是没有给出错误消息,但也没有输出。 - 我在网上搜索了一些我收到的错误消息,但不幸的是,这并没有让我更进一步。
- 如果 y 将 e1 中的 P 定义为 x 和 y
P(x,y)
和 set的函数cond:=P(x,0)=0
,则 dsolve 不会给出任何输出。
我要解决的问题
我试图解决的实际问题如下。
这个集合如何在 Maple 中通过一个命令解决?我知道答案应该是
非常感谢任何提示/建议!
c - GSL 求解钟摆运动的 ODE
我正在尝试求解摆锤运动的微分方程,给定摆锤初始角度 (x)、重力加速度 (g)、线长 (l) 和时间步长 (h)。我用欧拉法试过这个,一切都很好。但现在我要使用 GSL 中实现的 Runge-Kutta 方法。我试图从 gsl 手册中学习实现它,但我遇到了一个问题。钟摆不想停下来。假设我从初始角度 1 rad 开始,它总是在 1 rad 处具有峰值倾斜,无论它已经做了多少次摆动。这是我用来将其提供给 GSL 的方程式和函数:
改造它:
并分解:
这是代码片段,如果这还不够,我可以发布整个程序(它不会太长),但也许这是某个地方的问题:
参数g
和l
正确传递给函数,我已经检查过了。
wolfram-mathematica - 使用 Mathematica 求解低音扩散模型的微分方程
http://www.bassbasement.org/F/N/FMB/Pubs/Bass%201969%20New%20Prod%20Growth%20Model.pdf 关于低音扩散模型,可以参考上面给出的链接。它用于预测新产品的采用。
使用下面的方法和 F(0)=0 的条件,我想得到 F(t) 和 F'(t)
有什么建议么?请在此处发布您的答案。
wolfram-mathematica - Mathematica NDSolve
我对 Mathematica 中的 NDSolve 函数有疑问。我有一个由这两个方程定义的振荡器:
其中 u 是一些常数。
如何创建解决此问题的 NDSolve?我尝试了以下代码(它必须取决于时间)但它不起作用:
(初始位移为 2m)。
非常感谢你...
matlab - MATLAB——事件定位函数的结构理解
在我的教科书中,我遇到了一个在为 ODE 系统指定事件位置时应该使用的函数示例。函数示例如下:
这里有一部分逻辑我不明白。假设我激活了“事件”选项,然后运行 ode45。那么,ode45 如何实际读取方程组(在上述函数中指定为value = [z(2); 0; z(4); -g];
)?当然,在指定 tspan 和初始条件之后,我已经基于上述函数运行了 ode45,它就像一个魅力。但是我不明白 ode45 仅在上面脚本的“if”部分中出现时如何正确读取系统。
如果有人能解释这里的逻辑,我将不胜感激!
matlab - MATLAB:仅推进 ode45 一步
我ode45()
在 matlab 中使用一些动力学工作,使用这个过程来计算 Lorenz 系统的最大 Lyaponov 指数。
该过程涉及求解一个从 开始的微分方程组x0
,并将其与开始非常接近的轨迹进行比较x0
。
在每个时间步,在推进时间步之前需要重新调整第二个轨迹,所以我希望能够只调用ode45()
一次- 这可能吗?
此处介绍了替代解决方案的开始尝试,但它不起作用;据我所知,下面得到的矩阵r
应该R
是相似的:
...但他们不是:
最后一行r
是零不是问题。
有任何想法吗?干杯! \T
matlab - 如何使用微分方程求解脉冲响应?
给定一个微分方程:
y[n] - 0.9y[n-1] + 0.81y[n-2] = x[n] - x[n-2]
一个。找到h[n], n=0,1,2
使用递归的脉冲响应。
湾。使用 MATLAB 命令过滤器查找脉冲响应。