How to use multiple variables in a name structure
Afficher commentaires plus anciens
Hello,
a simple question please answer or show me a help file - I can't find it:
I get a filename
fig_name = [name, '_PLL.png'];
and get
'001_m1_60_const_20200611_200515_PLL.png'
now, I want have more variable in my fig_name, to get:
'001_m1_60_const_20200611_200515_SNR_1_PLL.png'
'001_m1_60_const_20200611_200515_SNR_2_PLL.png'
'001_m1_60_const_20200611_200515_SNR_3_PLL.png'
...
'001_m1_60_const_20200611_200515_SNR_N_PLL.png'
I tried allready with:
fig_name = [name,'_SNR_',SNR,'_PLL.png']
but I get just:
fig_name = '001_m1_60_const_20200611_200515_SNR__PLL.png'
What is wrong? What is a rule to create a names with usin of variables?
Thank you!
Réponses (2)
madhan ravi
le 23 Juin 2020
compose('001_m1_60_const_20200611_200515_SNR_%d_PLL.png', (1:3).')
5 commentaires
Nik Rocky
le 23 Juin 2020
Image Analyst
le 23 Juin 2020
Or for those of us who prefer sprintf():
for k = 1 : SNR
fig_name = sprintf('%s_SNR_%d_PLL.png', name, k)
end
madhan ravi
le 23 Juin 2020
Thank you sir Image Analyst.
Nik Rocky
le 23 Juin 2020
The most efficient approach is to use sprintf (and is what experienced MATLAB users would do):
for k = ...
fig_name = sprintf('%s_SNR_%u_PLL.png',name,k);
...
end
You should avoid using i as a variable name, as this shadows the inbuilt imaginary unit i.
7 commentaires
madhan ravi
le 23 Juin 2020
Note using i as a variable is not recommended.
Nik Rocky
le 23 Juin 2020
"Note using i as a variable is not recommended."
Stephen23
le 23 Juin 2020
%s = string ?
%u = uint/value ?
Correct. Read more about the format options here:
Nik Rocky
le 23 Juin 2020
Stephen23
le 23 Juin 2020
What you showed is a table for C's sprintf, apparently copied from here:
It supports a different set options than MATLAB's sprintf, although there is some overlap.
To know what options MATLAB's sprintf supports, refer to the MATLAB documentation:
Nik Rocky
le 23 Juin 2020
Catégories
En savoir plus sur Tables dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
