F1 キーを押したときにシステム ブラウザーに Matlab のローカル ドキュメントを表示するにはどうすればよいですか?

F1 キーを押したときにシステム ブラウザーに Matlab のローカル ドキュメントを表示するにはどうすればよいですか?

私はWindows7とMatlab R2013aをPCで使用しています。Matlabでコピー/貼り付けができないようです。ウィンドウヘルプまたはヘルプブラウザ: ここに画像の説明を入力してください ここに画像の説明を入力してください

クリックするとページアドレスを取得コマンドをコピーし、 web([docroot '/matlab/ref/plot.html'])引数を追加して'-browser'、システム ブラウザーにローカル ドキュメント ファイルを表示します。

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

しかし、それはかなり面倒です!ローカルドキュメントファイルを私のシステムブラウザF1 を押すとどうなるのでしょうか? よろしくお願いします ;)

答え1

私はこの質問に苦労してきましたが、あなたが探しているものを見つけたかもしれません。MATLAB でショートカットを作成し、そこでコーディングすることで、次のことを実現できます。希望する名前でラベルを付けると、それをクリックするだけで実行できます。

コードに関しては、型破りですが非常に効率的な戦略を採用しており、Windows でのみテストしましたが、特定の実装を変更することで Unix システムでも実行できます。

  1. ユーザーに必要なドキュメントを入力するよう促します。

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

次に、システム コマンド (DIR) を実行して、Matlab ドキュメントが使用する .html ファイルを見つけます。デフォルトのドキュメント ディレクトリは docroot 関数から利用できるため、次のように dir コマンドを連結することで、Matlab のシステム関数に渡す必要のある文字列を取得できます。

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

オプション /s /b は、docroot のすべてのサブディレクトリで .html ファイルを検索し、その内容 (ファイルのフルパス) を表示するために使用されます。詳細については、次のサイトを参照してください。https://isc.sans.edu/diary/Windows コマンドプロンプトでファイルを検索して行数をカウントする/2244

[Status,CmdOut]=system(DirCmd);

発行されたシステム コマンド出力は、文字配列に割り当てられます。複数の一致がある場合、その配列をフィルター処理して個別のパスに分割する必要があります。そのためには、分割オプション付きの REGEXP 関数を使用できます。

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

これにより、分割用語なしで、numel=numel(strings)+1 (余分なセルには null コンテンツが表示されます) のセル配列が返されます。そのため、分割用語と連結して、システム ブラウザーで開く必要があります。

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

私はドキュメントでドキュメントを探してこれをテストしましたが、システム ブラウザー (Chrome) でドキュメントに関するものとシンボリック数学ツールボックスのドキュメントの 2 つの Web ページを表示するのに、QuadCore 16Gb RAM コンピューターで 0.7266 秒かかりました。

これが役に立つことを願います。ありがとうございます。

関連情報