What does this error for hist mean?

2 Ansichten (letzte 30 Tage)
Douglas Brenner
Douglas Brenner am 5 Nov. 2016
Bearbeitet: Walter Roberson am 5 Nov. 2016
Attempt to execute SCRIPT hist as a function:
/Users/douglasbrenner/Documents/MATLAB/hist.m
Error in extractedge (line 33)
hist(Mean)

Akzeptierte Antwort

Image Analyst
Image Analyst am 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.

Weitere Antworten (1)

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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by