我刚注意到如果你在MMA(8.0.1/win7-64)中有这个:
然后你把它复制到SO(只是ctrl-c ctrl-v),你得到这个:
(maxY - minY)/stepy/(maxX - minX)/stepx
Run Code Online (Sandbox Code Playgroud)
这在数学上是等价的.它应该是这样的:
((maxY - minY)/stepy)/((maxX - minX)/stepx)
Run Code Online (Sandbox Code Playgroud)
或者这个(InputForm
以上):
((maxY - minY)*stepx)/((maxX - minX)*stepy)
Run Code Online (Sandbox Code Playgroud)
它不是由StackOverflow的内部引起的,因为与NotePad的副本相同.
是否有更多这样的问题(特别是在使用SO时,一般情况下)我们应该注意什么?
是什么导致这种情况,可以在我们这边修好,如果没有,最好的解决办法是什么?
我觉得我做了些傻事.
我将我的单元格样式更改为"代码"并开始更改缩进并按照我喜欢的方式移动代码,(因为在"代码"单元格样式中更容易实现,因为笔记本界面不会妨碍).但经过一段时间的尝试后,我发现了这种风格的其他问题.
现在我将样式改回'输入'.但是现在所有的代码都包含了所有这些额外的空格,并且代码看起来不再像原来的"输入"样式那样好看.
我对代码进行了太多编辑和手动格式化.
有没有办法告诉Mathematica将代码"自动格式化"回默认输入样式?即删除所需的所有额外空间,按照它们的方式重新排列等等......
如果我必须亲手做到这一点,我将永远带我.我找不到这样的选项.我在菜单上尝试了很多选项,没有任何帮助.
PS.在Matlab中,这是微不足道的,只需选择所有代码,然后从菜单中选择"smart-ident",它就会这样做.
PS.我尝试过emacs Mathematica模式,他们也没有prety-print.
编辑
我试过这些:选择单元格,然后选择单元格 - >转换为,然后选择'输入窗体'并选择'输入窗体显示'.
这似乎已经删除了所有额外的空白区域.这很好.现在我只需要在所有正确的位置点击返回以将其恢复为原始形式.
至少这比手动删除空格要好得多.所以,灾难现在似乎已被遏制.
编辑
将"代码"样式转换回"标准格式"后的屏幕截图.很难读.
谢谢,
编辑
为了确定问题是什么,给出了一些Mathematica代码,这些代码被"修复",并手动格式化,手动空间插入和手动插入返回,现在如果我只是将它放在具有默认样式的笔记本中,我希望它能够智能缩进到默认设置,并拥有所有换行等等......好像它最初是以默认样式编写的.即如果使用"输入"代码样式编写它将会是什么样的.
这是一个小函数,作为我手工格式化的一个例子.当我将它粘贴在这里时,它看起来格式不会更好.如果您将此代码复制到您的笔记本,默认样式,然后如何自动将其格式化回默认设置而不用手工完成?
If[Abs@omega <= $MachineEpsilon,
(
data = {{0, 0}};
p = ListPlot[data, Sequence@plotOptions]
),
(
driverPeriod = 2. Pi/Abs@omega;
valuesOfDriverAmplitude =
Range[aStart, aStart + aLen, aLen/aIntervals];
timeValues =
Range[initialDriverPeriod*driverPeriod,
finalDriverPeriod*driverPeriod, driverPeriod ];
data =
Table[0, {Length[valuesOfDriverAmplitude]}, {Length[timeValues ]}];
total = Length[timeValues]*Length[valuesOfDriverAmplitude];
bifurcationProgress = 0.;
count = 0.;
Do[
(
{x1, x2, x3} =
solve[q, valuesOfDriverAmplitude [[i]], omega, phase,
initialDriverPeriod*driverPeriod,
(finalDriverPeriod)*driverPeriod, …
Run Code Online (Sandbox Code Playgroud)