2015-11-25 37 views
0

好了,所以我有一个结构:MATLAB:.MAT文件中的1x1结构打开

sub_info(1)= struct('Name',info_array{1},'Number',info_array{2}, 
'Date',info_array{3}, 'Student_ID', info_array{4}); 

    mat_struct = 'matstruct.mat' 
    save(mat_struct, 'sub_info') 

但是当我尝试打开.MAT文件。它以1x1结构打开。有没有办法以mat格式加载它? 感谢

+2

不知道什么是错的?你将struct sub_info保存在一个文件'matstruct.mat'中,当你执行'load matstruct.mat'时,它会将你保存的结构'sub_info'加载到内存中。有什么问题? –

+0

我希望它以.mat文件格式保存。但由于某种原因,它在工作区中显示为1x1结构。我如何让它显示为.mat? – user2924450

+0

看你的本地目录。你的代码应该有一个名为“matstruct.mat”的文件。有你的.mat文件。我不知道你的意思,“我怎么让它显示为.mat?”或者“是否有方法以mat格式加载它?” –

回答

2

让我们来定义一个简单的结构变量

sub_info(1)= struct('Name','aaa','Number','bbb'); 

,并将其保存到一个文件:

save('file', 'sub_info') 

两种方式使用load的:

  • 没有输出参数load fileload('file')

    这产生了原始变量sub_info在工作区:

    >> load file 
    >> whos 
        Name   Size   Bytes Class  Attributes 
        sub_info  1x1    260 struct 
    >> sub_info 
    sub_info = 
         Name: 'aaa' 
        Number: 'bbb'    
    
  • 随着输出参数x = load('file')。这将产生一个结构其字段包含在文件的变量(所以在这种情况下x有一个单场sub_info):

    >> x = load('file'); 
    >> whos 
        Name  Size   Bytes Class  Attributes 
        x   1x1    384 struct    
    >> x 
    x = 
        sub_info: [1x1 struct] 
    >> x.sub_info 
    ans = 
         Name: 'aaa' 
        Number: 'bbb'