小编P. *_*eca的帖子

NDS求波方程时的不稳定性

我正在尝试用来NDSolve解决波动方程来检查是否更容易和/或更快地使用它而不是我的旧特征eq.方法实现.

我得到了很多不稳定的东西,我没有得到特征方法,因为这些是简单的方程式,我想知道出了什么问题......(希望,不是问题的物理方面......)

ans = Flatten@NDSolve[{
u[t, x]*D[d[t, x], x] + d[t, x]*D[u[t, x], x] + D[d[t, x], t] == 0,
D[d[t, x], x] + u[t, x]/9.8*D[u[t, x], x] + 
 1/9.8*D[u[t, x], t] + 0.0001 u[t, x]*Abs[u[t, x]] == 0,
u[0, x] == 0,
d[0, x] == 3 + x/1000*1,
u[t, 0] == 0,
u[t, 1000] == 0
},
d, {t, 0, 1000}, {x, 0, 1000}, DependentVariables -> {u, d}
]

Animate[Plot[(d /. ans)[t, x], {x, 0, 1000}, 
        PlotRange …
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica

7
推荐指数
1
解决办法
852
查看次数

如何改变TabView的背景风格?

在TabView中包含3D绘图时,在我的计算机中,整个选项卡显示为灰色,就像它是一个巨大的按钮一样,使图形具有白色背景:

例

为了避免灰色和白色之间的对比,我希望标签也有白色.

尝试BaseStyle -> {Background -> White}但没有成功(只有边界得到重新设计).

如何更改选项卡的背景颜色?

wolfram-mathematica

7
推荐指数
1
解决办法
1106
查看次数

从Palette操作获取包时出现阴影问题

我简单的第一个调色板假设:

  • 将我的包路径附加到 $Path

ActionMenu["test",{"The Simple Packages Path":> AppendTo[$Path, ToFileName[{NotebookDirectory[], "02 Simple Packages"}]]}]

  • 拿我的包裹

ActionMenu["Load Packages", {"Get my package":> Get["myPackage`"]}]

  • 放置在所选输入单元格(或新输入单元格)上,给定输入表达式,包含不同的占位符.

OpenerView[{"my Package", Button["construct", Paste[StandardForm@Defer@construct[Placeholder["description"],Placeholder["another description"]]]]}]

问题是当我点击"获取我的包"动作菜单项时,我不断收到"影子"消息.我确信我不是故意加载包装的.当我点击"构造"时,它写道Global`construct["description","another description"].但是我确定在获得包之前我没有定义它(我在测试中杀死了内核).

你知道什么是错的吗?

(我Get在我的包上使用,而不是Needs,以确保包上下文的干净启动)

另外:你知道一种更简单的方法Paste[StandardForm@Defer...吗,即使没有选择单元格,也可以确保不评估粘贴表达式并进入输入单元格?

wolfram-mathematica

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

为什么不从自定义Palette更新局部变量颜色运行ClearAll ["Global`*"]?

我创建了一个自定义调色板,并ActionMenu执行ClearAll["Global`*"].它执行所需的操作,但前端不会立即将颜色从黑色更新为蓝色(标准),因为它ClearAll["Global`*"]直接从笔记本单元格执行时发生(它仅在执行其他操作后更新).有没有办法启动刷新前端显示状态?

编辑:显然,当我从调色板加载包时(蓝色不会立即更新为黑色)也会发生同样的情况.

wolfram-mathematica mathematica-frontend

4
推荐指数
1
解决办法
2581
查看次数

如何在InputStream上进行Get?

编码包的一个令人讨厌的事情是它们必须在一个单独的文件中.如果我们想要分发一个简单的自包含app(编码),我们需要提供两个文件:app"interface"和app包.

如果我将编码文件的所有内容放在一个字符串中,并将该字符串转换为一个InputStream,那么我将该包内容视为一个文件.

但Get,据我所知,这是唯一具有解码功能的操作(也被Needs使用),不适用于Streams.它只适用于真实文件.

有人能找到一种获取流的方法吗?

drm wolfram-mathematica

4
推荐指数
1
解决办法
196
查看次数

内部操纵的setdelayed会产生一个评估循环.为什么?

为什么这样:

Manipulate[test[a_] := 2*b; test[c], {b, 0, 1}, {c, 0, 1}]
Run Code Online (Sandbox Code Playgroud)

变成评估循环?不应该Manipulate只评估何时bc改变?

wolfram-mathematica

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