What does this error for hist mean?

1 view (last 30 days)
Attempt to execute SCRIPT hist as a function:
/Users/douglasbrenner/Documents/MATLAB/hist.m
Error in extractedge (line 33)
hist(Mean)

Accepted Answer

Image Analyst
Image Analyst on 5 Nov 2016
In extractedge.m you're calling
something = hist(mean);
However there are two very bad things with that.
First, you have a script called hist.m and it's trying to call hist.m and pass it mean, but hist.m is a script, not a function so it cannot take any arguments.
Second, you're either passing the built-in mean() function to your script (bad, unless your m-file is a function that is expecting a function instead of a variable), OR you created a variable called mean, which is very very bad since that would blow away the built-in mean function.
TO FIX:
Rename your hist.m to something like hist_test.m. And in extractedge.m do something like
thisMean = mean(someVector);
hist_test;
Now if you want to pass thisMean to hist_test.m, then you need to make hist_test.m a function instead of a script and you can do this by adding a function line with the name of the m-file. So the first line would be this:
function hist_test(theMean)
% Then somehow do something with theMean in the function.

More Answers (1)

Douglas Brenner
Douglas Brenner on 5 Nov 2016
Got it. hist.m is now myhist.m

Tags

Community Treasure Hunt

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

Start Hunting!