小编rot*_*ton的帖子

如何在启动时更改Octave工作目录?

我花了很多时间搜索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命令行上有永久更改的方法吗?

working-directory octave windows-7

3
推荐指数
1
解决办法
1万
查看次数

这个 MATLAB 代码(涉及冒号运算符)是如何解决的?

最近,我想计算几个值的下一个 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)

这已经暗示了对观察结果的解释,但我仍然对整个解释感到好奇。

matlab colon operator-precedence

3
推荐指数
1
解决办法
66
查看次数

为什么 cumsum 不适用于符号向量?

我写了一个涉及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 一起使用吗?(不幸的是,我没有它,所以我无法测试。)

symbolic-math octave cumsum

1
推荐指数
1
解决办法
87
查看次数