MATLAB Answers

0

Append rows to .mat file

Asked by Collegue on 11 Sep 2019
Latest activity Commented on by blues
ungefär 3 timmar ago
Hello, I have a folder for example file_1 . I want to create a data.mat with the files that I have in file_1. Each time I add data to file_1 I would like to update the .data.mat and add the data in the next row of data.mat. How can I do it?
dataNew = data;
save(fullfile(mat_path ,'data'),'data');

  1 Comment

Raj
on 12 Sep 2019
"I want to create a data.mat with the files that I have in file_1" - What type of files?
"Each time I add data to file_1 " - In what way? Are you appending the existing file or adding new file?

Sign in to comment.

Tags

2 Answers

Answer by Jyothis Gireesh on 16 Sep 2019
 Accepted Answer

I understand that you want to add the files present in the folder ‘file_1’ into a single “. mat file. You may use the following functions to achieve the desired result.
  • save() - You may use the ‘-append’ attribute in save() to add the new data in the end of an existing .mat file. It may be better to ensure that the new variables do not have the same names as the existing variables. This may prevent overwriting the existing variables and subsequent loss of information.
  • matfile() - If there is constraint on the memory usage you may use this function instead. This function allows us to change the contents of .mat file without loading into memory. You may make use of the ‘Writable’ attribute to iswritable to enable write access. The new variables will be appended to the exisitng .mat file
You may go through the following documentation links if you need any clarification on the same.

  0 Comments

Sign in to comment.


Answer by per isakson
on 14 Sep 2019

  1 Comment

blues
about 1 hour ago
Hi,
I have 4 variables in the following format: (x, y, z, value). I would like to write a .mat file so that I can have
(0, 0, 0, 0.1); % I can write this by using (save test.mat x y z value)
(0, 0,1, 0.2); % how to add these lines without overwriting previous values?
(0, 1, 0, 0.3);
....................
How can I write this kind of .mat file? Any help would be hugely appreciated.

Sign in to comment.