El archivo de MATLAB aumenta de tamaño al sobrescribir datos de celda

Debido al gran tamaño de los datos y los frecuentes guardados automáticos, decidí cambiar el método de guardado de la función save () estándar a un guardado parcial usando un objeto matfile:

https://www.mathworks.com/help/matlab/ref/matfile.html

Hice este cambio porque usar save () sobrescribirá todo, incluso si se realizó un cambio menor en la estructura, lo que ralentiza enormemente el programa. Sin embargo, noté que el tiempo para guardar con Matfile aumentaba linealmente cada vez que se llamaba, y después de algunas depuraciones, noté que se debía al aumento del tamaño del archivo cada vez, incluso si los datos se sobrescriben con los mismos datos. Aquí hay un ejemplo:

% Save MAT file with string variable and cell variable
  stringvar = 'hello'
  cellvar = {'world'}
  save('test.mat', 'stringvar', 'cellvar', '-v7.3')
  m = matfile('test.mat', 'Writable', true);
% Get number of bytes of MAT file
  f = dir('test.mat'); f.bytes
% Output: 3928 - inital size
% Overwrite stringvar with same data.
  m.stringvar = 'hello';
  f = dir('test.mat'); f.bytes
% Output: 3928 - same as before
% Overwrite cellvar with same data.
  m.cellvar = {'world'};
  f = dir('test.mat'); f.bytes
% Output: 4544 - size increased

No entiendo por qué la cantidad de bytes aumenta cuando los datos son los mismos. Agrega un retraso de tiempo muy notable que aumenta cada guardado y, por lo tanto, anula el propósito del guardado parcial. ¿Alguna idea de lo que está pasando aquí? Ayuda en esto sería muy apreciada!

Respuestas a la pregunta(1)

Su respuesta a la pregunta