该mathematica.SE目前正处于内测阶段,并会在几天内对公众开放.Stack Overflow和相关站点使用prettify.js,但Mathematica不是受支持的语言.为我们的网站提供自定义突出显示脚本真是太棒了,我请求JavaScript和CSS社区帮助开发这样的脚本和随附的CSS.
我在下面列出了一些基本要求,它捕获了Mathematica默认突出显示方案的大部分功能(忽略只有内部解析器才知道的东西).我也一般地命名颜色 - 可以从我提供的屏幕截图中选取十六进制颜色代码(下面进一步说明).我还在屏幕截图中添加了代码示例,以便人们可以测试它.
注释
这些输入为(* comment *).所以这些之间的任何内容都应以灰色突出显示
字符串
输入为"string"(不支持单引号),并应以粉色突出显示.
运算符/简写符号
除标准之外+, -, *, /, ^, ==,Mathematica还有其他几个运算符和简写符号.最常遇到的是:
@, @@, @@@, /@, //@, //, ~, /., //., ->, :>, /:, /;, :=, :^=, =.,
&, |, ||, &&, _, __, ___, ;;, [[, ]], <<, >>, ~~, <>
Run Code Online (Sandbox Code Playgroud)
这些以及括号,括号和括号都应以黑色突出显示.
图案对象和狭槽
模式对象以字母开头,并具有任一_或__或___附接,例如像x_,x__和x___.这些也可以在下划线后面添加其他字母x_abc,等等.所有这些都应以绿色突出显示.
槽是#和## …
我希望得到一个不同的解决方案来解决我已经"象征性地"解决的问题并通过一些模拟.现在,我想知道如何使用Mathematica直接进行集成.
请考虑一个由r = 1的磁盘代表的目标,以(0,0)为中心.我想模拟我投掷飞镖的概率.
现在,我没有偏见投掷它们,平均而言我将击中中心mu = 0但我的方差为1.
考虑到我的飞镖击中目标(或墙壁:-)时的坐标,我有以下分布,2个高斯:
XDistribution : 1/Sqrt[2 \[Pi]\[Sigma]^2] E^(-x^2/(2 \[Sigma]^2))
YDistribution : 1/Sqrt[2 \[Pi]\[Sigma]^2] E^(-y^2/(2 \[Sigma]^2))
Run Code Online (Sandbox Code Playgroud)
当这两个分布以0为中心,方差等于1时,我的联合分布变为双变量高斯,如:
1/(2 \[Pi]\[Sigma]^2) E^(-((x^2 + y^2)/(2 \[Sigma]^2)))
Run Code Online (Sandbox Code Playgroud)
所以我需要知道我达到目标的概率或者x ^ 2 + y ^ 2的概率低于1.
在极坐标系中进行变换后的积分首先给出了我的解决方案:.39.模拟证实了它使用:
Total@ParallelTable[
If[
EuclideanDistance[{
RandomVariate[NormalDistribution[0, Sqrt[1]]],
RandomVariate[NormalDistribution[0, Sqrt[1]]]
}, {0, 0}] < 1, 1,0], {1000000}]/1000000
Run Code Online (Sandbox Code Playgroud)
我觉得有更优雅的方法来解决这个问题,使用Mathematica的集成能力,但从来没有得到映射以太工作.