小编Yuv*_*ati的帖子

将矢量方程转换为Mathematica中的方程列表

由于DSolve语法,微分方程系统必须作为方程列表而不是矢量方程给出(与Solve不同,它接受两者).所以我的简单问题是如何转换矢量方程,例如:

{f'[t],g'[t]}=={{a,b},{c,d}}.{f[t],g[t]}
Run Code Online (Sandbox Code Playgroud)

方程列表:

{f'[t]==a*f[t]+b*g[t],g'[t]==c*f[t]+d*g[t]}
Run Code Online (Sandbox Code Playgroud)

我想我已经知道了答案,但我现在找不到它,我认为它也可以使其他人受益.

wolfram-mathematica

10
推荐指数
2
解决办法
2490
查看次数

在Mathematica中的两个单独的绘图命令中使用微分方程的解

我尝试在两个单独的绘图命令中使用NDSolve的答案时遇到了问题.为了说明这个问题,我将使用一个简单的微分方程和一个绘图命令.如果我写这样的东西:

{Plot[x[t], {t, 0, 10}], x[4]} 
/. NDSolve[{x'[s] == - x[s], x[0] == 1}, x, {s, 0, 10}]
Run Code Online (Sandbox Code Playgroud)

它解决了方程并且没有问题地计算x [4],但是情节变空了,我不知道为什么.

在我的实际问题中,我的方程是一个非常复杂的系统,用于几个函数,而不是x [4]我绘制了求解函数的参数图.我最终打算将所有这些包含在Manipulate语句中,所以我不希望NDSolve语句出现多次(花费太长时间)而且我不能提前计算它(因为它有很多参数).


编辑:我想澄清并扩展我的问题:我实际想要做的是通过以下方式将我的绘图语句包含在Manipulate语句中:

Manipulate[{Plot[x[t], {t, 0, 10}], x[4]} 
/. NDSolve[{x'[s] == - a*x[s], x[0] == 1}, x, {s, 0, 10}]
,{{a,1},0,5}]
Run Code Online (Sandbox Code Playgroud)

由于只有Manipulate语句为参数a赋值,因此我无法事先计算出NDSolve的答案.另外,由于我的实际方程系统非常复杂且非线性,我不能使用符号函数DSolve.

对不起,如果以前不清楚.

plot wolfram-mathematica differential-equations

6
推荐指数
1
解决办法
2025
查看次数

如何在Mathematica的Manipulate语句中控制Locator的外观?

如果我有一个Manipulate语句,例如:

Manipulate[
 Graphics[Line[{{0, 0}, pt}], PlotRange -> 2], {{pt, {1, 1}}, 
  Locator}]
Run Code Online (Sandbox Code Playgroud)

Mathematica图形

如何以最简单的方式更改Locator对象的外观?我是否必须采用动态声明?具体来说,我本来希望使定位器不可见.

wolfram-mathematica

6
推荐指数
2
解决办法
847
查看次数