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 Commenti

Star Strider
Star Strider il 12 Mar 2014
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?
John
John il 13 Mar 2014
The file is in the current folder, and shows on the left pane.
which -all myfunc shows the current folder

Accedi per commentare.

Risposte (4)

Azzi Abdelmalek
Azzi Abdelmalek il 12 Mar 2014

1 voto

Check if your function is in the current folder
Sean de Wolski
Sean de Wolski il 13 Mar 2014
Modificato: Sean de Wolski il 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 Commenti

John
John il 14 Mar 2014
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!
John
John il 14 Mar 2014
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!
Image Analyst
Image Analyst il 14 Mar 2014
Try issuing the savepath command after you do those other commands.
Sean de Wolski
Sean de Wolski il 14 Mar 2014
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.

Accedi per commentare.

Image Analyst
Image Analyst il 12 Mar 2014

0 voti

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 Commenti

John
John il 13 Mar 2014
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.
Image Analyst
Image Analyst il 13 Mar 2014
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.

Accedi per commentare.

Terrance Nearey
Terrance Nearey il 1 Apr 2020

0 voti

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).

Categorie

Scopri di più su Programming in Centro assistenza e File Exchange

Tag

Richiesto:

il 12 Mar 2014

Risposto:

il 1 Apr 2020

Community Treasure Hunt

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

Start Hunting!

Translated by