我想在图表的标题中使用变量的名称。我试过这个:
str = sprintf('Spectral analysis - WELCH - %d', X);
但这取X的值,而不是X本身。
有什么想法吗?
答案 0 :(得分:1)
您可以使用inputname
。
您必须创建一个函数才能生效,因为inputname
会将输入变量的名称返回给函数。首先创建一个anonymous function,它接受一个输入x
,并返回所述变量的名称。然后使用您要使用的变量调用此函数:
variable_name = @(x) inputname(1);
str = sprintf('Spectral analysis - WELCH - %s', variable_name(X));
注意,您必须将%d
更改为%s
,因为您需要字符串,而不是数字。
答案 1 :(得分:0)
也许我理解错误的问题,你想要出现变量名而不是变量中的值吗?这样的事情呢?
VariableName = 1:5;
structure = whos
VarName = structure(1).name
CompleteVarName = genvarname(repmat({VarName}, 1, 6), 'VarName');
str=sprintf('Spectral analysis - WELCH - %s ', CompleteVarName{2:6});
>> str
str =
Spectral analysis - WELCH - CompleteVarName1 Spectral analysis - WELCH - CompleteVarName2 Spectral analysis ...