How to add a string to a filename while saving plots

I have a code that runs a for loop through a folder, reads the files, plots certain variables for each file and saves the plot as a png with the filename.
[pathstr,name,ext] = fileparts(file.name); print('-dpng',name,'d');
e.g: For a file called test the plot is saved as test.png
Now I want to plot multiple graphs for the same file and hence save the file as test_angle.png for example.
Any idea how I can do that? In python I can do so using '+'. I tried using strcat and append but I think I am doing something wrong.

 Accepted Answer

Use sprintf and fullfile. You will find a complete explanation here:

3 Comments

I don't want to add a variable to the filename. I know that can be done by iterating over the files. I want a fixed string to be added to each plot's filename. for files testa, testb, testc and so on, I would like testa_angle.png, testb_angle.png.....
@Manal Shakeel: like I said, use sprintf:
sprintf('%s_angle%s',name,ext)
or perhaps:
sprintf('%s_%s_angle%s',name,'a',ext)
and I am sure you can figure out how to put that into a loop.

Sign in to comment.

More Answers (1)

name = 'test';
Either
newname = [name, '_angle'];
or
newname = strcat(name, '_angle');
or, as Stephen suggested, using sprintf
newname = sprintf('%s_angle', name);

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!