9

MATLAB スクリプトを使用して、マシンの制御システムを調整しています。チューニングが完了したら、テキスト (特にシリアル番号、日付/時刻、およびチューニング中に決定された値) とプロット (特に伝達関数) を含むレポートが必要です。

あなたは何をお勧めしますか?

使用するソリューションは、MATLAB コンパイラと互換性がある必要があるため、ソリューションをフィールド エンジニアのチームに配布できます。

レポートは PDF ドキュメントであることが理想的です。

MATLAB レポート ジェネレーターは適切な製品ではないようです。スクリプトを細かく分割してレポート テンプレートに埋め込む必要があるようです。私のスクリプトには、ユーザーが介入して値を変更したり、プロットが正しく表示されない場合に調整を拒否したりする機会が含まれています。コードがレポート ジェネレーターから実行される場合、これは難しいと思います。また、レポートテンプレートの要件によってコード構造が決まってしまうと、コード構造や保守性が損なわれる恐れがあります。

私の仮定が間違っている場合はコメントしてください。

アップデート

現在、リリース r2016b で MATLAB Report Generator を使用するように切り替えており、コンパイル済みコードのユーザーにとって非常にうまく機能しています。残念ながら、MATLAB ライセンスを持っている同僚は、スクリプト化された私のツールを使用するには Report Generator も購入する必要があります。

4

4 に答える 4

4

MATLAB Report Generator の開発マネージャーとして、この質問が Report Generator の機能について誤った印象を与える可能性があることを懸念しています。

たとえば、Report Generator では、スクリプトを細かく分割してテンプレート内で実行する必要はありません。必要に応じてこれを行うことができます。状況によっては、それが理にかなっている場合もありますが、必須ではありません。実際、多くのレポート ジェネレーター アプリケーションは、MATLAB スクリプトまたはプログラムを使用してユーザーと対話し、MATLAB ワークスペースでデータを生成し、最終ステップとしてワークスペース データからレポートを生成します。

さらに、R2014b バージョン以降、MATLAB Report Generator には DOM API と呼ばれるドキュメント生成 API が付属しており、ドキュメント生成ステートメントを MATLAB プログラムに埋め込むことができます。たとえば、ドキュメント オブジェクトをプログラムで作成し、テキスト、段落、表、画像、リスト、およびサブドキュメントを追加して書式設定し、選択した出力タイプに応じて Microsoft Word、HTML、または PDF 出力を出力できます。Word または HTML エディターを使用して、作成したフォームの空白をプログラムで埋めることもできます。

API は、Windows、Linux、および Mac プラットフォームで実行され、Word を使用せずに、3 つすべてで Word および HTML 出力を生成します。Windows では、内部で Word を使用して、生成した Word ドキュメントから PDF 出力を生成します。

MATLAB Report Generator の最新リリースでは、DOM API と同様の機能を持つ PowerPoint API が導入されています。MATLAB アプリケーションにレポート生成を含める必要がある場合は、過去の印象に基づいて MATLAB Report Generator を除外しないでください。そのパワフルさに驚かれるかもしれません。

于 2015-06-15T16:00:11.953 に答える
3

私はこれをかなりやりました。おっしゃる通り、MATLAB Report Generator は通常、優れたソリューションではありません。@Max は正しいアプローチ (COM インターフェイスを介して Word を自動化する) を提案していますが、私の経験に基づいて、いくつかのコメントとヒントを追加します。

  1. このソリューションを使用する場合は、エンド ユーザーが Windows を実行していて、Office のコピーが自分のマシンにあることに依存していることに注意してください。最終的に PDF レポートを作成する場合は、Office 2010 以降が必要です。
  2. Word ではなく Excel でレポート生成を自動化する方が簡単であることがわかると思います。MATLAB からレポートを作成しているとすれば、Excel でレイアウトしやすい数の表にかなり多くの情報が必要になる可能性があります。
  3. Word で行う場合、最も簡単な方法は、最初に (MATLAB を使用せずに) テンプレートの .doc/.docx ファイルを作成することです。このファイルには、すべてのレポートで同じになる一般的なテキストと、情報の空白のテーブルが含まれます。変更の追跡をオンにし、情報を入力する各ポイントに空のコメントを挿入します。次に、MATLAB のレポート作成ルーチン内で、Word に接続し、各コメントを反復処理して、必要なデータに置き換えます。
  4. MATLAB から Excel を自動化する方法を学習している場合は、Excel 相互運用ドキュメントのこのページが非常に役立ちます。Word 用の同等のものがあります。
  5. @Max とは異なり、図を .emf ファイルに保存してから挿入しても、良い結果が得られたことはありません。理論的には編集可能性は維持されますが、私はそれが価値があるとは思っていません。代わりに、MATLAB で適切に見える (および適切なサイズの) Figure を取得し、それを でクリップボードにコピーし、 でprint(figHandle, 'dbitmap')Excel に貼り付けますWorksheet.Range('A1').PasteSpecial
  6. PDF として保存するには、 を使用しますWorkbook.ExportAsFixedFormat('xlTypePDF', pathToOutputFile)

それが役立つことを願っています!

于 2012-11-22T16:34:32.563 に答える