Wie wird durch Drücken von F1 die lokale Matlab-Dokumentation im Systembrowser angezeigt?

Wie wird durch Drücken von F1 die lokale Matlab-Dokumentation im Systembrowser angezeigt?

Ich verwende Windows7 und Matlab R2013a auf meinem PC. Ich finde es unmöglich, in Matlab zu kopieren/einzufügenFensterhilfeoderHilfe-Browser: Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben

also klicke ichSeitenadresse abrufenund 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 also eine Möglichkeit, die lokale Docs-Datei bequem in meinemSystembrowserwenn ich F1 drücke? Danke im Voraus ;)

Antwort1

Ich habe mit dieser Frage gekämpft und glaube, ich habe gefunden, wonach Sie suchen. Sie können Folgendes erreichen, indem Sie eine Verknüpfung in MATLAB erstellen und dort codieren. Geben Sie ihr den gewünschten Namen und führen Sie sie dann durch einfaches Klicken aus.

Was den Code betrifft, muss ich sagen, dass ich unkonventionelle, aber sehr effiziente Strategien verwendet habe und ihn nur unter Windows getestet habe. Durch Ändern der spezifischen Implementierung wäre dies jedoch auch auf Unix-Systemen möglich.

  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 .html-Datei zu finden, die die Matlab-Dokumentation verwendet. Da das Standarddokumentationsverzeichnis über die Docroot-Funktion verfügbar ist, kann man die Zeichenfolge abrufen, die an die Systemfunktion in Matlab übergeben werden muss, indem man den Dir-Befehl wie folgt aneinanderreiht:

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

Die Optionen /s /b werden verwendet, um in allen Unterverzeichnissen von Docroot nach der .html-Datei zu suchen und den reinen Inhalt (vollständigen Pfad der Datei) anzuzeigen. Weitere Informationen finden Sie hier:https://isc.sans.edu/diary/Dateien+finden+und+Zeilen+an+der+Windows-Eingabeaufforderung+zählen/2244

[Status,CmdOut]=system(DirCmd);

Die ausgegebene Systembefehlsausgabe wird einem Zeichenarray zugewiesen. Bei mehreren Übereinstimmungen muss dieses Array gefiltert und in einzelne Pfade aufgeteilt werden. Zu diesem Zweck kann die REGEXP-Funktion mit der Aufteilungsoption verwendet werden.

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

Dies gibt ein Zellenarray mit numel=numel(strings)+1 (eine zusätzliche Zelle mit Nullinhalt wird angezeigt) ohne den Teilungsterm zurück. Jetzt muss ich es also mit dem Teilungsterm verketten und im Systembrowser öffnen.

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

Ich habe dies getestet, indem ich in der Dokumentation nach „doc“ gesucht habe, und es dauerte auf meinem QuadCore-Computer mit 16 GB RAM 0,7266 Sekunden, um die beiden Webseiten in meinem Systembrowser (Chrome) anzuzeigen, und zwar „doc“ und „doc for symbolic mathematic toolbox“.

Ich hoffe, das hilft, ein großes Lob.

verwandte Informationen