Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在matlab中导出4D单变量_Matlab - Fatal编程技术网

如何在matlab中导出4D单变量

如何在matlab中导出4D单变量,matlab,Matlab,尝试在matlab中导出“4D数据”。 将此变量导出到文本文件时,格式为: save ('file.txt','var') 我得到以下输出: 错误 或 使用save命令使用Matlab使用的二进制格式保存变量。如果希望以文本格式保存变量,请使用保存命令的'-ascii'标志: save('file.txt', 'var', '-ascii' ); 有关详细信息,请参阅。您不能这样做。Matlab无法以ASCII格式保存多维变量。此外,默认情况下,Matlab最多只能保存8位数字,而且由于您的

尝试在matlab中导出“4D数据”。 将此变量导出到文本文件时,格式为:

save ('file.txt','var')
我得到以下输出:

错误


使用
save
命令使用Matlab使用的二进制格式保存变量。如果希望以文本格式保存变量,请使用
保存
命令的
'-ascii'
标志:

save('file.txt', 'var', '-ascii' );

有关详细信息,请参阅。

您不能这样做。Matlab无法以ASCII格式保存多维变量。此外,默认情况下,Matlab最多只能保存8位数字,而且由于您的数据是单精度的,因此您可能会失去一些精度

解决方案:

  • 不要将其保存为ASCII。相反,使用
    -mat
    (Matlab二进制格式)
  • 将变量重塑为2D矩阵进行写入,但要确保知道其原始大小,以便在读取时将其重塑为4D矩阵
  • 使用
    fprintf
    创建自己的函数,将4D矩阵保存到文本文件中
  • 使用Matlab以外的其他工具。如果你真的被类似Matlab的语法所困扰,Octave有一个
    -text
    格式,它允许将N维矩阵保存到文本文件中

  • @user1426913似乎
    '-ascii'
    标志不支持保存具有两个以上维度的数组。在保存变量之前,您必须对其进行
    整形
    ,或者将其保存为二进制格式。您希望使用哪种文本格式?人类可读,还是应该由其他程序处理?@user1426913没有任何意义,一个简单的文本文件只有2维。您将如何表示更多维度?二进制文件格式似乎是您的最佳选择,但如果您一直使用Matlab,则必须找到能够读取mat文件的库。或者,您也可以尝试将它们保存为hdf文件。
    save('file.txt', 'var', '-ascii' );