小编Sjo*_*ies的帖子

如何在Mathematica中绘制单位单元上定义的函数?

我试图在Mathematica中绘制一个在单位单位上定义的函数.举一个随机的例子,假设我想在所有x1,x2,x3上绘制sin(x1*x2*x3),使得x1,x2,x3> = 0和x1 + x2 + x3 = 1.是否有一个整洁的方式这样做,除了明显的写作方式之外

Plot3D[If[x+y<=1,Sin[x y(1-x-y)]],{x,0,1},{y,0,1}]
Run Code Online (Sandbox Code Playgroud)

Mathematica图形

理想情况下,我想要的是一种在单纯形式上绘图的方式.我发现网站http://octavia.zoology.washington.edu/Mathematica/有一个旧包,但它不适用于我最新版本的Mathematica.

plot wolfram-mathematica

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

定位器离开图形区域

当我运行以下代码时

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)

Mathematica图形

我希望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)

wolfram-mathematica

6
推荐指数
3
解决办法
520
查看次数

从CDF播放器中获取数据

对于我的怀疑论者工作组,我在Mathematica中编写了一个程序来测试dowser评估通过照片向他们显示的人的状态的能力.对于空值测量,我将此文档以CDF格式分发给我们组的成员(新的v8可计算文档格式,意味着与CDF播放器一起运行).在我的计算机上(使用mma)它一切正常,但其他人无法导出数据(程序导出到Excel文件).在阅读细则时,我看到播放器不支持导出.所以我的问题是:

有没有办法从CDF播放器中获取数据?

wolfram-mathematica cdf wolfram-cdf

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

使用ListLinePlot的Motorsport Lap Chart

我试图把赛车圈的位置表并绘制一个类似的圈图http://www.fia.com/en-GB/sport/championships/f1/2010/bahrain/Pages/lap_chart.aspx.

每排对应一圈,第一圈为第一排.汽车编号按照它们通过起点/终点线的顺序列在每一行中.表格可能如下所示(4车比赛,6圈:

1 3 2 4
1 3 2 4
1 3 4 2
3 1 4 2
3 1 4 2
3 4 1 2

在上面的例子中,第一圈后的订单是1,3,2,4,在6圈比赛结束时,3号车赢了,4号车排在第2圈,依此类推.

这很容易错误地绘制,我这样做:

ListLinePlot[Table[Position[data,x],{x,4}]]
Run Code Online (Sandbox Code Playgroud)

Mathematica图形

这确实产生了一圈的图表,但它在顶部底部和四号位第一的位置,而我真正需要的是Y轴运行4-3-2-1所以第一个位置是在顶部.

如何反转y轴使其从1(顶部)到n(底部)?

plot wolfram-mathematica

6
推荐指数
3
解决办法
1322
查看次数

以小写字母开头的危险符号名称

我正在寻找Mathematica中以小写字母开头的危险符号名称的完整列表.

在这一刻,我知道三个这样的名称:min,maxlim.这些名称出现在LimitsPositioningTokens列表中,并且至少在使用上标输入FrontEnd时被视为运算符:

In[3]:= Options[$FrontEnd,LimitsPositioningTokens]
Out[3]= {LimitsPositioningTokens->{\[Sum],\[Product],\[Intersection],
         \[Union],\[UnionPlus],\[Wedge],\[Vee],lim,max,min,\[CirclePlus],
         \[CircleMinus],\[CircleTimes],\[CircleDot]}}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

例如,键入FrontEnd以下(使用Ctrl+ ^来制作上标 - 这很重要!):

In[1]:= max^n+4
(max^n+4)//HoldComplete//FullForm
Out[1]= 4 max^n
Out[2]//FullForm= HoldComplete[Times[Power[max,n],Plus[4]]] 
Run Code Online (Sandbox Code Playgroud)

屏幕

您会看到在这种情况下max^n+4解释为4*max^n.

任何人都可以解释什么LimitsPositioningTokens选项真的吗?

Mathematica中是否还有以小写字母开头的其他危险符号?

wolfram-mathematica mathematica-frontend

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

从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
查看次数

如何在动态链接的滑块中维护整数值?

我想使用一对滑块为两个变量nLonHi设置整数值,每个变量的范围可以从1到100,但受nHi> = nLo的限制.所以我为每个变量设置了一个滑块,其范围依赖于另一个变量:

nLo = 1; nHi = 100;
Column[
 {
   Labeled[Slider[Dynamic[nLo], {1, Dynamic[nHi], 1}, 
           Appearance -> "Labeled"], "nLo", Left
   ],
   Labeled[Slider[Dynamic[nHi], {Dynamic[nLo], 100, 1}, 
           Appearance -> "Labeled"], "nHi", Left
   ],
   Dynamic[{nLo, nHi}]
 }
]
Run Code Online (Sandbox Code Playgroud)

问题是,只要我调整nHi,它的值就变为实数(显示小数点)而不是整数.我认为这是因为nHi的滑块无法判断它的第一个范围参数Dynamic [nLo]实际上是一个整数,所以它默认为实数值.关于如何强制nHi保持整数值的任何建议?(Linux Mathematica v8.0.1)

wolfram-mathematica

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

FrameTicks-> ClickPane中的自动导致处理器活动不变

我发现如果选项存在,a MatrixPlotin ClickPane会导致我的一个处理器内核以大约50%的活动循环FrameTicks -> Automatic.我已将代码减少到以下(实际上没有做任何事情):

a = ConstantArray[0, {2, 11}];
ClickPane[
 Dynamic@
  MatrixPlot[a, FrameTicks -> Automatic],
 # &
 ]
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

切换到FrameTicks -> None停止核心活动.

在此输入图像描述

为了研究处理器行为,我让它Clock在20秒NoneAutomatic20秒之间循环(首先删除上面的ClickPane):

ClickPane[
 Dynamic@
  MatrixPlot[a, FrameTicks -> ft],
 # &
 ]
Dynamic[ft = {Automatic, None}[[Clock[{1, 2, 1}, 20]]]]
Run Code Online (Sandbox Code Playgroud)

这给了我以下处理器活动显示:

在此输入图像描述

这是在我的Win7-64/MMA 8.0.1系统上.

我的问题是:

  • 这可以在其他系统上重现吗?
  • 我做错了什么或这是一个错误?
  • 为什么裸MatrixPlot[a](没有任何FrameTicks设置)有这些奇怪的帧勾选?

在此输入图像描述

wolfram-mathematica

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

如何在 Mathematica 中将 Row[] 的元素对齐到底部或顶部?

当我写作时

Row[ {Framed@Column[{1,2}], Framed@"123"},  Alignment->Top]
Run Code Online (Sandbox Code Playgroud)

数学图形

或者

Row[ {Framed@Column[{1,2}], Framed@"123"},  Alignment->{Left,Top}]
Run Code Online (Sandbox Code Playgroud)

数学图形

无论哪种情况,都不会发生任何事情。默认对齐方式为居中,并且列出的元素与彼此的中线对齐。

Grid[ {{Framed@Column[{1,2}], Framed@"123"}}, Alignment->Top]
Run Code Online (Sandbox Code Playgroud)

数学图形

工作得很好,但是Grid[]当 a 就足够了时就有点过分了Row[]

帮助系统说对齐应该可以工作({Left,Baseline}作为示例列出),但它似乎无法更改。我正在使用 v8.0.4。

formatting wolfram-mathematica row alignment

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

如何在mathematica中自动生成函数名?

当我绘制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个标签,告诉用户它是什么功能.

如:

在此输入图像描述

你是如何产生的?

wolfram-mathematica

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