MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
Asked by Alfonso on 27 Jul 2011

Hey everyone, I am a student learning how to use matlab. I cannot find out to add labels to my bar graphs in my text or matlab's help section.

currently my code is:

bar(years,per_year_growth) title('Total forest') xlabel('Years') ylabel('Acres Per Year')

This works for most plots but not the bar graph. Any help is appreciated. Thanks.

EDIT:

Posting my full program so this is easier to understand.

years=0:20; total_forest = zeros(21,1); per_year_growth = zeros(21,1); total=14000; uncut=2500; rate=0.02; output = zeros(3,21); total_forest(1) = uncut; for n = 1:20 total_forest(n+1) = uncut*((1+rate)^n); end per_year_growth(1) = 0;

for n = 1:20 per_year_growth(n+1) = total_forest(n+1) - total_forest(n); end output(1,:) = years; output(2,:) = total_forest; output(3,:) = per_year_growth;

disp('Years Total Acres Acres Grown Per Year') fprintf('%f %f %f\n',output)

bar(years,per_year_growth) title('Total forest') xlabel('Years') ylabel('Acres Per Year')

The specific error I get is:

??? Index exceeds matrix dimensions.

Error in ==> hmwk9_pace at 69 xlabel('Years')

Line 69 is "xlabel('Years')" w/o quotes of course.

*No products are associated with this question.*

Answer by Fangjun Jiang on 27 Jul 2011

I ran your code without any problem. The error message indicates that you might have a variable called xlabel. Check your worksapce.

>> xlabel=1:10 xlabel = 1 2 3 4 5 6 7 8 9 10 >> xlabel('Years') ??? Index exceeds matrix dimensions. >> which xlabel -all xlabel is a variable. C:\Program Files\MATLAB\R2010b\toolbox\matlab\graph2d\xlabel.m % Shadowed

Answer by the cyclist on 27 Jul 2011

This worked for me:

years = rand(3,4);

bar(years) title('Total forest') xlabel('Years') ylabel('Acres Per Year')

Answer by Paulo Silva on 27 Jul 2011

I works just fine, you might be doing something else that's affecting the axes, try to run it after

cla reset

Also try this code

x = -2.9:0.2:2.9; bar(x,exp(-x.*x),'r') title('Total forest') xlabel('Years') ylabel('Acres Per Year')

## 2 Comments

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/12541#comment_27794

What do you mean?

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/12541#comment_27832

The full code you posted works perfectly well for me. I suggest you try restarting MATLAB, and see if that helps.

Also, maybe try "which xlabel" to make sure you don't have some function of your own lurking somewhere, that you defined. The function should be in your_matlab_directory/toolbox/matlab/graph2d/xlabel.m