如何在maxima中将数组写入文本文件?

时间:2012-03-17 05:11:01

标签: maxima

我对maxima相对较新。我想知道如何使用maxima将数组写入文本文件。

3 个答案:

答案 0 :(得分:3)

我知道游戏的原始帖子已经很晚了,但我会留在这里以防有人在搜索中找到它。

设A是Lisp数组,Maxima数组,矩阵,列表或嵌套列表。然后:

write_data(A,“some_file.data”);

设S为输出流(由openw或opena创建)。然后:

write_data(A,S);

进入?输入提示下的数字,或??写_或?? read_,将显示有关此功能及相关功能的一些信息。

答案 1 :(得分:2)

我从未使用过maxima(或者甚至没有听说过),但是有一点谷歌搜索出来的好奇心:http://arachnoid.com/maxima/files_functions.html

从我可以收集的内容中,你应该能够做到这样的事情:

stringout("my_new_file.txt",values);

它表示stringout函数的第二个参数可以是以下一个或多个:

  • 输入:自会话开始以来的所有用户条目。
  • :所有用户变量和数组分配。
  • 函数:所有用户定义的函数(包括在任何已加载的包中定义的函数)。
  • 全部:以上所有内容。这样的列表通常仅用于编辑和提取有用的部分。

因此,通过传递values,它应该将数组分配保存到文件。

答案 2 :(得分:2)

像谷歌这样引导一些更具神经色彩,但我还没有发现它足够有用。我需要将其导出如下:

-0.8000,-0.8000,-0.2422,-0.242
-0.7942,-0.7942,-0.2387,-0.239
-0.7776,-0.7776,-0.2285,-0.228
-0.7514,-0.7514,-0.2124,-0.212
-0.7168,-0.7168,-0.1912,-0.191
-0.6750,-0.6750,-0.1655,-0.166
-0.6272,-0.6272,-0.1362,-0.136
-0.5746,-0.5746,-0.1039,-0.104

所以我已经找到了如何使用printf

执行此操作
with_stdout(filename, for i:1 thru length(z_points) do
        printf (true,"~,4f,~,4f,~,4f,~,3f~%",bot_points[i],bot_points[i],top_points[i],top_points[i]));