Maple für Professional
Maple für Akademiker
Maple für Studenten
Maple Personal Edition
Maple Player
Maple Player für iPad
MapleSim für Professional
MapleSim für Akademiker
Maple T.A. - Testen & beurteilen
Maple T.A. MAA Placement Test Suite
Möbius - Online-Courseware
Machine Design / Industrial Automation
Luft- und Raumfahrt
Fahrzeugtechnik
Robotics
Energiebranche
System Simulation and Analysis
Model development for HIL
Anlagenmodelle für den Regelungsentwurf
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematikausbildung
Technik
Allgemein- und berufsbildende Schulen
Testen und beurteilen
Studierende
Finanzmodelle
Betriebsforschung
Hochleistungsrechnen
Physik
Live-Webinare
Aufgezeichnete Webinare
Geplante Veranstaltungen
MaplePrimes
Maplesoft-Blog
Maplesoft-Mitgliedschaft
Maple Ambassador Program
MapleCloud
Technische Whitepapers
E-Mail Newsletters
Maple-Bücher
Math Matters
Anwendungs-Center
MapleSim Modell-Galerie
Anwenderberichte
Exploring Engineering Fundamentals
Lehrkonzepte mit Maple
Maplesoft Welcome-Center
Resource-Center für Lehrer
Help-Center für Studierende
CodeGeneration[Matlab] - Maple コードのMatlab コードへの変換
使い方
Matlab(x, cgopts)
パラメータ
x - 数式、リスト、配列、rtable、手続き、またはモジュール
cgopts - (オプション) 1つまたはそれ以上の CodeGeneration オプション
説明
Matlab 関数は、Maple のコードを MATLAB コードに変換します。
- パラメータ x が代数式の場合、その数式に1つの変数を割り当てる形で1つの Matlab の命令文が生成されます。
- パラメータ x が代数式のリスト、rtable または Maple の配列の場合、それら要素を Matlab 配列に割り当てる形で、 Matlab の命令文の列が作成されます。rtable または Maple の配列では、初期化された要素だけが変換されます。
- パラメータ x が nm=expr の形のリスト(ここで nm は名前、expr は代数式を表す)である場合、x は割り当てられた命令文の列を意味するものとして解釈されます。 この場合、等価な意味を持つ Matlab の割り当て命令文の列が生成されます。
- パラメータ x が Maple の手続きである場合、その手続きと等価な関数を含む Matlab モジュールが生成されます。
- パラメータ x がモジュールである場合、MatlabDetails に述べるように、等価な MATLAB コードに最も近いコードが生成されます。
パラメータ cgopts は、1つまたはそれ以上の CodeGeneration のオプションを含みます。オプションについては、CodeGenerationOptions に記述されています。
CodeGeneration パッケージが Maple のコードを他の言語にどのように変換するかに関する詳細な情報は、CodeGenerationDetails を参照して下さい。 特に MATLAB への変換に関する詳細な情報を得たい場合には、MatlabDetails を参照して下さい。
例
以下の例で使用されているオプションの記述方法については、CodeGenerationOptions を参照して下さい。
with(CodeGeneration):
Warning, the protected name Matlab has been redefined and unprotected
単純な数式を変換し、目的のコード内の名前``w''に割り当てます。
Matlab(x+y*z-2*x*z, resultname="w");
w = x + y * z - 2 * x * z;
リストを変換し、目的のコード内の名前``w'' の配列に割り当てます。
Matlab([[x, 2*y], [5, z]], resultname="w");
w = [x 2 * y; 5 z;];
計算の列を変換します。入力をまず最初に最適化します。
cs := [s=1.0+x, t=ln(s)*exp(-x), r=exp(-x)+x*t]: Matlab(cs, optimize);
s = 0.10e1 + x; t1 = log(s); t2 = exp(-x); t = t1 * t2; r = t2 + x * t;
x が浮動小数点数、 y が整数であることを宣言します。結果が文字列内に返されます。
s := Matlab(x+y+1, declare=[x::float, y::integer], output=string);
手続きを変換します。型宣言されていない変数全てが、整数型 integerであると仮定します。
f := proc(x, y, z) return x*y-y*z+x*z; end proc: Matlab(f, defaulttype=integer);
function freturn = f(x, y, z) freturn = x * y - y * z + x * z;
間接的な戻り値を含む手続きを変換します。戻り値を保持するための新しい変数が作成されます。
f := proc(n) local x, i; x := 0.0; for i to n do x := x + i; end do; end proc: Matlab(f);
function freturn = f(n) x = 0.0e0; for i = 1:n x = x + i; cgret = x; end freturn = cgret;
配列をパラメータとして受け入れている手続きを変換します。 Matlab の配列がインデックス 0 から始まるように、添え字の番号は付け直されます。
f := proc(x::Array(numeric, 5..7)) return x[5]+x[6]+x[7]; end proc: Matlab(f);
function freturn = f(x) freturn = x(1) + x(2) + x(3);
エクスポートプロシージャとローカルプロシージャをもつモジュールを変換します。
m := module() export p; local q; p := proc(x,y) if y>0 then trunc(x); else ceil(x); end if; end proc: q := proc(x) sin(x)^2; end proc: end module: Matlab(m, resultname=t0);
% m/p.m: function preturn = p(x, y) if (0 < y) preturn = fix(x); else preturn = ceil(x); end % m/private/q.m: function qreturn = q(x) qreturn = sin(x) ^ 2;
双曲三角関数の線形結合を変換します。
Matlab(2*cosh(x)-7*tanh(x));
cg0 = 0.2e1 * cosh(x) - 0.7e1 * tanh(x);
戻り値を持たない、出力命令文 printf を含んだ手続きを変換します。
f := proc(a::integer, p::integer) printf("The integer remainder of %d divided by %d is: %d\n", a, p, irem(a, p)); end proc: Matlab(f);
function freturn = f(a, p) disp(sprintf('The integer remainder of %d divided by %d is: %d ',a,p,mod(a, p)));
参照
CodeGeneration, CodeGenerationDetails, CodeGenerationOptions, MatlabDetails, trademarks
Download Help Document