What does this error for hist mean?

4 views (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.
  1 Comment
Douglas Brenner
Douglas Brenner on 5 Nov 2016
Thanks. I didn't accept my own answer.

Sign in to comment.

More Answers (1)

Douglas Brenner
Douglas Brenner on 5 Nov 2016
Got it. hist.m is now myhist.m
  1 Comment
Image Analyst
Image Analyst on 5 Nov 2016
That wasn't the only problem. See my answer.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by