在Mathematica中是否有一个设置(我希望它是一个环境变量)会在发生调试错误时使内核退出?通常,我会收到调试错误,笔记本将继续评估错误的数据,迫使我重新启动内核.
我的iPhone上有一个名为iSeismometer的应用程序,可以读取iPhone的加速度计,并充当通过UDP传输此数据的服务器(我可以设置IP地址和端口号).问题是如何使用Mathematica读取此数据流?显然,Dreeves在12年前一直在研究这个问题,所以我想在此期间肯定会发生一些事情.
更新
到目前为止我得到了两个很好的答案 一个来自WReach,一个来自Mark McClure.两者都使用JLink来获取数据.这似乎是一个很好的方法.但是,我想起了我在WII平衡板上所做的一些工作.使用一些免费程序(GlovePIE和PPJoy),我得到了这个蓝牙外设,它可以作为Windows的操纵杆出现,因此也可以作为Mathematica(via ControllerState).当然,蓝牙和UDP是完全不同的,但也可以使用同样的东西来工作吗?
在这里我做的第一个问题是制作可能微不足道的东西而道歉但我刚才意识到我不知道如何在Manipulator控件的输入字段中设置字体样式.此功能的所有选项都不适用于输入字段(AFAIK)中的样式.我想知道输入字段选项是否有效:
Style[Manipulator[0.5, Appearance -> {"Open", Tiny}],
DefaultOptions -> {InputField -> {BaseStyle -> Directive[Red, 16]}}]
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.我假设这是微不足道的,但它让我难过.
编辑
我尝试过使用本地机器人风格
Cell[StyleData["Manipulator"],
ShowStringCharacters->False,
NumberMarks->False,
FontFamily:>CurrentValue["PanelFontFamily"],
FontSize->24,
FontColor->RGBColor[1,0,0],
FontWeight->"Bold"]
Run Code Online (Sandbox Code Playgroud)

这是改变字体颜色和重量(我不希望在我的应用程序中更改这些,只测试哪些有效,哪些无效)但仍然没有改变字体大小.如果这个样式表解决方案有效,我想现在已经足够了,但最终我希望在Manipulate中有一个很小的操纵器:
{{x, 40, "Hello World"}, 20, 100, 5, Appearance -> "Open",
AppearanceElements -> {"InputField", "StepLeftButton", "StepRightButton",
"HideControlsButton"}, ImageSize -> Tiny}
Run Code Online (Sandbox Code Playgroud)
但在输入字段中使用非小字体,并通过直接编码实现此目的.
当我尝试在Mathematica 8中计算以下积分时,我得到了这个奇怪的结果:
In[1]:= Integrate[y/((1 + x^2 + y^2)^(3/2)), {y, 0, 1}]
Run Code Online (Sandbox Code Playgroud)

Maple 14可以轻松解决这个问题:


为什么Mathematica给我一个不同的结果?
众所周知,当一个人发送包含Mathematica代码的电子邮件时,其实践是执行以下操作
选择单元格,Cell-> ConvertTo - > INPUT FORM,然后选择COPY AS TEXT
然后将代码粘贴到电子邮件或任何其他交换媒体中.
上面唯一的问题是,在另一端,当一个人从电子邮件中复制文本并将其粘贴回Mathematica笔记本时,代码将不再以原始形式出现(在转换为之前)输入表格).
因为当将从电子邮件中复制的文本插入Mathematica笔记本时,它将成为标准表单单元格.一切都很好,除了原始代码格式都丢失了.
如果你没有尝试,将单元转换为INPUT FORM,代码将改变形状,我找不到在此操作之前取回原始形式的方法.
有没有办法通过电子邮件将Mathematica代码发送到文本中,以便它保持相同的形状,并且在转换之前与标准格式的内容相同?
谢谢 - 纳瑟
的数学的评估器通常保持(或还原?)Head小号Unevaluated作为参数中提供的表达式的SymbolS:
In[1]:= f[s, Unevaluated[1 + 1]]
Out[2]= f[s, Unevaluated[1 + 1]]
In[5]:= Trace[f[s,Unevaluated[1+1]],TraceOriginal->True]
Out[5]= {f[s,Unevaluated[1+1]],{f},{s},f[s,1+1],f[s,Unevaluated[1+1]]}
Run Code Online (Sandbox Code Playgroud)
但事实并非如此RuleDelayed.此外,在以下情况下剥离任何数量的Unevaluated包装RuleDelayed:
In[1]:= Attributes@RuleDelayed
RuleDelayed[s, Unevaluated[1 + 1]]
RuleDelayed[s, Unevaluated@Unevaluated[1 + 1]]
RuleDelayed[s, Unevaluated@Unevaluated@Unevaluated[1 + 1]]
RuleDelayed[Unevaluated@Unevaluated@Unevaluated[1 + 1], 1 + 1]
Out[1]= {HoldRest, Protected, SequenceHold}
Out[2]= s :> 1 + 1
Out[3]= s :> 1 + 1
Out[4]= s :> 1 + 1
Out[5]= 2 :> 1 + 1 …Run Code Online (Sandbox Code Playgroud) 考虑以下因素:
lalist = {{{{1, 1}, 1}, {{3, 3}, 1}, {{5, 5}, 1}},
{{{1, 5}, 1}, {{3, 3}, 1}, {{5, 1}, 1}}}
Run Code Online (Sandbox Code Playgroud)

Row[{
Graphics[{
Opacity[0.5],Red,
Disk @@@ lalist[[1]]},
Frame -> True],
Graphics[{
Opacity[0.5],Blue,
Disk @@@ lalist[[2]]},
Frame -> True]}
]
Run Code Online (Sandbox Code Playgroud)

以下不是我需要的:

当我运行以下代码时
pMin = {-3, -3};
pMax = {3, 3};
range = {pMin, pMax};
Manipulate[
GraphicsGrid[
{
{Graphics[Locator[p], PlotRange -> range]},
{Graphics[Line[{{0, 0}, p}]]}
}, Frame -> All
],
{{p, {1, 1}}, Locator}
]
Run Code Online (Sandbox Code Playgroud)

我希望Locator控件在第一个Graph的范围内,但它可以在整个GraphicsGrid区域内移动.我的代码中有错误吗?
我也试过了
{{p, {1, 1}}, pMin, pMax, Locator}
Run Code Online (Sandbox Code Playgroud)
代替
{{p, {1, 1}}, Locator}
Run Code Online (Sandbox Code Playgroud)
但它表现完全错误.
UPDATE
感谢大家,这是我的最终解决方案:
Manipulate[
distr1 = BinormalDistribution[p1, {1, 1}, \[Rho]1];
distr2 = BinormalDistribution[p2, {1, 1}, \[Rho]2];
Grid[
{
{Graphics[{Locator[p1], Locator[p2]},
PlotRange -> {{-5, 5}, {-5, 5}}]},
{Plot3D[{PDF[distr1, {x, y}], PDF[distr2, {x, y}]}, {x, -5, …Run Code Online (Sandbox Code Playgroud) 我想知道Mathematica应用于获得结果的步骤.我有
Limit[n^Log[2, n]/1.001^n, n -> \[Infinity]]
Run Code Online (Sandbox Code Playgroud)
和Mathematica显示0,但我想知道它是如何得到这个结果的.
当我绘制exp,2 ^ x,3 ^ x等多个函数时,是否可以生成每个函数的标签?
我的代码现在:
Plot[{Exp[x], 2^x, 3^x}, {x, -5, 2}, AspectRatio -> Automatic, PlotStyle -> {Red, Green, Blue}]
Run Code Online (Sandbox Code Playgroud)
我的意思是在这种情况下生成3个标签,告诉用户它是什么功能.
如:

你是如何产生的?