Loading a .mat file as a cell and without changing its size

30 ビュー (過去 30 日間)
SelDen
SelDen 2022 年 3 月 11 日
編集済み: Stephen23 2022 年 3 月 11 日
I have a large cell array in a .mat file which I want to load into the code. But when I write
data = load('temp.dat');
data is a 1x1 struct. How can I save the data as a cell array (not as 1x1 cell) ?
  1 件のコメント
Stephen23
Stephen23 2022 年 3 月 11 日
編集済み: Stephen23 2022 年 3 月 11 日
The robust approach:
S = load('temp.dat');
data = S.nameOfFieldInMatFile
And in the special case that there is only one variable in the file and you do not know its name:
C = struct2cell(load('temp.dat'));
data = C{1};
If you are interested in writing robust code it is best to avoid LOADing directly into the workspace.

サインインしてコメントする。

回答 (2 件)

Sugar Daddy
Sugar Daddy 2022 年 3 月 11 日
Look son, here is an easy way
load('temp.dat');
just load it, no need to assign it to specific variable

Star Strider
Star Strider 2022 年 3 月 11 日
It depends on what is in ‘temp.dat’.
If it only contains the cell array, just load it into your workspace. If it contains other vairables that are not desired, specify the variable to load:
load('data.dat','myCellArray')
It will then exist in your workspace with that variable name.

カテゴリ

Help Center および File ExchangeStructures についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by