如何从“;MATLAB Tensor工具箱版本2.5”;输入文本文件?

如何从“;MATLAB Tensor工具箱版本2.5”;输入文本文件?,matlab,Matlab,这里是否有人将“MATLAB Tensor工具箱2.5版(Sandia国家实验室)”与MATLAB一起使用来操作张量我想知道如何将张量/sptensor保存到文本文件中。 我找到了一个函数“export_data()”,但它支持“tensor”类型,不支持“sptensor”。我认为,如果有一种方法可以将“sptensor”写入文本文件,格式与通过“disp(sptensor)”函数显示的格式相同,那将是完美的。e、 g (57211138)0.0000 (57211141)1.1063 (57

这里是否有人将“MATLAB Tensor工具箱2.5版(Sandia国家实验室)”与MATLAB一起使用来操作张量我想知道如何将张量/sptensor保存到文本文件中。

我找到了一个函数“export_data()”,但它支持“tensor”类型,不支持“sptensor”。我认为,如果有一种方法可以将“sptensor”写入文本文件,格式与通过“disp(sptensor)”函数显示的格式相同,那将是完美的。e、 g

(57211138)0.0000

(57211141)1.1063

(57211142)1.1063

(57211143)0.0000

(57211144)0.6213


我想要么我可以一次性保存整个sptensor,要么我们可以迭代它并逐个保存元素。你有什么办法来达到这个目的吗?如何存储(重建的)张量数据以供进一步处理?

我不知道这个工具箱,但您可以在循环中使用以下代码片段手动编写它:

fid = fopen('filename.txt','a');
for n = 1:4
    x = randn(4,1);
    fprintf(fid,'(%f,%f,%f)%f',x(1),x(2),x(3),x(4));
    fprintf(fid,'\n');
end
fclose(fid);

您可以使用
导出数据(tensor,“filename.txt”)
。export_data函数以简单的ASCII文本格式导出张量数据。张量可以是任何张量,如sptensor、ktensor、tSensor等。

请注意,您还应该写一行,提供稀疏张量的大小(您无法从坐标中可靠地猜测张量的大小)