配列ではないようnames
です。その場合、そのように括弧でインデックスを付けると、char 配列ではなく、長さ 1 の cellstr 配列が返されます。引数のいずれかを cellstr として を呼び出すと、cellstr が返されます。ではなくが必要なため、エラーが発生します。cellstr
char
names(2)
strcat
xlsread
char
cellstr
isstr
orischar
を呼び出すだけでなくfilename
、実行するclass(filename)
と、それが何であるかがわかります。
別の手がかりはfilename
、引用符で表示されることです。これは cellstrs の表示方法です。char 配列の場合は、引用符なしで表示されます。
これがnames
当てはまり、cellstr である場合は、{}
インデックスを使用してセルの内容を「ポップアウト」する必要があります。
filename = strcat('Pipeline_BO_2013_',names{2},'_CDBU.xlsx')
またはsprintf
、 を使用することもできます。これは、より読みやすく、異なる型の複数の引数の補間を開始するとより柔軟になります。
filename = sprintf('Pipeline_BO_2013_%s_CDBU.xlsx', names{2})
% An example of more flexibility:
year = 2013;
filename = sprintf('Pipeline_BO_%04d_%s_CDBU.xlsx', year, names{2})