我花了很多时间搜索Octave wiki,文档等,最终找到了一种在启动时更改Octave工作目录的方法; 在Octave命令提示符下键入system('set')时,它会列出所有环境变量,即USERPROFILE=C:\Users\me.但我想要加载程序C:\Users\me\Octave.
可能的解决方案包括添加以下行
setenv("USERPROFILE", "C:\\Users\\me\\Octave");
cd(getenv("USERPROFILE"));
Run Code Online (Sandbox Code Playgroud)
到C:\Octave\Octave-4.0.3\share\octave\4.0.3\m\startup\octaverc.
但是,这对我来说似乎有点笨拙.它USERPROFILE在每个Octave启动时更改环境变量,然后告诉程序将其用作工作目录.USERPROFILE可能在Windows命令行上有永久更改的方法吗?
最近,我想计算几个值的下一个 5 的倍数。我对这段代码的输出感到非常困惑,它应该可以解决问题:
7:11 - mod(7:11, 5) + 5
ans =
7 8 9 10 11 12 13 14
Run Code Online (Sandbox Code Playgroud)
虽然实际的工作解决方案是这样的:
(7:11) - mod(7:11, 5) + 5
ans =
10 10 10 15 15
Run Code Online (Sandbox Code Playgroud)
所以这似乎与运算符优先级有关!但是第一个命令到底做了什么,为什么它输出一个(1,8)向量?
附录:我发现第一个命令也可以写成:
7:(11 - mod(7:11, 5) + 5)
Run Code Online (Sandbox Code Playgroud)
这已经暗示了对观察结果的解释,但我仍然对整个解释感到好奇。
我写了一个涉及cumsum符号向量的小八度脚本,我希望它可以工作,但不幸的是,它没有。这是代码:
pkg load symbolic
n = 3;
syms q x
q = sym('q', [n 1]);
x = sym('x', [n 1]);
cumsum(q - x)
Run Code Online (Sandbox Code Playgroud)
我得到的不是预期的结果:
错误:cumsum:错误的类型参数“类”
为什么会发生这种情况?它可以与 Matlab Symbolic Toolbox 一起使用吗?(不幸的是,我没有它,所以我无法测试。)