Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.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
File matlab中mat文件的显示_File_Matlab - Fatal编程技术网

File matlab中mat文件的显示

File matlab中mat文件的显示,file,matlab,File,Matlab,我想显示mat文件的内容以查看所有结果。我知道我可以加载它,然后双击它,内容会显示在工作区中,这种情况发生在mat文件内容信息较少时,但当我有超过13000条记录的mat文件内容信息时,我无法显示它。请任何人帮我找到任何方法显示mat文件作为表格 谢谢您有一些选择。从一个干净的工作区开始,可以将mat文件加载到工作区中。现在工作区中的任何内容都在mat文件中。您可以使用变量查看器或脚本解析 如果您有Simulink工具箱,则可以使用Simulink.saveVars将工作区的内容保存为可生成相同

我想显示mat文件的内容以查看所有结果。我知道我可以加载它,然后双击它,内容会显示在工作区中,这种情况发生在mat文件内容信息较少时,但当我有超过13000条记录的mat文件内容信息时,我无法显示它。请任何人帮我找到任何方法显示mat文件作为表格


谢谢

您有一些选择。从一个干净的工作区开始,可以将mat文件加载到工作区中。现在工作区中的任何内容都在mat文件中。您可以使用变量查看器或脚本解析


如果您有Simulink工具箱,则可以使用Simulink.saveVars将工作区的内容保存为可生成相同内容的可读m脚本。很遗憾,您需要Simulink来执行此操作,因为此函数与Simulink无关

我不知道数据的格式(多维、结构、单元数组),但有一个名为“openvar”的函数,它对这些东西非常有用

让我们定义一个大型随机500x500x10 3d矩阵:

large = rand(500,500,10);
该变量包含250万个双倍值,占用近20MB内存。在“变量编辑器”中双击工作区窗口中的“大”打开此对话框通常(至少在我的系统上)会显示以下消息:

"Cannot display summaries of variables with more than 524288 elements." 这将在变量编辑器中打开矩阵的第一个“层”(本例中为500x500矩阵)。如果您需要查看大变量的某些部分,这将非常有用

当然,您始终可以定义包含较大变量子集的新变量:

less_large = large(:,:,1);

。。。然后在工作区窗口双击变量编辑器中的“less_large”打开它。但有时“openvar”方法会更快/更简单。

加载数据后,使用
whos
在当前工作区中显示变量如何?请注意,您可能希望在显示其他变量之前清除它们。

可能重复的不同意gnovice的注释:该链接只是关于检查MAT文件中是否存在字段,这似乎是关于加载MAT文件的子集,以便对其进行操作感谢回复,我的数据的格式是数组的struct,包含图像文件名,另一个变量包含像color这样的数值histogram@zenab当前位置我不确定我是否完全理解。文件有多大(以MB为单位)?能否将整个文件打开到工作区中?因为如果没有,那么我上面的方法对你来说就没有什么价值了。我将给你一个使用openvar函数的例子:我的mat文件(colHist.mat)这个文件包含数组结构(col)这个数组结构包含以下字段:Nam(图像名称),ColHis(颜色直方图),首先我加载(colHist.mat),然后我写:openvar(col.Nam),但是我在matlab工作空间中得到了空的工作表,请帮我解决这个问题
less_large = large(:,:,1);