Я использую Windows7 и Matlab R2013a на моем ПК. Я считаю, что невозможно скопировать / вставить в окно справки или справки браузера Matlab:

поэтому я нажимаю « Получить адрес страницы» и копирую команду:web([docroot '/matlab/ref/plot.html']) и добавляю arg '-browser' чтобы показать локальный файл документа в моем системном браузере:

>> web([docroot '/matlab/ref/plot.html'], '-browser')

но это довольно хлопотно! Так есть ли способ удобно показать локальный файл документации в моем системном браузере, когда я нажимаю F1? Спасибо заранее;)

1 ответ1

1

Я боролся с этим вопросом и думаю, что, возможно, нашел то, что вы ищете. Вы можете добиться следующего, создав ярлык в MATLAB и написав там код. Пометьте его именем, которое вы хотите, и затем вы можете запустить его, просто нажав на него.

Что касается кода, я должен сказать, что я использовал нетрадиционные, но очень эффективные стратегии, и я тестировал их только в Windows, но вы можете сделать это и в системах Unix, изменив конкретную реализацию.

  1. Предложите пользователю ввести желаемую документацию:

    helpdoc=input('Input the doc file: ','s');

Затем выполните системную команду (DIR), чтобы найти файл .html, который используется в документации Matlab. Поскольку каталог документации по умолчанию доступен из функции docroot, можно получить строку, которая должна быть передана системной функции в Matlab, объединяя команду dir следующим образом:

DirCmd=['dir /s /b "',docroot,'\',helpdoc,'html'];

Параметры /s /b используются для поиска файла .html во всех подкаталогах docroot и для отображения чистого содержимого (полного пути файла). Вы можете получить больше информации здесь: https://isc.sans.edu/diary/Finding+Files+and+Counting+Lines+at+the+Windows+Command+Prompt/2244

[Status,CmdOut]=system(DirCmd);

Выпущенный системный вывод команды присваивается массиву символов. Для совпадений с множеством нужно отфильтровать этот массив и разделить на отдельные пути Для этого можно использовать функцию REGEXP с опцией разделения.

Paths=regexp(CmdOut,'.html','split')

Это вернет массив ячеек с цифрой = цифра (строки)+1 (дополнительная ячейка представлена с нулевым содержимым) без разделяющего члена. Так что теперь я должен объединить его с разделительным термином и открыть его в системном браузере.

for ii=1:numel(Paths)-1; DocWeb=[Paths{ii},'.html']; web(DocWeb,'-browser'); end

Я проверил это в поисках документации в документации, и на моем компьютере QuadCore 16 ГБ ОЗУ потребовалось 0,7266 с, чтобы отобразить две веб-страницы в моем системном браузере (Chrome), касающиеся документов и документов для символической математической панели инструментов.

Надеюсь, это поможет, слава.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .