How to add a string to a filename while saving plots

24 views (last 30 days)
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

Stephen23
Stephen23 on 18 Apr 2017
Use sprintf and fullfile. You will find a complete explanation here:
  3 Comments
Stephen23
Stephen23 on 18 Apr 2017
Edited: Stephen23 on 18 Apr 2017
@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)

Thorsten
Thorsten on 18 Apr 2017
Edited: Thorsten on 18 Apr 2017
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 Data Type Conversion 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!