Mapleトップページ
事例・技術情報

C言語・Fortran・Java・VBをお使いの方へ

他のプログラミング言語(C言語,Fortran,Java,VB)をお使いの方でも、Maple の特徴とメリットをご利用になれます。数式処理ソフトウェアMapleは手軽に、そしてコーディングに関連した生産性向上のためにお使い頂けます。

Mapleとプログラミング言語を組み合わせた活用例

例えば、Mapleをヒューマノイドロボット設計に用いている早稲田大学高西教授は、ヒューマノイドロボットの姿勢制御など数式ベースの機構系基本動作をMaple上でモデリングし、設計された結果をC言語へと変換し実機の開発・実装に役立てています。

ヒューマノイドロボット
ヒューマノイドロボット
提供:早稲田大学 高西研究室
http://www.humanoid.waseda.ac.jp/index.html



Maple自体はプログラミング言語としても馴染みやすいクラシックなスタイルで記述することができます。例えば、以下は1から与えられた数までの和を計算する関数を、Mapleの組込み関数を用いずに記述したMapleコードです。

---
> mySum := proc(n)
local s,t,i,tmp;

if n=0 then return(0) fi;
(s,t) := (1,1);
for i from 2 to n do
tmp := s + t;
s := t;
t := tmp;
od;
return(s);
end proc:
---

このコードは、Mapleが標準で提供しているCodeGenerationパッケージを用いれば、C言語、Fortran、Java、MATLAB、Visual Basicへと変換することが可能です。

C言語への変換例

> CodeGeneration[C](mySum, optimize);
int mySum (int n)
{
int s;
int t;
int i;
int tmp;
if (n == 0)
return(0);
s = 1;
t = 1;
for (i = 2; i <= n; i++)
{
tmp = s + t;
s = t;
t = tmp;
}
return(s);
}

MATLABへの変換例

> CodeGeneration[Matlab](mySum, optimize);
function mySumreturn = mySum(n)
if (n == 0)
mySumreturn = 0;
end
s = 1;
t = 1;
for i = 2:n
tmp = s + t;
s = t;
t = tmp;
end
mySumreturn = s;

Mapleでは、ユーザー定義関数に特にデータの型を指定しない限り、すべての変数・数値を引数として指定することが可能です。これにより、いろいろな種類のデータでテストパターンを繰り返すだけでなく、一般性を元にしたデバッグを行うことも可能です。

関連製品



お問い合わせ サイバネットシステム株式会社 システムCAE事業部
TEL: 03-5297-3255 (受付時間 9:00〜12:00 / 13:00〜17:30 ※土日祝及び弊社休業日を除く)
メールでのお問い合わせ  お問い合わせフォーム  お問い合わせ一覧

モデルベース開発