2017-01-30 3 views
1

Я хочу создать html-файл для печати раздаточного материала со всеми функциями в одной папке. Есть ли способ программно получить доступ к каждой функции, чтобы подготовить ввод строки?Сохраните функцию в переменной в MATLAB

я думал что-то вдоль линий фиктивного getfunchelp() в программе, как это:

Functions=dir('*.m'); 

fid = fopen('FunctionSummary.htm','a'); 
fprintf(fid, ['<HTML><HEAD><TITLE> Function Summary </TITLE>\n']); 

for ii=1:length(Functions) 

    FunctionName=Functions(ii).name; 
    FunctionHelp=getfunchelp(FunctionName); % <= This one over here 

    fprintf(fid, ['<H2>',FunctionName,'</H2>']); 
    fprintf(fid, ['\n<BR><i>',FunctionHelp,'</i> ']); 
    %... 

end 

fclose(fid); 

Или есть лучший способ сделать это? (Может publish() добиться этого проще без печати остальной части коды функции?)

+1

Это зависит от того, как определяется функция помощи. Есть два способа. Одна из них - это в основном первые N строк с '%'. Это создает функции с помощью очень «основного» форматирования. Другой - форматирование 'html' (например, встроенная функция MATLAB). Чтение первого файла так же просто, как открытие файлов .m и строк чтения, в которых нет начального '%'. Второй может быть более сложным. –

+0

Спасибо, это тоже работает, но я рад узнать, что немного о help() – McMa

ответ

5

Вы можете использовать вывод help предоставить текст-версию документации функции в

helpstr = help(Functions(ii).name); 

Он также может быть стоит посмотреть в custom documentation, потому что есть много методов, уже встроенных в MATLAB для отображения справки для ряда функций в чистом виде.

+0

Это было так просто, и я этого не осознавал ... в моей защите я действительно искал «помощь помощи» и ничего не видел он имеет выходное значение: D Спасибо – McMa

+1

@McMa Да, в документации, к сожалению, явно не указано. – Suever

Смежные вопросы