符号工具箱从符号名称中修剪最终 "dot"
Symbolic toolbox trims final "dot" from symbol name
我遇到了八度符号工具箱的奇怪行为,其中以 -dot
结尾的符号变量丢失了最后的 dot
-后缀。
pkg load symbolic;
clear, clc;
syms xxxdot
syms % Symbolic variables in current scope: xxxdot
xxxdot % xxxdot = (sym) xxx
我只是偶然发现它,因为我有相同的变量,有和没有后缀 -dot
。但请注意,如果定义了另一个符号变量而没有最后的 -dot
,Octave symbolic 将不会合并它们。所以数学仍然正确:
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,您会看到某些 Unicode 字符似乎是从 GUI 中得到的 运行。
此功能没有很好的文档记录(实际上根本没有),但请查看以下页面以了解正在发生的事情:
- https://octave.sourceforge.io/symbolic/function/sympref.html(看显示部分)
- https://octave.sourceforge.io/symbolic/function/@sym/pretty.html
从本质上讲,octave / symbolic 似乎足够聪明,可以理解变量名后跟有效的类似 latex 的 'notation' 修饰符,如点、帽子、波浪线、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 在 Whosebug 上看起来不太好,但在终端中看起来没问题)。
正如 sympref 所建议的那样,如果您不喜欢这种行为(或者如果您使用的是 GUI 但它不起作用,呃),您可以更改它,例如sympref display ascii
或 sympref display flat
.
话虽如此,我鼓励您履行社区职责,并将 GUI 缺少输出报告为 Octave 错误跟踪器上的错误。 :)
我确定这不是故意的,可能与用于 GUI 的终端缺乏对 unicode 的完全支持有关...
我遇到了八度符号工具箱的奇怪行为,其中以 -dot
结尾的符号变量丢失了最后的 dot
-后缀。
pkg load symbolic;
clear, clc;
syms xxxdot
syms % Symbolic variables in current scope: xxxdot
xxxdot % xxxdot = (sym) xxx
我只是偶然发现它,因为我有相同的变量,有和没有后缀 -dot
。但请注意,如果定义了另一个符号变量而没有最后的 -dot
,Octave symbolic 将不会合并它们。所以数学仍然正确:
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,您会看到某些 Unicode 字符似乎是从 GUI 中得到的 运行。
此功能没有很好的文档记录(实际上根本没有),但请查看以下页面以了解正在发生的事情:
- https://octave.sourceforge.io/symbolic/function/sympref.html(看显示部分)
- https://octave.sourceforge.io/symbolic/function/@sym/pretty.html
从本质上讲,octave / symbolic 似乎足够聪明,可以理解变量名后跟有效的类似 latex 的 'notation' 修饰符,如点、帽子、波浪线、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 在 Whosebug 上看起来不太好,但在终端中看起来没问题)。
正如 sympref 所建议的那样,如果您不喜欢这种行为(或者如果您使用的是 GUI 但它不起作用,呃),您可以更改它,例如sympref display ascii
或 sympref display flat
.
话虽如此,我鼓励您履行社区职责,并将 GUI 缺少输出报告为 Octave 错误跟踪器上的错误。 :)
我确定这不是故意的,可能与用于 GUI 的终端缺乏对 unicode 的完全支持有关...