Use the variable of function for title of a figure

1 view (last 30 days)
Hi,
I want to use the variable of my function which is a structure as the title of a figure. For example I do :
a = fullplot ( name_struc)
%The function is defined as :
function [] = fullplot(struc)
e = struc.xaxis
s = struc.yaxis
plot(e,s)
title ( ' XXX ' )
end
Instead of the 'XXX' i want to put 'name_struc'.
I tried with inputname(1) but this return 'struc' and not 'name_struc' .
Can someone help me please ?
Thank you

Accepted Answer

Image Analyst
Image Analyst on 14 Sep 2020
Edited: Image Analyst on 14 Sep 2020
This seems to work fine:
name_struc.xaxis = 1:20;
name_struc.yaxis = rand(1, 20);
a = fullplot ( name_struc)
%The function is defined as :
function a = fullplot(struc)
e = struc.xaxis
s = struc.yaxis
plot(e,s)
title (inputname(1), 'Interpreter', 'none', 'FontSize', 20)
a=1; % Some output.
end
You see, it has a title of name_struc, not struc.
  2 Comments
Simon Rinn
Simon Rinn on 14 Sep 2020
Yes you are right the mistake come from me.
Thank you very much for this very quick answer.

Sign in to comment.

More Answers (1)

Fangjun Jiang
Fangjun Jiang on 14 Sep 2020
Are you sure? put inputname(1) inside the function. It should show name as "MyStruct" if you call it with fullplot(MyStruct)

Categories

Find more on Function Handles in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!