Saving matrices as separate files in for loop

3 views (last 30 days)
Hello. I have a data_matrix of size 200 x 200x 50, where 50 is the total number of subjects and adj_matrix of size 200 x 200 x 50. I am trying to iterate over each data_matrix(:, :, i) in data_matrix and multiply it with the corresponding adj_matrix(:, :, i). I want to save the final matrix as a separate file in a directory.
Example code:
for i = 1:size(data_matrix,3) % = 50
transform = new(:, :, i)*data_matrix(:, :, i)
save(['output_dir/transformed_' num2str(i) '.mat'], i)
end
but I get the error, "Error using save. Must be a string scalar or character vector."
The final outputs should be separate matrices in which each file is called transformed_1, transformed_2, etc.
Could someone help with this?

Accepted Answer

Clayton Gotberg
Clayton Gotberg on 27 Apr 2021
You need to specify the variables to be saved as strings or characters, too.
save(['output_dir/transformed_' num2str(i) '.mat'], 'transform')

More Answers (0)

Community Treasure Hunt

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

Start Hunting!