How to use multiple variables in a name structure

8 ビュー (過去 30 日間)
Nik Rocky
Nik Rocky 2020 年 6 月 23 日
コメント済み: Nik Rocky 2020 年 6 月 23 日
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!

回答 (2 件)

madhan ravi
madhan ravi 2020 年 6 月 23 日
compose('001_m1_60_const_20200611_200515_SNR_%d_PLL.png', (1:3).')
  5 件のコメント
madhan ravi
madhan ravi 2020 年 6 月 23 日
Thank you sir Image Analyst.
Nik Rocky
Nik Rocky 2020 年 6 月 23 日
Yes, thank you!

サインインしてコメントする。


Stephen23
Stephen23 2020 年 6 月 23 日
編集済み: Stephen23 2020 年 6 月 23 日
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 件のコメント
Stephen23
Stephen23 2020 年 6 月 23 日
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
Nik Rocky 2020 年 6 月 23 日
Oh, thank you! Its good to know. than the table is not compatible. Should I better delete it?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLanguage Support についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by