首页 文章

Maple 7和部分保存

提问于
浏览
0

在我在这里提出我的问题之前,我只是希望每个人都知道我正在使用Maple 7(因为可能更新版本的Maple已经解决了这个问题) . 我与枫的一般问题是,如果我加载一个工作表,我需要重新执行所有事情(至少这是我学会用枫木做事的方式)才能继续处理我的工作 . “问题”是我的一些中间符号计算可能是时间密集的,我宁愿在工作表中保存结果方程,这样如果我加载它,那么结果已经存在,我不需要重做我的符号计算 . 我在maple 7中找到的一种方法是使用save命令,如:

save var1, var2, "temp.m"

不幸的是,Maple 7不支持保存所有变量的 save temp.m . 在这种意义上,枫木工作表并不完全像matlab(因为一旦你加载了一个matlab工作表,你就可以在你的工作表中得到所有的计算变量,你可以从那里开始工作了) . 也许我的方式太原始(通过使用"save"命令来保存计算结果,然后每次加载它们而不是执行整个工作表),所以如果有人有一个更清晰的方法来解决这个问题我都是耳朵:)还有我使用maple 7的另一个问题 . 如果我使用hte save命令保存矢量v,则不会始终保存矢量值 . 如果我从另一个工作表加载"variable file" v [1]不再存在 . v [1],v [2] ..等是通过一个程序说f1 ..所以我这样做

v[1] := f1(..some parameters...)

程序f1在其最后一行中有 out; (并且 out 是在函数内计算的向量或变量,我已经输出;最后因为我希望f1返回它) . 当我在加载变量v后写入 print(v); 时,我只得到这样的东西:

[out, out, out, out]

但如果我在原始工作表中_18181882_(在执行完整个工作表之后),我会得到正确的向量 . 所以我在这里很困惑,我想也许有人会知道这个问题是什么_1861883 . 所以目前我正在考虑逐个保存向量的条目,但这很繁琐而且很脏 . 谁有更明智的想法?

何塞

2 回答

  • 0

    好的..我想我找到了解决我的一个问题的方法!枫7程序有些不寻常 . 我的向量的值被引用到另一个变量(out),我推测这是因为我在我的过程中返回值(out变量被调出),所以maple将它引用到这个值 . 我重写了我的过程,以便我不显式返回值,但通过处理变量引用更改过程参数中的值 . 现在当我使用save命令时,我真的得到了保存的计算值 . 我不确定这个问题是否也出现在较新版本的Maple中 .

  • 0

    “out”的问题是分配表或过程的名称保持不被评估 . 在返回“out”的过程中,您应该返回“eval(out,1)” . 就像现在一样,程序返回名称“out”,而“out”又保留了表格 . 您希望它直接返回表 .

相关问题