mathematica怎么保存
发布网友
发布时间:2022-07-04 11:46
我来回答
共1个回答
热心网友
时间:2022-07-15 13:08
您好,方法
Mathematica这个软件有时候很耗时。
常见情形1:绘图计算特别耗时。比如这段绘图数据计算用时60min.
然而将算好的数据呈现出来却只需要几秒钟。
(Tips: 通常先计算Table数据,然后就可以使用ListVectorPlot替换VectorPlot, ListStreamPlot替换StreamPlot 等等, Graphics3D这些只负责根据数据画图的函数,可以将 运算数据 和 调整绘图样式 分开。)
常见情形2:数值求解微分方程特别耗时。比如这个耗时18分钟。
以上这两种情况有一个共同点,就是我们没法简单的把计算结果导出成字符串存在记事本里。并不是1+1=2,把2复制下来那么简单。
第一种情况的绘图数据里面有颜色/样式等无法表达成字符串的数据类型,第二种情况,运行结果是几个插值函数。
还有其他情况等等。很多时候我们很长时间算出来的东西也许是个插值函数,也许是一个动画,也许是一个复杂的图形,也许是一个数据类型庞杂的列表。
序列化既然不能保存这些数据,那么就应该二进制存储。还好Mathematica提供一种二进制数据交换格式WDX, 可以将内核中的形态各异的数据原封不动的存到文件里。
Export导出WDX的基本用法:
Export["文件路径/文件名.wdx",待存储符号,"WDX"]
Import导入WDX的基本用法:
待读取符号=Import["文件路径/文件名.wdx","WDX"];
WDX可以接受任何变量,也许是一个Plot图像,也许是一个列表,也许是一个函数。当然,运算结果可能有上百MB.