我遇到了八度符号工具箱的奇怪行为,其中符号变量以结尾-dot
输掉决赛dot
-suffix.
pkg load symbolic;
clear, clc;
syms xxxdot
syms % Symbolic variables in current scope: xxxdot
xxxdot % xxxdot = (sym) xxx
我只是偶然发现它,因为我有相同的变量,带和不带后缀-dot
。但请注意,如果定义了另一个符号变量而没有最终-dot
、Octave 符号不会合并它们。所以数学仍然是正确的:
pkg load symbolic;
clear, clc;
syms xxxdot xxx % Symbolic variables in current scope: xxxdot xxx
xxxdot + xxx % ans = (sym) xxx + xxx
有谁知道这是从哪里来的?
我正在使用 Octave 4.2.2-1ubuntu1,octave-symbolic 2.6.0-3build1
(Ubuntu 18.04,内核4.15.0-101-通用)
我猜你正在运行图形界面。
如果您在终端上运行 Octave,您将看到某些似乎从 GUI 中被截断的 unicode 字符。
此功能没有详细记录(实际上根本没有),但请查看以下页面以了解正在发生的情况:
-
https://octave.sourceforge.io/symbolic/function/sympref.html(看显示部分)
- https://octave.sourceforge.io/symbolic/function/@sym/pretty.html
从本质上讲,八度/符号似乎足够聪明,可以理解变量名称后面跟着一个有效的类似乳胶的“符号”修饰符,例如点、帽子、波形符、ddot、dddot、ddddot,并相应地表示变量:
octave:1> sym('xdot'), sym('xddot'), sym('xdddot'), sym('xddddot'), sym('xhat'), sym('xtilde')
ans = (sym) ẋ
ans = (sym) ẍ
ans = (sym) x⃛
ans = (sym) x⃜
ans = (sym) x̂
ans = (sym) x̃
(实际上,unicode 在 StackOverflow 上看起来不太好,但在终端中看起来还不错)。
正如 sympref 所建议的,如果您不喜欢这种行为(或者如果您在 GUI 上并且它不起作用,呃),您可以更改它,例如sympref display ascii
or sympref display flat
.
话虽如此,我鼓励您履行社区职责,并将 GUI 输出缺乏作为八度错误跟踪器上的错误进行报告。 :)
我确信这不是故意的,并且可能与用于 GUI 的终端中缺乏对 unicode 的完全支持有关......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)