Sjo*_*ies 10 wolfram-mathematica mathematica-frontend
我刚注意到如果你在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代码复制到Usenet Mathematica组有时会在您的代码中散布各种奇怪的字符(您永远不知道它何时会发生在您身上).解决方法是:
Cell > Convert To > InputForm 然后复制一份
Edit > Copy As > Plain Text 要么 Input Text
后者在这种情况下不起作用.它仍然是一个数学上不正确的转换,你会得到.前者确实有效.
更新
如果您在Mathematica新闻组中的帖子中遇到奇怪的字符(例如,如此处),则以下函数将对其进行解码(在我测试的所有情况下).
translateQuotedPrintable[str_String] :=
StringReplace[str, {"=" ~~ c1:HexadecimalCharacter~~c2:HexadecimalCharacter :>
FromCharacterCode[FromDigits[c1 <> c2, 16], "Math1"],"=" ~~ EndOfLine -> ""}]
Run Code Online (Sandbox Code Playgroud)
只需在引号之间粘贴整个帖子translateQuotedPrintable[" ... "],帖子就会被清理干净.
对于好奇:您可能在这些usenet帖子中看到的编码称为Quoted Printable.它用于将不同于标准7位ASCII设置的字符编码转换为ASCII.许多常见的MMA符号,如规则符号,如果以前没有通过InputFormcs 转换为ASCII,则以这种方式编码.要解码代码,需要知道原始字符集,因为QP只产生字符集中的十六进制位置.在MMA的情况下,这通常是Math1.