Main Content

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

MuPAD Notebook を MATLAB ライブ スクリプトに変換

メモ

convertMuPADNotebook は将来のリリースで削除される予定です。今後は、MuPAD® Notebook を MATLAB® ライブ スクリプトに変換し、代わりに MATLAB ライブ エディターを使用してください。

MuPAD Notebook を、MATLAB コードを使用する MATLAB ライブ スクリプトに移行します。ライブ スクリプトは対話型の MATLAB コード実行手段です。詳細は、ライブ スクリプトまたはライブ関数とはを参照してください。MuPAD Notebook は、Symbolic Math Toolbox™ を使用してライブ スクリプトに変換されます。詳細は、Symbolic Math Toolbox 入門を参照してください。

MuPAD Notebook .mnMATLAB ライブ スクリプト .mlx への変換

  1. Notebook の準備: この手順はオプションですが、変換エラーおよび変換警告の回避に役立ちます。Notebook に、変換されない MuPAD オブジェクトの変換不能なオブジェクトが含まれているかどうかをチェックします。これらのオブジェクトは変換エラーまたは変換警告の原因になります。

  2. Notebook の変換: convertMuPADNotebook を使用します。たとえば、現在のフォルダーにある myNotebook.mn を同じフォルダーで myScript.mlx に変換します。

    convertMuPADNotebook('myNotebook.mn','myScript.mlx')

    または、現在のフォルダー ブラウザーにある Notebook を右クリックして、[ライブ スクリプトとして開く] を選択します。

  3. エラーまたは警告のチェック: convertMuPADNotebook の出力にエラーまたは警告がないかをチェックします。なければ、手順 7 に進みます。たとえば、この出力は、変換されたライブ スクリプト myScript.mlx4 つのエラーと 1 つの警告があることを意味します。

    Created ''myScript.mlx': 4 translation errors, 1 warnings. For verifying...
     the document, see help.

    変換エラーは変換されたコードが正しく動作しないことを意味します。一方、変換警告はコードを検査する必要があることを示します。コードに含まれるのが警告のみであれば、大体は問題なく実行できます。

  4. 変換エラーの修正: 変換されたライブ スクリプトを、出力内のリンクをクリックして開きます。ERROR を検索してエラーを見つけます。エラーは、どの MuPAD コマンドが正しく変換されなかったかを明らかにします。詳細確認と修正のため ERROR をクリックします。エラーの修正後、エラー メッセージを削除します。変換エラーのリストについては、MuPAD から MATLAB への変換エラーのトラブルシューティングを参照してください。エラーを修正できず、既知の問題 でも解決できない場合は、MathWorks テクニカル サポートに連絡してください。

  5. 変換警告の修正: WARNING を検索して警告を見つけます。警告文は問題を明らかにします。詳細確認と修正のため WARNING をクリックします。コードを変更するか、警告を無視するかを決定します。その後、警告メッセージを削除します。変換警告のリストについては、MuPAD から MATLAB への変換警告のトラブルシューティングを参照してください。

  6. ライブ スクリプトの検証: ライブ スクリプトを開いて、予期しないコマンド、コメント、形式などがないかをチェックします。見やすくするために、補助変数の削除など、変換されたコードを手動で消去しなければならない場合もあります。

  7. ライブ スクリプトの実行: コードが適切に実行され、予想どおりの結果が返されることを確認します。結果が予想に反する場合、MuPAD コードに、以下のリストにある既知の問題がないかをチェックします。

MuPAD グラフィックスの MATLAB グラフィックスへの変換

MuPAD グラフィックスを変換するには、まずグラフィックスを生成した MuPAD プロット コマンドを変換してみてください。これによって、MuPAD と同様、MATLAB でグラフィカル出力が制御できるようになります。グラフィックスを生成した MuPAD コマンドが変換できない場合は、グラフィックスをベクトル形式またはビットマップ形式にエクスポートできます。

既知の問題

これらは、関数 convertMuPADNotebook で、MuPAD Notebook を MATLAB ライブ スクリプトに変換する場合の既知の問題です。問題が記載されていない場合は、MathWorks テクニカル サポートに連絡してください。

変換されない MuPAD オブジェクト

リストを展開すると変換されない MuPAD オブジェクトが表示されます。変換エラーおよび変換警告を回避するには、変換する前に、これらのオブジェクトやコマンドを Notebook から削除します。

 オブジェクトが変換されない

MATLAB 内では自動更新されない

MATLAB では、シンボリック変数に値が代入されても、それらの値を含む式は自動更新されません。

 この問題の修正

MuPAD 内の last(1)MATLABans ではない

MuPAD では、last(1) は常に最終結果を返します。MATLAB では、ans は最後の "代入されていない" コマンドの結果を返します。たとえば、MATLAB では、x = 1 を実行した場合、ans を呼び出すと、1 が返されません。

 この問題の修正

一部の solve の結果が誤ってアクセスされる

MuPAD の solve の結果にアクセスする場合、convertMuPADNotebook は結果が有限セットであると仮定します。一方、結果が非有限セットである場合、コードの変換は誤ったものになります。

 この問題の修正

case 内の break が誤って変換される

MuPAD では、break が switch case の case を終了します。一方、MATLAB では、case の終了に break は必要ありません。したがって、MuPAD の break により、MATLAB に不要な break が挿入されます。また、MuPAD の case で break が抜けていても、MATLAB の case は実行不可にはなりません。

 この問題の修正

一部の MuPAD グラフィックス オプションが変換されない

最もよく使用される MuPAD グラフィックス オプションは変換されますが、変換されないオプションもあります。

 この問題の修正

一部の行列変換が誤って変換される

一部の行列の演算は正しく変換されないものがあります。たとえば、M という行列の場合、MuPAD の exp(M) は、行列指数 expm(M) ではなく、exp(M) へと誤って変換されます。

 この問題の修正

indets の動作が MATLAB 内では異なる

indets は MATLAB の symvar に変換されます。ただし、symvar は、MuPAD の境界変数や PI のような定数識別子を検出しません。

factor の戻り値の型が MATLAB 内では異なる

MuPAD の factor の戻り値の型は MATLAB と等価ではありません。MATLAB の factor の結果に対するそれ以降の演算で、間違った結果が返される可能性があります。

 この問題の修正

レイアウトの問題

  • MuPAD Notebook のフレームは変換されません。

  • MuPAD Notebook のテーブルは変換されません。

  • MuPAD プロットはライブ スクリプトでは対話型になりません。

  • MuPAD Notebook のタイトルや見出しは検出されない場合があります。

  • MuPAD のテキスト属性 underline は変換されません。

  • テキストの書式設定: フォント、フォント サイズおよび色は変換されません。ライブ スクリプト内にあるすべてのテキストは、同じ外観になります。

MATLABMuPAD との間の構文の相違

MATLAB と MuPAD の構文の違いについては、MATLAB 構文と MuPAD 構文の違いを参照してください。