2016-07-19 10 views
2

Фон Matlab имеет функцию публикации, которая выводит, скажем, .html-файл, на основе синтаксиса комментариев. Разделы, содержащие примерный код, обозначаются символом «%», за которым следуют три пробела. Примерную функцию можно увидеть ниже, а файл .html, сгенерированный функцией публикации, можно увидеть here.Выполнить пример кода в Matlab при публикации функции

function randomImage = GenerateRandomImage(n) 
%% TestFunction 
% generates a random image 
% 
% randomImage = GenerateRandomImage(n) returns an nxn array of random pixels 
% 
%% Example 
% randomImage = GenerateRandomImage(10); 
% figure; imagesc(abs(randomImage)); 

randomImage = rand(n); 
end 

Matlab не будет автоматически оценивать пример кода, если только я не создаю отдельный скрипт с явно недопустимым кодом примера. Пример сценария показан ниже. На этот раз он автоматически включает выходы этого сценария, такие как изображение, созданное в примере скрипта, показанного здесь here.

%% TestFunction 
% generates a random image 
% 
% randomImage = GenerateRandomImage(n) returns an nxn array of random pixels 
% 
%% Example 
    randomImage = GenerateRandomImage(10); 
    figure; imagesc(abs(randomImage)); 

Вопрос Возможно ли функция публиковать автоматически оценивать код snippits в комментариях функции и включают те выходы в HTML файле?

+1

В издательской документации нет ничего конкретного, что ожидается TBH. Это было бы кошмаром, чтобы попытаться правильно сформулировать код. – excaza

+1

Я думаю, что вы, к сожалению, правы. Кажется, единственной альтернативой является создание отдельного скрипта. – ceiltechbladhm

+0

Для тех, кто сочтет это полезным, документацию для комментирования кода и публикации можно найти здесь [http://www.mathworks.com/help/matlab/matlab_prog/marking-up-matlab-comments-for -издательский.html) – ceiltechbladhm

ответ

0

MATLAB издатель явно имел в виду быть выполнены на сценариев, не функционируют файлы, так как его цель состоит в том, чтобы подготовить доклад, в котором отдельные секции (помеченный %%) становятся заголовки, и строки, начинающиеся с %сразу под %% стать описание текст для этого раздела. Все, что следует за после, как строки кода, так и комментариев будет представлено издателем в красивой маленькой коробке в качестве кода, который был запущен для этого раздела, а затем результаты этого кода будут показаны ниже этого поля, но содержащиеся в их разделе.

Ввод кода в поле текст для этого раздела, ожидающий его запуска, является интуитивно понятным. Фактически, единственная причина, по которой вы можете поместить фрагмент кода в описание, - это если вы хотите упомянуть некоторый код без его запуска. По этой причине издатель предоставляет специальный синтаксис (отступ по 2 пробелам для монотипированного текста, 3 пробела для добавления подсветки синтаксиса к вашему коду).

Издатель - отличный инструмент, но, к сожалению, он довольно ограничен. Основное ограничение для меня заключается в том, что вы не можете выбрать, какие разделы кода показывать результаты, а какие нет; это все или ничего. Поэтому вместо гибких отчетов я обычно прибегаю к «латекс + сохраненный шаблон matlab figure + makefile». Но издателю приятно, если вы хотите что-то быстрое и грязное; например это полезно для хранения журнала/дневника вашей работы.

В любом случае, чтобы ответить на ваш вопрос, нет, вы не можете поместить код в описание и ожидать его запуска. Вы также не должны «публиковать» функции; тот факт, что функциональный файл вообще отвечает на публикацию, вероятно, скорее побочный эффект того, как издатель получает больше, чем что угодно.

+0

Извините, я просто получил то, что вы просили точно, в основном вы хотите создать html-страницы для своих функций в качестве документации, и вы хотите, чтобы «Примеры» запускались в конце html-страницы. Ответ - нет, для издателя это не то, что издатель специально для скриптов, поэтому он не обеспечивает такую ​​функциональность. –