Como mostrar a documentação local do Matlab no navegador do sistema ao pressionar F1?

Como mostrar a documentação local do Matlab no navegador do sistema ao pressionar F1?

Estou usando o Windows7 e o Matlab R2013a no meu PC. Acho impossível copiar/colar no Matlabajuda da janelaounavegador de ajuda: insira a descrição da imagem aqui insira a descrição da imagem aqui

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.

  1. 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.

informação relacionada