我刚刚注意到,如果你在 MMA (8.0.1 / win7-64) 中有这个:
然后你将它复制到SO(只需ctrl-c ctrl-v),你会得到这个:
(maxY - minY)/stepy/(maxX - minX)/stepx
这是数学上不等价。应该是这样的:
((maxY - minY)/stepy)/((maxX - minX)/stepx)
或这个(InputForm
上述的):
((maxY - minY)*stepx)/((maxX - minX)*stepy)
这不是由 StackOverflow 的内部结构引起的,因为复制到记事本也会发生同样的情况。
是否还有更多类似的问题(尤其是在使用 SO 时,但一般情况下)我们应该注意?
造成这种情况的原因是什么?我们可以解决这个问题吗?如果不能,最好的解决方法是什么?
将 Mathematica 代码复制到 Usenet Mathematica 组有时会在您的代码中散布各种奇怪的字符(您永远不知道什么时候会发生在您身上)。解决方法是:
Cell > Convert To > InputForm
然后复印一份
Edit > Copy As > Plain Text
or Input Text
后者在这种情况下不起作用。您将得到的转换在数学上仍然是不正确的。前者似乎确实有效。
Update
如果您在 Mathematica 新闻组的帖子中遇到奇怪的字符(例如,here)以下函数将对其进行解码(在我测试的所有情况下)。
translateQuotedPrintable[str_String] :=
StringReplace[str, {"=" ~~ c1:HexadecimalCharacter~~c2:HexadecimalCharacter :>
FromCharacterCode[FromDigits[c1 <> c2, 16], "Math1"],"=" ~~ EndOfLine -> ""}]
只需将整个帖子粘贴到引号之间translateQuotedPrintable[" ... "]
并且该帖子将被清理。
出于好奇:您可能在这些 usenet 帖子中看到的编码称为引用可打印。它用于将与标准 7 位 ASCII 集不同的字符编码转换为 ASCII。许多常见的 MMA 符号(如规则符号)如果之前未通过以下方式转换为 ASCII,就会以这种方式编码:InputForm
CS。要解码代码,需要知道原始字符集,因为 QP 仅产生字符集中的十六进制位置。对于 MMA 来说,最常见的是 Math1。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)