Error when computing the mean in Matlab

1 view (last 30 days)
I have a double variable called Num_Firm_An with 3 columns and 60000 rows.
Num_Firm_An=[1994 12 19
1994 13 16
1994 16 12
1994 18 27
1994 19 15]
I tried the following two codes:
Code 1:
mean(Num_Firm_An(:,3))
Code 2:
year=1994:2013
for n=1:length(year)
NFA=Num_Firm_An(Num_Firm_An(:,1)==year(n),:);
m=mean(NFA(:,3));
s=std(NFA(:,3));
NFAmean{n}=m;
NFAstd{n}=s;
end
Code one gives the overall mean throughout the years. Code two should provide a final variable with both means and standard deviations for all the years.
Both codes are giving me the follwoing error: Index exceeds matrix dimensions. And I am not being able to solve it. Can someone help me? Thanks

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 8 Aug 2014
mean([Num_Firm_An{:,3}])
  6 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 8 Aug 2014
If your variable is double, your code is correct. But maybe, you have used the function mean as a variable in your code, rename this variable and try again.
You can check if the variable mean was used ( whos mean)
Try this
clear mean,% to clear the variable mean, you will be able to call the function mean
Num_Firm_An=[1994 12 19
1994 13 16
1994 16 12
1994 18 27
1994 19 15]
mean(Num_Firm_An(:,3))
Maria
Maria on 8 Aug 2014
you are so right. I had a variable called mean that I had created by mistake. Sorry for the time. Thank you so much

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!