Append rows to .mat file

5 次查看(过去 30 天)
How do I append row(s) of data to an existing array in a .mat file. The following works except the 2nd to last line:
tableIt = [1 2 3;4 5 6;7 8 9];
tableMore = [10 11 12];
filename = 'aTable.mat';
data2store = 'tableIt';
more2store = 'tableMore';
save(filename,data2store');
whos('-file',filename);
m = matfile(filename,'Writable',true);
m.tableIt(end+1,:) = more2store;
whos('-file',filename);
  4 个评论
Brent
Brent 2019-11-9
I'm looking for something that does work, do you know an alternative that works?

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2019-11-9
more2store = 'tableMore';
That is a 1 x 9 character vector.
tableIt = [1 2 3;4 5 6;7 8 9];
That is a 3 x 3 double.
m.tableIt(end+1,:) = more2store;
That attempts to store the 1 x 9 character vector into 3 columns of a double. That does not fit.
  4 个评论
Walter Roberson
Walter Roberson 2019-11-9
If you had done
more2store = tableMore;
then it would have worked.
Walter Roberson
Walter Roberson 2019-11-9
http://www.cs.utoronto.ca/~chechik/courses/csc324/white.html

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Large Files and Big Data 的更多信息

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by