How to "extract" a variable name to a string ?

Hi
I need to make a lot of plot to debug my code.
For this purpose, I have a function that plots the vector I give her as input.
I would like to be able to get the name of the variable I am plotting, extract it in a string and use it to title my plot.
How can I do this in Matlab ?
Thank you for your help.
Illustrative, oversimplified example :
function plottingFct(quantityToPlot)
% Simplified example of what I would like to do
figure
plot(quantityToPlot)
NameOfVariableIPlot=ExtractNameOfVariable(quantityToPlot); % How can I do this ?
title(NameOfVariableIPlot);
end

回答 (5 件)

Alexey Budkov
Alexey Budkov 2022 年 3 月 14 日

2 投票

Try the following:
myvar = 1;
get_myvar_name = @(x) inputname(1);
get_myvar_name(myvar)
Walter Roberson
Walter Roberson 2019 年 3 月 1 日

0 投票

NameOfVariableIPlot = inputname(1);
Note that this will be empty if the input was an expression.
Image Analyst
Image Analyst 2019 年 3 月 1 日

0 投票

Try this: inputname()
Example:
function myfun2(a,b,c)
for m = 1:nargin
disp(['Calling variable ' num2str(m) ' is ''' inputname(m) '''.'])
end
Star Strider
Star Strider 2019 年 3 月 1 日

0 投票

Use the inputname (link) function:
function plottingFct(quantityToPlot)
% Simplified example of what I would like to do
figure
plot(quantityToPlot)
NameOfVariableIPlot=inputname(1); % How can I do this ?
title(NameOfVariableIPlot);
end
Qwerty = rand(1, 10);
plottingFct(Qwerty)
SIVAKUMAR KARURNKARAN
SIVAKUMAR KARURNKARAN 2022 年 12 月 26 日
移動済み: Image Analyst 2022 年 12 月 26 日

0 投票

just use following commend
strjoin(who)

カテゴリ

ヘルプ センター および File ExchangeArgument Definitions についてさらに検索

製品

質問済み:

2019 年 3 月 1 日

移動済み:

2022 年 12 月 26 日

Community Treasure Hunt

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

Start Hunting!

Translated by