"help" does not work
显示 更早的评论
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
2025-11-4
27 个评论
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
?
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()?
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.
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.
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.
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.
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);
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.
>> 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
I removed the top comment line
>> help myfunction.m
>>
>> which help
C:\Program Files\MATLAB\R2025b\toolbox\matlab\helptools\help.m
>> 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.
>> 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
character vector | string scalar
Examples
Introduced in MATLAB before R2006a
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:
That did not help either! I guess I will try and reinstall MALAB! What a pain!
You checked whether the system requirements for MATLAB R2025b are fulfilled for your computer ?
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!
I have reached out to Tech Support. Let's see if they can help.
If they are successful finding the cause of the problem, please report their solution here to help other MATLAB users with the same problem.
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.
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
In my defense, my "strip" is from the 1990s, while MATLAB's "strip" is from 2016. So, that is why it worked before. :-)
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 的更多信息
另请参阅
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)

