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

0

Estou usando o Windows7 e o Matlab R2013a no meu PC. Acho impossível copiar / colar na ajuda da janela do Matlab ou navegador de ajuda :

, clique em Obter endereço da página e copie o comando: web([docroot '/matlab/ref/plot.html']) e adicione arg '-browser' para mostrar o arquivo doc local no navegador do sistema:

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

mas isso é muito problemático! Então, existe alguma maneira de mostrar o arquivo docs local convenientemente no meu navegador do sistema quando eu pressionar F1? Thx antecipadamente;)

    
por zhangxaochen 21.04.2015 / 04:35

1 resposta

1

Eu lutei com essa questão e acho que encontrei o que você está procurando. Você pode conseguir o seguinte criando um atalho no MATLAB e codificando lá. Etiquete-o com o nome que você deseja e então você pode executá-lo simplesmente clicando nele.

Com relação ao código, devo dizer que usei estratégias não convencionais, mas muito eficientes, e só testei no Windows, mas você também pode fazer isso com sistemas Unix, alterando a implementação específica.

  1. Solicite ao usuário para inserir 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 a partir da 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 nu (caminho completo do arquivo). Você pode obter mais informações aqui: link

[Status,CmdOut]=system(DirCmd);

A saída do comando do sistema emitida é atribuída a uma matriz de caracteres. Para múltiplas correspondências, é preciso filtrar essa matriz e separar em caminhos individuais. Para esse fim, pode-se usar a função REGEXP com o 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 spliting. Então agora eu preciso concatená-lo com o termo spliting 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 doc na documentação e demorei 0,7266 segundos no meu computador QuadCore 16Gb RAM para exibir as duas páginas da web no navegador do sistema (Chrome), referentes a doc e doc para caixa de ferramentas simbólica.

Espero que isso ajude, Kudos.

    
por 30.04.2015 / 13:35