
Я использую Windows7 и Matlab R2013a на моем ПК. Я не могу скопировать/вставить в Matlabпомощь с окномилипомощь браузер:
поэтому я нажимаюПолучить адрес страницыи скопируйте команду:
web([docroot '/matlab/ref/plot.html'])
и добавьте arg '-browser'
, чтобы отобразить локальный файл doc в моем системном браузере:
>> web([docroot '/matlab/ref/plot.html'], '-browser')
но это довольно хлопотно! Так есть ли способ удобно показать файл локальных документов в моемсистемный браузеркогда я нажимаю F1? Спасибо заранее ;)
решение1
Я боролся с этим вопросом и, кажется, нашел то, что вы ищете. Вы можете добиться следующего, создав ярлык в MATLAB и кодируя там. Назовите его желаемым именем, а затем вы можете запустить его, просто щелкнув по нему.
Что касается кода, должен сказать, что я использовал нетрадиционные, но очень эффективные стратегии, и я тестировал их только в Windows, но вы можете сделать это и в системах Unix, изменив конкретную реализацию.
Предложите пользователю ввести желаемую документацию:
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')
Это вернет массив ячеек с numel=numel(strings)+1 (дополнительная ячейка представлена с нулевым содержимым) без термина разделения. Так что теперь мне нужно объединить его с термином разделения и открыть в системном браузере.
for ii=1:numel(Paths)-1; DocWeb=[Paths{ii},'.html']; web(DocWeb,'-browser'); end
Я протестировал это, ища doc в документации, и на моем компьютере с четырехъядерным процессором и 16 ГБ оперативной памяти потребовалось 0,7266 секунды, чтобы отобразить две веб-страницы в моем системном браузере (Chrome), касающиеся doc и doc для набора инструментов символической математики.
Надеюсь, это поможет. Спасибо.