Main Content

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

MuPAD から MATLAB への変換エラーのトラブルシューティング

メモ

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

このページは、MuPAD Notebook を MATLAB ライブ スクリプトに変換する際、関数 convertMuPADNotebook により発生するエラーのトラブルシューティングに役立ちます。変換の手順については、MuPAD Notebook を MATLAB ライブ スクリプトに変換を参照してください。警告のトラブルシューティングについては、MuPAD から MATLAB への変換警告のトラブルシューティングを参照してください。

エラー メッセージ詳細推奨事項
No equivalent code in MATLAB.

convertMuPADNotebook が MATLAB で対応する機能を見つけることができません。

MATLAB 言語で表現できる機能のみを使用するようにコードを調整します。あるいは、ターゲットの .mlx ファイルにおいて、いくつかの機能、たとえば統計の機能やファイル入出力の機能を、MATLAB の機能に置き換えることができます。

Unable to translate the second and higher derivatives of Airy functions.Express these derivatives in terms of Airy functions and their first derivatives.

MATLAB 関数 airy は、第 1 種と第 2 種のエアリー関数およびそれらの 1 次導関数に相当します。MuPAD では、airyAi(z,n) および airyBi(z,n) がエアリー関数の 2 次以上の導関数を代替できます。つまり、n は 1 より大きい可能性があります。

エアリー関数の 2 次以上の導関数をエアリー関数およびそれらの 1 次導関数で書き換えます。続いて、結果を MATLAB コードに変換します。

MuPAD 関数 airyAi および airyBi は、エアリー関数およびそれらの 1 次導関数で結果を返します。2 次以上の導関数を MuPAD の出力で置き換えた後、コードを MATLAB 向けに変換できます。

Unable to translate assignment to MuPAD environment variable.

環境変数とは、MuPAD アルゴリズムの動作に影響する HISTORYLEVELORDER などのグローバル変数です。

場合によっては、関数 taylor の呼び出しでの Order の値の設定など、関数呼び出しごとに名前と値のペアの引数を使用できます。

それ以外の場合には、適切な置き換え方法がありません。グローバル設定が不要になるようにコードを調整します。

Unable to translate assignments to the remember table of a procedure.

MuPAD は、特にプロシージャの再帰的な呼び出しを使用している場合に、"記憶テーブル" を使用して計算を高速化します。プロシージャ呼び出しの引数は記憶テーブルのエントリのインデックスとして、対応する結果はこれらのエントリの値として保存されます。前の呼び出しと同じ引数を使用してプロシージャを呼び出すと、MuPAD はそのプロシージャの記憶テーブルにアクセスします。記憶テーブルに必要な引数に対応するエントリが含まれている場合、MuPAD はそのエントリの値を返します。

MATLAB では、オプション remember または prog::remember で作成された記憶テーブルを使用できません。

記憶テーブルを使用しないようにコードを調整します。

Unable to translate assignments to slots of domains and function environments.

MuPAD では、関数 slot は、データ型 (domains) のメソッドおよびエントリ、または環境関数 (ドメイン タイプ DOM_FUNC_ENV) の属性を定義します。これらのメソッドおよびエントリ (スロット) を使用すると、独自の領域および関数環境でシステム関数をオーバーロードできます。

MATLAB では、領域、関数環境およびそれらのスロットを使用できません。

領域および関数環境のスロットへの代入を使用しないようにコードを調整します。

Unable to translate explicitly given coefficient ring.

MuPAD では、演算式で表現できない特別な係数環を使用できます。MATLAB では、多項式の係数環を指定できません。

特別な環上の多項式を使用しないようにコードを調整します。

Unable to translate complexInfinity.

MuPAD は、値 complexInfinity を使用します。MATLAB では、この値を使用できません。

complexInfinity を使用しないようにコードを調整します。

Unable to translate MuPAD code because it uses an obsolete calling syntax.

MuPAD の構文が変更されたため、現在サポートされていない旧式の構文がコードで使用されています。

MATLAB 言語で表現できる機能のみを使用するようにコードを調整し、convertMuPADNotebook を再度実行します。

Unable to translate a call to the function 'D' with more than one argument.

D の最初の引数のインデックスは MATLAB の変数名に変換できません。

D の代わりに、MuPAD の diff 関数を使用します。

Unable to translate MuPAD domains, or commands to create domains or their elements.

MuPAD では、領域がデータ型を表します。MATLAB では、これらを使用できません。

領域およびそれらの要素を作成したり明示的に使用したりしないようにコードを調整します。

Unable to translate the MuPAD environment variable ''{0}''.

環境変数とは、MuPAD アルゴリズムの動作に影響する HISTORYLEVELORDER などのグローバル変数です。

MATLAB では MuPAD 環境変数を使用できないため、convertMuPADNotebook はこの環境変数を変換できません。

MuPAD 環境変数へのアクセスが不要になるようにコードを調整します。

Unable to translate function calls with expression sequences as input arguments.

MuPAD では、関数呼び出し f(x) (xn 個の一連のオペランド) が n 個の引数による呼び出しへと解決されます。

MATLAB では、式シーケンスを使用した関数呼び出しを、複数の引数を使用した呼び出しに解決することができません。

入力引数に式シーケンスを使用した関数呼び出しを含まないようにコードを調整します。

Unable to translate infinite sets.

MuPAD では、無限集合が認識されます。たとえば、MuPAD の関数 solve は解を無限集合として返すことができます。solve(sin(x*PI/2) = 0, x) は、{2k|k} を返します。このような集合は、Dom::ImageSet を使用して作成できます。

MATLAB では、無限集合がサポートされていません。

無限集合を入力として使用しないようにコードを調整します。

Unable to translate a call accessing previously computed results.The MATLAB ans function lets you access only the most recent result.

MuPAD 関数 last およびそのショートカット % を使用すると、内部の MuPAD 履歴テーブルに保存されている最新の 20 個のコマンドにアクセスできます。

MATLAB では、ans を使用して最新の 1 つのコマンドにのみアクセスできます。

last または % に依存するのではなく代入を使用するようにコードを調整します。

Unable to translate the variable "{0}" representing a MuPAD library.

ライブラリには、MuPAD のほとんどの機能が含まれています。各ライブラリには、特定のタイプの数学上の問題を解くための一連の関数が含まれています。MuPAD ライブラリ関数は MATLAB コードに変換されますが、ライブラリ自体は変換されません。

MuPAD ライブラリ名を識別子として使用しないようにコードを調整します。

Unable to map a function to objects of this class.

このクラスのオブジェクトの等価表現は MATLAB にありません。このマッピングは変換できません。

ターゲット .mlx ファイルで、ループを記述してマッピングを実装します。

Unable to translate this form of matrix definition.

MuPAD には、行列を作成するいくつかの方法が用意されています。配列、要素のリスト、入れ子にされた行のリスト、またはテーブルから行列を作成できます。また、A[i1,j1] = value1A[i2,j2] = value2 などのように非ゼロのエントリのみを指定して、行列を作成することもできます。

これらの方法のいくつかは、MATLAB コードに変換できません。

配列、要素のリストまたは入れ子にされた行のリストを使用して行列を定義するようにコードを調整します。

Cannot translate division with respect to several variables.

複数変数の多項式の除算は MATLAB では行えません。

複数変数の多項式の除算を行わないようにコードを調整します。

Unable to translate nested indexed assignment.

入れ子にされたインデックス付きの代入は MATLAB では使用できません。

入れ子にされたインデックス付きの代入を多重代入に置き換えます。

Unable to create a polynomial from a coefficient list.

与えられた係数のリストからの多項式の作成を変換できません。

poly への最初の引数をリストではなく数式にしてください。

Unable to translate nontrivial procedures.

MuPAD では、繰り返し実行するコードについて、proc コマンドを使用してプロシージャを作成できます。

convertMuPADNotebook は、簡単なプロシージャを無名関数に変換できます。簡単なプロシージャとは、ループ、代入、複数のステートメント、または内部関数が外部関数の変数にアクセスする入れ子関数が含まれないプロシージャです。

より複雑なプロシージャは、MATLAB コードに変換できません。

複雑なプロシージャを使用しないようにコードを調整します。

Unable to translate the global table of properties.

convertMuPADNotebook は、MuPAD のプロパティのグローバル テーブル PROPERTIES を変換できません。これは、MATLAB ではこの機能を使用できないためです。

シンボリック変数の仮定の使用に説明されているように、仮定を設定します。

Unable to create random generators with individual seed values.

MuPAD では、各乱数発生器に対してシード値を個別に設定できます。MATLAB では、すべての乱数発生器に対して 1 つのシード値を使用します。詳細については、rng を参照してください。

それぞれの乱数発生器の個々のシード値に依存しないようにコードを調整します。

Unable to translate target ''{0}'' for MATLAB function ''rewrite''.

MuPAD 関数 rewrite は、次のターゲット関数で式を書き換えます。andorarccosarccosharccotarccotharcsinarcsinharctanarctanhargbernoullicoscoshcotcothdiffDerferfcerfiexpfactgammaharmonicheavisideinverfinverfclambertWlnmaxminpiecewisepsisignsinsincossinhsinhcoshtantanh

MATLAB 関数 rewrite では、より少ない、以下のターゲットがサポートされています。explogsincossincostancotsqrtheavisideasinacosatanacotsinhcoshtanhcothsinhcoshasinhacoshatanhacothpiecewise

MATLAB で使用可能なターゲット オプションを使用するようにコードを調整します。必要に応じて、異なるターゲット オプションを使用する rewrite の一連の関数呼び出しを使用します。

Unable to translate slots of domains and function environments.

MATLAB では、スロットと領域を使用できません。

スロットどトメインを使用しないようにコードを調整します。

Unable to substitute only one occurrence of a subexpression.

出現が 1 回のみの部分式の代入は MATLAB ではできません。

ターゲット .mlx ファイルで、関数 children で式を分割することで部分式を得てから、関数 subs で代入してください。

Syntax error in MuPAD code.

MuPAD コードに、大かっこの欠落などの構文エラーがあります。

変換する MuPAD コードをチェックして修正します。

Test environment of MuPAD not available in MATLAB.

MuPAD のテスト環境は MATLAB で提供されていません。

MuPAD テスト環境を使用しないようにコードを調整します。

Unknown domain or library "{0}".

ほとんどの場合、変換できないカスタムの領域やライブラリが使用されています。

変換する MuPAD コードをチェックして修正します。

Unknown MuPAD function "{0}".

MuPAD では、この関数を使用できません。

変換する MuPAD コードをチェックして修正します。

Unable to translate calls to the function ''{0}''.

この関数は有効な MuPAD 関数ですが、関数呼び出しが無効です。たとえば、入力引数の数や引数の型が間違っている可能性があります。

変換する MuPAD コードをチェックして修正します。

Unable to translate calls to functions of the library ''{0}''.

MuPAD ではこのライブラリの関数を使用できますが、MATLAB には対応する関数がありません。

このライブラリの関数を使用しないようにコードを調整します。

MuPAD function ''{0}'' cannot be converted to function handle.

MuPAD 関数に MATLAB と等価な関数ハンドルがありません。

MATLAB と等価な内容の関数を使用するようにコードを調整します。

Unable to translate option ''{0}''.

ほとんどの場合、MuPAD ではこのオプションを使用できますが、MATLAB には対応するオプションがありません。

このオプションを使用しないようにコードを調整します。

Unable to translate MuPAD code because it uses invalid calling syntax.

ほとんどの場合、MuPAD コード内の関数呼び出しにエラーがあります。

変換する MuPAD コードをチェックして修正します。