在我在这里提出问题之前,我只想让大家知道我正在使用 Maple 7(因为可能新版本的 Maple 已经解决了这个问题)。我对 maple 的一般问题是,如果我加载工作表,我需要重新执行所有内容(至少这是我学会在 maple 中做事的方式)才能继续工作。“问题”是我的一些中间符号计算可能是时间密集型的,我宁愿将结果方程保存在工作表中,这样如果我加载它,那么结果已经存在并且我不需要重做我的符号计算。我在 maple 7 中找到的一种方法是使用 save 命令,例如:
save var1, var2, "temp.m"
不幸的是 Maple 7 不支持save temp.m
保存所有变量。从这个意义上说,枫树工作表并不完全像 matlab(因为一旦你加载了一个 matlab 工作表,你就已经在你的工作表中得到了所有的计算变量,你就可以从那里开始工作了)。也许我的方法太原始了(通过使用“保存”命令来保存计算结果,然后每次都加载它们而不是执行整个工作表),所以如果有人有更简洁的方法来解决这个问题,我会全力以赴 :) 那里这也是我在使用 maple 7 时遇到的另一个问题。如果我使用 hte save 命令保存向量 v,则并不总是保存向量值。如果我从另一个工作表加载“变量文件”,则 v[1] 不再存在。v[1], v[2].. 等是由一个过程计算的,比如 f1.. 所以我做
v[1] := f1(..some parameters...)
过程 f1out;
在它的最后一行有(并且out
是在函数内计算的向量或变量,我没有;最后因为我希望 f1 返回这个)。print(v);
当我在加载变量 v 后编写时,我只得到如下内容:
[out, out, out, out]
但是如果我print(v)
在原始工作表中(在执行了整个工作表之后)我得到了正确的向量。所以我在这里很困惑,我想也许有人会知道发生了什么。这只发生在向量上。如果我使用变量执行此操作,我不会遇到此问题。所以目前我正在考虑一个一个地保存向量的条目,但这既乏味又肮脏。有人有更好的想法吗?
何塞