I noticed this in R2025B. "help <myfunction>" just displays two blank lines, not the comments on top of <myfunction.m>. This m-file is in a directory at the beginning of my path.

 채택된 답변

Matt J
Matt J 2025년 11월 4일

1 개 추천

Possibly help.m is calling a function which you have shadowed. You will probably have to use dbstep to track this, or the equivalent Matlab Editor button:

댓글 수: 27

Ravi
Ravi 2025년 11월 4일
Thanks. When I type "wihch help" I get
C:\Program Files\MATLAB\R2025b\toolbox\matlab\helptools\help.m
seems like the legitimate one. Is it not the right one?
Same for
which help -all
/MATLAB/toolbox/matlab/helptools/help.m
?
Matt J
Matt J 2025년 11월 4일
편집: Matt J 2025년 11월 4일
seems like the legitimate one. Is it not the right one?
It's the right one, but it is not what I was talking about. You have to open help.m and step through the code inside it line by line, until you see it call a function you recognize as one of your own personal mfiles.
It may also be helpful to test help() after activating the debugger with,
>>dbstop if caught error
from the command line.
Do you have the same problem when you use doc()?
Matt J
Matt J 2025년 11월 4일
편집: Matt J 2025년 11월 4일
Another, perhaps easier thing to try is restoredefaultpath, which will set the path back to its default state. Do this and see if help() works normally.
Ravi
Ravi 2025년 11월 5일
편집: Ravi 2025년 11월 5일
Thanks for all your suggestions. Nothing works!
  • There is no error when using "help"
  • It works fine with all functions except those I have defined myself.
  • restoredefaultpath does nothing.
  • "doc <myfunction>" takes forever to return to a prompt. It opens a browser window with blank lines.
  • "doc <matlabfunction>" opens the help for that function in a browser window.
Steven Lord
Steven Lord 2025년 11월 5일
Please attach one such myfunction.m file with which you see this behavior. It's possible, given that you said "It works fine with all functions except those I have defined myself.", that there's something about the way you defined your help text in those files that causes help to display just blank lines.
Please attach the file rather than quoting it here, in case there's some non-printable characters (that appear as blanks / spaces) introduced by say writing the code in Microsoft Word and having it formatted by that program.
Ravi
Ravi 2025년 11월 5일
Here you are. I just created this in the MATLAB editor just to make sure it is a text file.It is in the current directory and I can run it. But "help" returns nothing.
Torsten
Torsten 2025년 11월 5일
편집: Torsten 2025년 11월 5일
Do you get the same output as below if you type
dbtype 'C:\Program Files\MATLAB\R2025b\toolbox\matlab\helptools\help.m'
for the first five lines of "help.m" on your computer ?
dbtype '/MATLAB/toolbox/matlab/helptools/help.m' 1:5
1 function [out, docTopic] = help(varargin) 2 % Help is helpful! 3 cleanup.cache = matlab.lang.internal.introspective.cache.enable; %#ok<STRNU> 4 5 process = matlab.internal.help.helpProcess(nargout, nargin, varargin);
Ravi
Ravi 2025년 11월 5일
편집: Ravi 2025년 11월 5일
Yes I got the same output as you. .
Of course, I had to change the path from your example. I typed:
dbtype 'C:\Program Files\MATLAB\R2025b\toolbox\matlab\helptools\help.m' 1:5.
dbtype 1:10 myfunction.m
1 function [out] = myfunction(in) 2 % 3 %[out] = myfunction(in) 4 % 5 % This is to test out help 6 % 7 % 8 9 out = in; 10
help myfunction
[out] = myfunction(in) This is to test out help
To confirm, this is not the behavior you see on your machine for those two commands? Can you run that on your machine and copy and paste the output into a comment here?
And if you save the file "myfunction.m" as "myfunction.m" in your working directory and type
help myfunction.m
[out] = myfunction(in) This is to test out help
blank lines are displayed - in contrast to what you get here ? Then either there is a second file "help.m" on your MATLAB path or the "help.m" under C:\Program Files\MATLAB\R2025b\toolbox\matlab\helptools\help.m is corrupted.
Ravi
Ravi 2025년 11월 5일
>> dbtype 1:10 myfunction.m
1 function [out] = myfunction(in)
2 %[out] = myfunction(in)
3 %
4 % This is to test out help
5 %
6 %
7
8 out = in;
9
Ravi
Ravi 2025년 11월 5일
I removed the top comment line
Ravi
Ravi 2025년 11월 5일
>> help myfunction.m
>>
Ravi
Ravi 2025년 11월 5일
>> which help
C:\Program Files\MATLAB\R2025b\toolbox\matlab\helptools\help.m
Ravi
Ravi 2025년 11월 5일
>> dbtype help
1 function [out, docTopic] = help(varargin)
2 % Help is helpful!
3 cleanup.cache = matlab.lang.internal.introspective.cache.enable; %#ok<STRNU>
4
5 process = matlab.internal.help.helpProcess(nargout, nargin, varargin);
6 if isnumeric(process.inputTopic)
7 process.inputTopic = inputname(process.inputTopic);
8 end
9
10 try %#ok<TRYNC>
11 % no need to tell customers about internal errors
12
13 process.callerContext = matlab.lang.internal.introspective.IntrospectiveContext.caller;
14
15 process.getHelpText;
16
17 process.prepareHelpForDisplay;
18 end
19
20 if nargout > 0
21 out = process.helpStr;
22 if nargout > 1
23 docTopic = process.docLinks.referencePage;
24 if isempty(docTopic)
25 docTopic = process.docLinks.productName;
26 end
27 end
28 end
29 end
30
31 % Copyright 1984-2023 The MathWorks, Inc.
Ravi
Ravi 2025년 11월 5일
>> help help
help - Help for functions in Command Window
This MATLAB function displays the help text for the functionality
specified by name, such as a function, method, class, toolbox, variable,
or namespace.
Syntax
help name
help
Input Arguments
name - Functionality name
character vector | string scalar
Examples
See also doc, lookfor, more, what, which, whos
Introduced in MATLAB before R2006a
Torsten
Torsten 2025년 11월 5일
편집: Torsten 2025년 11월 5일
What if you copy the function "help.m" from C:\ProgramFiles\MATLAB\R2025b\toolbox\matlab\helptools\ to your working directory and then execute
help("myfunction.m")
[out] = myfunction(in) This is to test out help
? If this doesn't work, I think you will have to reinstall MATLAB R2025b.
If this doesn't work either, contact MATLAB Technical Support:
Ravi
Ravi 2025년 11월 5일
That did not help either! I guess I will try and reinstall MALAB! What a pain!
Torsten
Torsten 2025년 11월 5일
You checked whether the system requirements for MATLAB R2025b are fulfilled for your computer ?
Ravi
Ravi 2025년 11월 5일
As I suspected. I wasted time reinstalling it and it still has the same problem! Yes, the computer supports these requirements. Thanks for your help.
Oh well, maybe somebody from Mathworks can help. I have another computer on which I will install it and see if it has the same problem. Obviously it worked fine for you, so maybe there is something peculiar about this specific computer!
Ravi
Ravi 2025년 11월 5일
I have reached out to Tech Support. Let's see if they can help.
Torsten
Torsten 2025년 11월 6일
편집: Torsten 2025년 11월 6일
If they are successful finding the cause of the problem, please report their solution here to help other MATLAB users with the same problem.
Ravi
Ravi 2025년 11월 7일
They haven't been able to find anything yet. The one thing they asked me to do was to run
>>ver -support
I got this: "Java Version: Java is not enabled" as one of the responses. I wonder if that is a problem? Also, as a test, I installed MATLAB on a completely different computer. A DELL instead of an HP. I got the same issue, i.e., "help" not working for myfunction.
Let's see if Mathworks can get to the bottom of this...
By the way, "doc myfunction" does not show anything. At least when I click on "View code for myfunction.m" I see the function text, which means it is pointing to the right function.
Ravi
Ravi 2025년 11월 14일
이동: Matt J 2025년 11월 14일
Finally figured it out. You all were essentially right. There was another function that was being called by mistake.
I had written a function called "strip" which was in the current directory and was being called. It seemed to be so well written that it funcitoned perfectly and stripped all the output of the "help" function without throwing any errors.
MATHWORKS support did their best to help me. While corresponding with them, I figured this out. Once I removed my "strip" function from the path, "help" is working as expected.
Thanks
Ravi
Ravi 2025년 11월 14일
이동: Matt J 2025년 11월 14일
In my defense, my "strip" is from the 1990s, while MATLAB's "strip" is from 2016. So, that is why it worked before. :-)
Matt J
Matt J 2025년 11월 14일
Finally figured it out. You all were essentially right. There was another function that was being called by mistake.
If so, please Accept-click the answer to indicate to others that this was correct.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Environment and Settings에 대해 자세히 알아보기

제품

릴리스

R2025b

질문:

2025년 11월 4일

댓글:

2025년 11월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by