How to append in .mat file row or columnwise cellmatrix

前端 未结 2 782
广开言路
广开言路 2021-01-15 11:49

I am running a simulation where i generate huge 2d sparse matrices and hence i use FIND function to only store nonzero values with their indices.

Now for each itera

2条回答
  •  礼貌的吻别
    2021-01-15 12:32

    You can use matfile with cells as long as you are not trying to index into the actual cells. Remember that cells are still arrays, so you can access each cell using array indexing. For example:

    >> x = {'this', 'is', 'an', 'example'};
    >> x{4}
    
    ans =
    
    example
    
    >> x(4)
    
    ans = 
    
        'example'
    

    The following just initializes the data. Make sure to save it with the '-v7.3' tag, so that it supports efficient partial saving and loading.

    data = {};
    save('data.mat', 'data', '-v7.3');
    

    Now you can access your data with the matfile

    mf = matfile('data.mat', 'Writable', true);
    for n=1:10  
       A=rand(5);  
       [i,j,vals]=find(A);  
       data={[i,j,vals]};
       mf.data(end+1, 1) = data;
    end
    

    Reference: matfile documentation

提交回复
热议问题