2015-11-25 58 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'