No help found for myfunc.m?

I just downloaded 2014a and tested it. It works EXCEPT the help command doesn't work, or at least it doesn't work the way it used to. I have a function like:
function f = myfunc( a, b )
%MYFUNC does cool stuff
%
% f = MYFUNC( a, b )
%
% ...
When I type 'help myfunc', I get the message 'No help found for myfunc.m'.
I went back and tested help under matlab 2012a and it works fine. Did something change in versions 2014a (or 2013*)? Any idea what is going on?

3 Comments

Some of the path creation functions changed starting with in 2013b. (I have a startup.m file that adds all my directories to the MATLAB search path. I had to rewrite parts of it when I installed 2013b and noticed that none of my directories showed up.) I haven’t downloaded 2014a yet, so I don’t know if there have been other changes with it.
What's the output from:
which -all myfunc?
The file is in the current folder, and shows on the left pane.
which -all myfunc shows the current folder

Sign in to comment.

Answers (4)

Azzi Abdelmalek
Azzi Abdelmalek on 12 Mar 2014
Check if your function is in the current folder
Sean de Wolski
Sean de Wolski on 13 Mar 2014
Edited: Sean de Wolski on 13 Mar 2014
Run the following to reset the path in 14a to the default in case you have your own pathdef.m file:
restoredefaultpath
rehash toolboxcache
This fixes the issue.

4 Comments

Thanks, that did it. So this seems to clear the path list settings I had under the previous version of matlab (2012a), which I guess the installer copied, trying to be friendly. I still don't understand why that caused problems. It cleared out exactly the current folder. Why does having the current folder on the path list cause a problem? Whichever way it searches, it is looking at the same folder. Doesn't the current folder always have priority, before what is in the path list. In any case, why does this work differently under 2012a and 2014a?
So, I'm puzzled, but thanks for the solution!
Whoa - when I exit out of matlab and restart, it remembers the current folder on the path list, and I have the same problem. Why do I have to redo this every time I exit matlab????? This is crazy!
Try issuing the savepath command after you do those other commands.
Yes, John, savepath while running MATLAB as an admin (priviledges can be needed sometimes).
As for where myfunc is has nothing to with it, as long as it's on the path. The path that's missing is a folder that help requires internally. Since MATLAB copied your custom pathdef.m file, it did not update some of these folders since it just copied everything over. I know this can be frustrating.

Sign in to comment.

Image Analyst
Image Analyst on 12 Mar 2014
Are you sure you saved the file after you added the help lines and tried the help myfunc command? If you haven't save it yet, it won't see the help lines yet. And are you in the same folder as myfunc or at the very least myfunc is on the search path?

2 Comments

The same file ha been used for over 5 years. Yes, I'm in the same folder. The exact same situation works fine on 2012a.
Well I just copied and pasted your code into a new script and saved it as myfunc.m and typed "help myfunc" on the command line and it worked fine . So, since it's just you John , you'll have to call the Mathworks.

Sign in to comment.

Terrance Nearey
Terrance Nearey on 1 Apr 2020
I was having similar problems with a couple of old functions in a subdirectory with lots of home grown functions.
After reading https://www.mathworks.com/matlabcentral/answers/121218-no-help-found-for-myfunc-m#comment_201719, I decided to try copying and pasting of my own files:
Let's call the problem file 'troubled.m'
When I started, and I typed help troubled, I got only the message "troubled is a function." Then I did the following
  1. Cd'd to directory of troubled.m
  2. Edited it in Matlab Editor
  3. Selected all text and closed the file.
  4. CMND-N for new file (Mac OS X).
  5. Pasted what I'd copied. Saved and OK'ed the overwrite of the troubled.m
  6. Typed help troubled
  7. Help showed up as expected. All was fixed.
Same process worked on several files. Perhaps there are some bad characters in the file that this somehow purges? (The function worked fine both before and after the help problem was solved).

Categories

Tags

Asked:

on 12 Mar 2014

Answered:

on 1 Apr 2020

Community Treasure Hunt

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

Start Hunting!