How do I redirect "help" output to text file within iterative loop?

1 view (last 30 days)
Hello,
I would like to execute "help fxn_name{jj}" from with a loop and redirect all output to a text file.
Below is an excerpt of my code. fid_in is a report from depfun() that has a list of "m-files". I want to read each member of the list and execute "help" on that function, then write name and the corresponding "help" info to fid_out.
This sets up depfun properly:
[list,builtins,classes,prob_files,~,eval_strings,called_from] = depfun(fun,'-toponly','-print',ofilename);
I use outputs of depfun to perform the following:
for jj=1:numfiles,
tline=fgetl(fid_in) %processing already done to remove unneeded info.
fxn_name{jj}=tline(lastslash+1:end);
fxn_name_path{jj}=which(fxn_name{jj});
fxn_name_index{jj}=num2str(find(ismember(list,fxn_name_path{jj})));
fprintf(fid_out,'%i',str2num(fxn_name_index{jj}));
fprintf(fid_out,' %s',fxn_name{jj});
str=['help ' fxn_name{jj}];
fprintf(fid_out,'%s',eval(str));
end
MATLAB's "help" command is unique and seems to be the source of my problem.
Suggestions?

Accepted Answer

Walter Roberson
Walter Roberson on 21 Feb 2014
You should be using evalc() rather than eval()

More Answers (1)

Derek
Derek on 21 Feb 2014
Edited: Walter Roberson on 21 Feb 2014
You are correct, but can you tell me why I get <strong> and </strong> inserted?
For example, one line of the text file should read:
function [out, hp]=Mlsm_modulator(bitseq,BAUD,os,BW_par,plt)
but it reads:
function [out, hp]=<strong>Mlsm_modulator</strong>(bitseq,BAUD,os,BW_par,plt)
Notice the insertion of <strong> and </strong>>.
Is this a fluke of evalc() or is this a result of my poor implementation of fprintf formatting?
Derek
  2 Comments
Walter Roberson
Walter Roberson on 21 Feb 2014
"help" is putting the strong in there. You can see it when you use "help" at the command line. evalc() is capturing exactly what help() is writing.
Time to break out the regexprep()
It appears that <strong> is obeyed anywhere in console output. I have not tracked to see what else is obeyed.

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!