Octave “符号工具箱修剪最终版”;点“;从符号名开始
我遇到了octave符号工具箱的奇怪行为,其中以Octave “符号工具箱修剪最终版”;点“;从符号名开始,octave,symbolic-math,Octave,Symbolic Math,我遇到了octave符号工具箱的奇怪行为,其中以-dot结尾的符号变量松开了最后的dot-后缀 pkg load symbolic; clear, clc; syms xxxdot syms % Symbolic variables in current scope: xxxdot xxxdot % xxxdot = (sym) xxx 我只是偶然发现了它,因为我有相同的变量,有后缀-dot,也有后缀。但请注意,如果定义的另一个符号变量没有最后的-dot,则倍频程符号将不会合并它们。因此,数学
-dot
结尾的符号变量松开了最后的dot
-后缀
pkg load symbolic;
clear, clc;
syms xxxdot
syms % Symbolic variables in current scope: xxxdot
xxxdot % xxxdot = (sym) xxx
我只是偶然发现了它,因为我有相同的变量,有后缀-dot
,也有后缀。但请注意,如果定义的另一个符号变量没有最后的-dot
,则倍频程符号将不会合并它们。因此,数学仍然是正确的:
pkg load symbolic;
clear, clc;
syms xxxdot xxx % Symbolic variables in current scope: xxxdot xxx
xxxdot + xxx % ans = (sym) xxx + xxx
有人知道这是从哪里来的吗
我使用的是倍频程4.2.2-1ubuntu1,倍频程符号2.6.0-3build1
(Ubuntu 18.04,内核4.15.0-101-generic)我猜您正在运行图形界面
如果在终端上运行octave,您将看到某些unicode字符似乎从GUI中被截断
此功能没有很好的文档记录(实际上是这样),但请查看以下页面,了解发生了什么:
- (查看显示部分)
本质上,似乎倍频程/符号足够聪明,可以理解变量名后面跟着一个有效的类似乳胶的“符号”修饰符,如点、帽、波浪、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上,它不工作,duh),您可以更改它,例如,sympref显示ascii
或sympref显示平面
话虽如此,我还是鼓励您尽自己的社区责任,并将缺少GUI输出的情况报告为octave bug tracker上的bug。:)
我相信这不是故意的,可能更多的是因为GUI所用的终端缺乏对unicode的完全支持…在我的机器上,它们不一样,“点”一个实际上是用一个实际的点打印的,即xxxdot=(sym)xẋx
哦,天哪,这太荒谬了!我要报告这件事。谢谢你的即时诊断:我刚刚报告了