How to save a plot with the name of the file

Hi,
I'm a beginner on Matlab.
I have a script that read an excel table, does some operations and plots 3 different figures.
What I would like to do is to save each figure with a different name, made of the script's name + _Fo (for example). So if scripts are named file1, file2 and file 3, I want figure 1 to be named file1_Fo, figure 2 as file2_Mn and figure 3 as file3_Ni. The name of the script and the name of the excel table are the same!
How could I do that?
I've tried with something like that
saveas(fig(1), sprintf('_Fo.jpg', 1))
But i don't know how to put the name of the file automatically in front of _Fo.
Thank you
Alberto

답변 (2개)

Mark Sherstan
Mark Sherstan 2019년 2월 14일
편집: Mark Sherstan 2019년 2월 14일

0 개 추천

Use the strcat function. For example...
x = [2 4 7 2 4 5 2 5 1 4];
bar(x);
saveas(gcf,strcat('file',num2str(ii),'_Fo.jpg')) % Where ii would be the number you want (e.g. you could make a loop so it is not hard coded).

댓글 수: 2

Thank you but I don't understand it!
Let's say that I have a script (e.g called MyTest) that produces 3 different figures.
How do I save them automatically with a name like MyTest_Fo, MyTest_Ni and MyTest_Mn?
I would like a way to automatically get the script's name + _Fo, without manually type the script's name!
I don't know if you see what I mean!
Cheers!
See the answer below!

댓글을 달려면 로그인하십시오.

Stephen23
Stephen23 2019년 2월 19일

0 개 추천

Use the mfilename function:
M = mfilename();
C = {'Fo','Mn','Ni'};
for k = 1:3
F = sprintf('%s%d_%s.jpg',M,k,C{k})
saveas(fig(1),F)
end

카테고리

도움말 센터File Exchange에서 Workspace Variables and MAT Files에 대해 자세히 알아보기

질문:

2019년 2월 14일

댓글:

2019년 3월 1일

Community Treasure Hunt

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

Start Hunting!

Translated by