Wie zeige ich die lokale Dokumentation von Matlab im Systembrowser an, wenn Sie F1 drücken?

501
zhangxaochen

Ich verwende Windows7 und Matlab R2013a auf meinem PC. Ich finde es unmöglich, in Matlabs Fensterhilfe oder Hilfe-Browser zu kopieren / einfügen : Wie zeige ich die lokale Dokumentation von Matlab im Systembrowser an, wenn Sie F1 drücken? Wie zeige ich die lokale Dokumentation von Matlab im Systembrowser an, wenn Sie F1 drücken?

also klicke ich auf Seitenadresse abrufen und kopiere den Befehl: web([docroot '/matlab/ref/plot.html'])und füge arg hinzu '-browser', um die lokale doc-Datei in meinem Systembrowser anzuzeigen:

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

aber das ist ziemlich lästig! Gibt es eine Möglichkeit, die lokale Docs-Datei bequem in meinem Systembrowser anzuzeigen, wenn ich F1 drücke? Thx im Voraus;)

0

1 Antwort auf die Frage

1
Fringe

Ich habe mit dieser Frage gekämpft und glaube, ich habe gefunden, wonach Sie suchen. Sie können Folgendes erreichen, indem Sie bei MATLAB eine Verknüpfung erstellen und dort kodieren. Beschriften Sie es mit dem gewünschten Namen und Sie können es ausführen, indem Sie einfach darauf klicken.

In Bezug auf den Code muss ich sagen, dass ich unkonventionelle Strategien verwendet habe, die jedoch sehr effizient waren, und ich habe sie nur in Windows getestet. Sie können jedoch auch Unix-Systeme verwenden, indem Sie die spezifische Implementierung ändern.

  1. Fordern Sie den Benutzer auf, die gewünschte Dokumentation einzugeben:

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

Führen Sie dann einen Systembefehl (DIR) aus, um die von der Matlab-Dokumentation verwendete .html-Datei zu finden. Da das Standarddokumentationsverzeichnis über die Funktion docroot verfügbar ist, können Sie die Zeichenfolge abrufen, die an die Systemfunktion in Matlab übergeben werden muss, indem Sie den Befehl dir wie folgt verketten:

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

Die Optionen / s / b werden zum Suchen der .html-Datei in allen Unterverzeichnissen von docroot und zum Anzeigen des bloßen Inhalts (vollständiger Dateipfad) verwendet. Weitere Informationen erhalten Sie hier: https://isc.sans.edu/diary/Finding+Files+and+Counting+Lines+at+the+Windows+Command+Prompt/2244

[Status,CmdOut]=system(DirCmd); 

Die ausgegebene Systembefehlsausgabe wird einem Zeichenfeld zugewiesen. Für mehrere Übereinstimmungen muss das Array gefiltert und in einzelne Pfade getrennt werden. Zu diesem Zweck kann man die REGEXP-Funktion mit der Aufteilungsoption verwenden.

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

Dadurch wird ein Zellenfeld mit numel = numel (Zeichenfolgen) +1 (eine zusätzliche Zelle wird mit null Inhalt dargestellt) ohne den Aufteilungsausdruck zurückgegeben. Jetzt muss ich es mit dem Splitting-Begriff verketten und im Systembrowser öffnen.

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

Ich habe dieses Dokument auf Dokumentensuche in der Dokumentation getestet und es dauerte 0,7266 Sekunden in meinem QuadCore 16-GB-RAM-Computer, um die beiden Webseiten in meinem Systembrowser (Chrome) anzuzeigen, und zwar in Bezug auf Dokument und Dokument für symbolische mathematische Toolbox.

Ich hoffe das hilft, Kudos.