
Estou usando o Windows7 e o Matlab R2013a no meu PC. Acho impossível copiar/colar no Matlabajuda da janelaounavegador de ajuda:
então eu clicoObter endereço da páginae copie o comando:
web([docroot '/matlab/ref/plot.html'])
e adicione arg '-browser'
para mostrar o arquivo doc local no navegador do meu sistema:
>> web([docroot '/matlab/ref/plot.html'], '-browser')
no entanto, isso é bastante problemático! Existe alguma maneira de mostrar o arquivo de documentos locais convenientemente no meunavegador do sistemaquando pressiono F1? Obrigado antecipadamente ;)
Responder1
Eu lutei com essa questão e acho que posso ter encontrado o que você está procurando. Você pode conseguir o seguinte criando um atalho no MATLAB e codificando lá. Rotule-o com o nome desejado e então você pode executá-lo simplesmente clicando nele.
Em relação ao código, devo dizer que usei estratégias pouco convencionais, mas muito eficientes e só testei em Windows, mas você poderia fazer isso em sistemas Unix também, alterando a implementação específica.
Solicite ao usuário que insira a documentação desejada:
helpdoc=input('Input the doc file: ','s');
Em seguida, execute um comando do sistema (DIR) para localizar o arquivo .html usado pela documentação do Matlab. Como o diretório de documentação padrão está disponível na função docroot, pode-se obter a string que deve ser passada para a função do sistema no Matlab, concatenando o comando dir da seguinte forma:
DirCmd=['dir /s /b "',docroot,'\',helpdoc,'html'];
As opções /s /b são usadas para procurar o arquivo .html em todos os subdiretórios do docroot e mostrar o conteúdo vazio (caminho completo do arquivo). Você pode obter mais informações aqui:https://isc.sans.edu/diary/Finding+Files+and+Counting+Lines+at+the+Windows+Command+Prompt/2244
[Status,CmdOut]=system(DirCmd);
A saída do comando do sistema emitida é atribuída a uma matriz de caracteres. Para correspondências múltiplas, é necessário filtrar esse array e separá-lo em caminhos individuais. Para isso pode-se utilizar a função REGEXP com a opção de divisão.
Paths=regexp(CmdOut,'.html','split')
Isso retornará uma matriz de células com numel=numel(strings)+1 (uma célula extra é apresentada com conteúdo nulo) sem o termo de divisão. Então agora devo concatená-lo com o termo de divisão e abri-lo no navegador do sistema.
for ii=1:numel(Paths)-1; DocWeb=[Paths{ii},'.html']; web(DocWeb,'-browser'); end
Eu testei isso procurando por documento na documentação e levou 0,7266 segundos em meu computador QuadCore 16 Gb RAM para exibir as duas páginas da web no navegador do sistema (Chrome), referentes a doc e doc para caixa de ferramentas matemática simbólica.
Espero que isso ajude, parabéns.