MATLAB Answers

fiko bil
0

How can I change the title of variables ?

Asked by fiko bil
on 15 Nov 2019 at 16:06
Latest activity Edited by the cyclist
on 15 Nov 2019 at 16:31
Hello, I am having problem when I want to change the title of the variables to be seen on the each plot.
for ii=1:length(ending_cell)
HOR=1:options_.irf;
var={'yhat', 'URhat', 'chat', 'what'};
figure
for jj=1:length(var)
for jj=1:length(var)
subplot(2,2,jj)
eval(['irf1.' var{1,jj},ending_cell{1,ii}]);
eval(['irf2.' var{1,jj},ending_cell{1,ii}]);
hold on
plot(HOR,[eval(['irf1.' var{1,jj},ending_cell{1,ii}])],'-k',HOR,[eval(['irf2.' var{1,jj},ending_cell{1,ii}])],'--r','LineWidth',2) ;
axis tight
legend('No labor friction(JQ)','Labor f');
%title(['Output','Unemployment','Consumption','Wage'])
title([var{1,jj}] )
end
end
end
Any idea how I can chnage it ?
Thank you

  2 Comments

ME
on 15 Nov 2019 at 16:17
Can you possibly let us know what exactly you want this to output? This will make it easier for people to help.
Do NOT use eval for accessing fields of a structure, simply use dynamic fieldnames instead:
And of course do NOT access variable names dynamically:
Your code would be a lot simpler, easier to debug,and more efficient if you avoided eval.

Sign in to comment.

Tags

2 Answers

Answer by fiko bil
on 15 Nov 2019 at 16:24

Than you for the reply.
Well, I just simply want to change the name of variables yhat, URhat, chat, what to be Output, Unemployment, Consumption, wage. They need to be appear as the title of the plots I get.
There is no problem for code to work I just wanted to make some changes.
Thank you

  1 Comment

Adam
on 15 Nov 2019 at 16:29
There is no problem for code to work I just wanted to make some changes.
If you have a problem making changes that often implies there is a problem with the code! Easy to use code is also easy to change and understand. I can't understand what on earth your code is doing through all the evals in order to make a suggestion that would, in all likelihood, be trivial with simpler code.

Sign in to comment.


Answer by ME
on 15 Nov 2019 at 16:29

Output=yhat;
Unemployment=URhat;
Consumption=chat;
wage=what;
You can always also use:
clear vars yhat URhat chat what
if you want to remove the duplicates with the old naming.
I may be missing something, so if this isn't what you want then let me know and I'll see what I can do to help.

  0 Comments

Sign in to comment.