Saving matrices as separate files in for loop

12 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)
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')
  1 Comment
Anita Sinha
Anita Sinha on 27 Apr 2021
Oh that's true, I should have caught that. Thank you!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!