如果您有接觸過MATFOR這套函式庫,應該會發現MATFOR在設計函式介面時,有考慮到MATLAB的使用群,因此部分的數值計算與繪圖函式和MATLAB的語法很接近,為了讓原有使用MATLAB開發程式碼的使用群能夠更順利的移植到MATFOR的環境下,因此RD部門特地推出MATLAB Code Converter的服務。

這種程式碼轉換的服務,可以幫助程式開發者將MATLAB的程式碼轉換成C++或是Fortran的語法,至於MATLAB特殊的矩陣計算寫法,則改為使用MATFOR裡的mfArray資料結構來支援,今年(2007)一月初,RD部門將VB和C#的語法一併納入Code Converter裡,因此目前提供從MATLAB轉換成C++/FORTRAN/VB/C#等四種程式語言的轉換服務。

如果想要使用這個轉換服務,只要連到http://www.ancad.com/codeConverter.php,就可以看到簡易的操作介面,最上方的Demo cases提供五種內建的MATLAB程式碼,可以讓使用者由淺到深的順序了解到Code Converter的功能,使用者只要在”Target Language”欄位選擇要轉換成哪一種程式語言,然後點選任一Demo cases的按鈕,就會將轉換完的結果秀在右方的文字欄位裡,比如第一個Basic功能是示範幾行簡單的MATLAB程式會怎樣轉換,使用者也可以在左方的MATLAB Code欄位裡輸入自己的程式碼,然後按下Translate按鈕後,就可以轉換成對應的程式語言。

使用者如果想要使用轉換過的程式碼,記得要先安裝好MATFOR函式庫(下載MATFOR),然後將轉換完的程式碼複製到Visual C++、Visual Fortran或是Visual Studio 2005裡面進行編譯,但是要記得將變數宣告成mfArray才行,宣告方式如下表。

C++ #include “fml.h”
#include “fgl.h”
mfArray a;
FORTRAN use fml
use fgl
type(mfArray):: a
VB Imports MatforNet
Dim a as mfArray
C# using MatforNet;
mfArray a;

在經過宣告後就可以編譯成執行檔,就可以執行看看是否能夠跑出一樣的結果。

在使用MATLAB Code Converter時要注意一些限制,每次要轉換時不能超過4096個字元,包含空白、分行和註解符號,另外在某些特殊的MATLAB程式碼下會轉換失敗,此時轉換結果會是空白,因此建議使用Code Converter可以逐段的轉換,而不要一次丟太長的程式碼,以免造成轉換失敗,因為這個Code Converter功能還在加強當中,因此如果一直轉換失敗,可以聯絡逸奇的技術支援。

Email: support@ancad.com

技術論壇: http://www.ancad.com/TwnForum/