MATLAB Answers

What does this error for hist mean?

2 ビュー (過去 30 日間)
Douglas Brenner
Douglas Brenner 2016 年 11 月 5 日
編集済み: Walter Roberson 2016 年 11 月 5 日
Attempt to execute SCRIPT hist as a function:
/Users/douglasbrenner/Documents/MATLAB/hist.m
Error in extractedge (line 33)
hist(Mean)

  0 件のコメント

サインインしてコメントする。

採用された回答

Image Analyst
Image Analyst 2016 年 11 月 5 日
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 件のコメント

Douglas Brenner
Douglas Brenner 2016 年 11 月 5 日
Thanks. I didn't accept my own answer.

サインインしてコメントする。

その他の回答 (1 件)

Douglas Brenner
Douglas Brenner 2016 年 11 月 5 日
Got it. hist.m is now myhist.m

  1 件のコメント

Image Analyst
Image Analyst 2016 年 11 月 5 日
That wasn't the only problem. See my answer.

サインインしてコメントする。

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by