このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
MuPAD Notebook を MATLAB ライブ スクリプトに変換
メモ
convertMuPADNotebook
は将来のリリースで削除される予定です。今後は、MuPAD® Notebook を MATLAB® ライブ スクリプトに変換し、代わりに MATLAB ライブ エディターを使用してください。
MuPAD Notebook を、MATLAB コードを使用する MATLAB ライブ スクリプトに移行します。ライブ スクリプトは対話型の MATLAB コード実行手段です。詳細は、ライブ スクリプトまたはライブ関数とはを参照してください。MuPAD Notebook は、Symbolic Math Toolbox™ を使用してライブ スクリプトに変換されます。詳細は、Symbolic Math Toolbox 入門を参照してください。
MuPAD Notebook .mn
の MATLAB ライブ スクリプト .mlx
への変換
Notebook の準備: この手順はオプションですが、変換エラーおよび変換警告の回避に役立ちます。Notebook に、変換されない MuPAD オブジェクトの変換不能なオブジェクトが含まれているかどうかをチェックします。これらのオブジェクトは変換エラーまたは変換警告の原因になります。
Notebook の変換:
convertMuPADNotebook
を使用します。たとえば、現在のフォルダーにあるmyNotebook.mn
を同じフォルダーでmyScript.mlx
に変換します。convertMuPADNotebook('myNotebook.mn','myScript.mlx')
または、現在のフォルダー ブラウザーにある Notebook を右クリックして、[ライブ スクリプトとして開く] を選択します。
エラーまたは警告のチェック:
convertMuPADNotebook
の出力にエラーまたは警告がないかをチェックします。なければ、手順 7 に進みます。たとえば、この出力は、変換されたライブ スクリプトmyScript.mlx
に4
つのエラーと1
つの警告があることを意味します。Created ''myScript.mlx': 4 translation errors, 1 warnings. For verifying... the document, see help.
変換エラーは変換されたコードが正しく動作しないことを意味します。一方、変換警告はコードを検査する必要があることを示します。コードに含まれるのが警告のみであれば、大体は問題なく実行できます。
変換エラーの修正: 変換されたライブ スクリプトを、出力内のリンクをクリックして開きます。
ERROR
を検索してエラーを見つけます。エラーは、どの MuPAD コマンドが正しく変換されなかったかを明らかにします。詳細確認と修正のためERROR
をクリックします。エラーの修正後、エラー メッセージを削除します。変換エラーのリストについては、MuPAD から MATLAB への変換エラーのトラブルシューティングを参照してください。エラーを修正できず、既知の問題 でも解決できない場合は、MathWorks テクニカル サポートに連絡してください。変換警告の修正:
WARNING
を検索して警告を見つけます。警告文は問題を明らかにします。詳細確認と修正のためWARNING
をクリックします。コードを変更するか、警告を無視するかを決定します。その後、警告メッセージを削除します。変換警告のリストについては、MuPAD から MATLAB への変換警告のトラブルシューティングを参照してください。ライブ スクリプトの検証: ライブ スクリプトを開いて、予期しないコマンド、コメント、形式などがないかをチェックします。見やすくするために、補助変数の削除など、変換されたコードを手動で消去しなければならない場合もあります。
ライブ スクリプトの実行: コードが適切に実行され、予想どおりの結果が返されることを確認します。結果が予想に反する場合、MuPAD コードに、以下のリストにある既知の問題がないかをチェックします。
MuPAD グラフィックスの MATLAB グラフィックスへの変換
MuPAD グラフィックスを変換するには、まずグラフィックスを生成した MuPAD プロット コマンドを変換してみてください。これによって、MuPAD と同様、MATLAB でグラフィカル出力が制御できるようになります。グラフィックスを生成した MuPAD コマンドが変換できない場合は、グラフィックスをベクトル形式またはビットマップ形式にエクスポートできます。
既知の問題
これらは、関数 convertMuPADNotebook
で、MuPAD Notebook を MATLAB ライブ スクリプトに変換する場合の既知の問題です。問題が記載されていない場合は、MathWorks テクニカル サポートに連絡してください。
変換されない MuPAD オブジェクト
リストを展開すると変換されない MuPAD オブジェクトが表示されます。変換エラーおよび変換警告を回避するには、変換する前に、これらのオブジェクトやコマンドを Notebook から削除します。
MATLAB 内では自動更新されない
MATLAB では、シンボリック変数に値が代入されても、それらの値を含む式は自動更新されません。
MuPAD 内の last(1)
は MATLAB の ans
ではない
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
は変換されません。テキストの書式設定: フォント、フォント サイズおよび色は変換されません。ライブ スクリプト内にあるすべてのテキストは、同じ外観になります。
MATLAB と MuPAD との間の構文の相違
MATLAB と MuPAD の構文の違いについては、MATLAB 構文と MuPAD 構文の違いを参照してください。