MATLAB: Append rows to same .mat file (without replacing)

.mat file

What is the syntax for appending values to a existing .mat file? When I use -append, I end up replacing the values!
Example: %% code updated %%
for col = 1:10
out = zeros(1,1000000); %reset out to zero vector
x=randn(1,100000);
out(col,:)=x.^2;
if col == 1
filename='z.mat';
save(filename,'out','-v7.3'); % Write to MAT file
else
save(filename,'out','-v7.3','-append');
end
end
After running the above code, I have a .mat file out(10×100000) but it contains only the saved values of last column (rest zeros). That is, each time I zero the out variable, the same is written to file also. I want to save all the values without holding them in variable out (due to memory constrains) . How can I do this?
What am I missing? please locate in my code.

Best Answer

From the documentation on save:
'-append': Add data to an existing file.
Does your file exist?
if col == 1
save(filename,'out','-v7.3');
else
save(filename,'out','-v7.3','-append');
end