gpt4 book ai didi

wolfram-mathematica - 以文本形式保存 Mathematica 表达式

转载 作者:行者123 更新时间:2023-12-04 16:55:48 25 4
gpt4 key购买 nike

将 Mathematica 表达式无损转换为字符串(保存在内存中的字符串,而不是导出到文件)的正确方法是什么?

我正在寻找一个文本表示

  • 将保留所有信息,包括保留特殊(可能是原子)对象,例如 SparseArray , Graph , Dispatch , CompiledFunction等完好无损。例如。骑自行车SparseArray通过这种表示应该保持稀疏(而不是将其转换为普通列表)。
  • 循环比较快(来回转换)。

  • ToString[expr, FullForm]足够了吗?怎么样 ToString[expr, InputForm] ?

    注 1:这是在尝试解决 Graph 中的一些错误时出现的。内部表示偶尔会损坏。但我对上述一般问题的答案很感兴趣。

    注 2: Save肯定会这样做,但它会写入文件(可能可以使用流来解决这个问题),并且它只写入与符号相关的定义。

    最佳答案

    如果您不打算对结果字符串执行一些字符串操作,您可以考虑 CompressUncompress作为 ToString 的替代方案.虽然我不知道 ToString[expr,InputForm] 的情况- ToExpression循环会中断,我可以很容易地想象它们存在。 Compress解决方案似乎更强大,如 UncompressCompress 上调用-ed 字符串保证重建原始表达式。 Compress 的附加优势是它非常节省内存 - 我用它几次在笔记本中保存大量数值数据,而不将它们保存到磁盘。

    关于wolfram-mathematica - 以文本形式保存 Mathematica 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5964341/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com