調(diào)研學(xué)習(xí)matlab: .m 函數(shù) --> c/c++ 函數(shù)
.m 文件分成兩種,一種是腳本(沒有帶function關(guān)鍵字), 另一種稱為函數(shù) (帶有function 關(guān)鍵字).?
matlab 只能把 .m 函數(shù)轉(zhuǎn)成 c/c++ 函數(shù),而且對輸入?yún)?shù)的類型也有一定的限制(例如帶有cell類型的輸入?yún)?shù)的.m 函數(shù)是不不能轉(zhuǎn)成c/c++代碼的).
第一步:需要用戶指定函數(shù)的每個輸入?yún)?shù)的類型, 可是如果用戶無法確定輸入?yún)?shù)的類型怎么辦呢? 這時候,需要用戶寫一個調(diào)用這個.m函數(shù)的腳本, 那么在執(zhí)行這個腳本的時候,會確定出調(diào)用 .m 函數(shù)的輸入?yún)?shù)的類型。? 總之,把 .m 函數(shù) 對輸入?yún)?shù)的類型的靈活性給去掉了, 就需要確定具體的數(shù)據(jù)類型以及大小,如是 10x20 的double 還是 1x1 int , 這都需要確定。
第二步: 回答函數(shù)中用沒有用到全局變量
第三步: 選擇生成代碼是c還是c++
總之,把一個簡單的腳本轉(zhuǎn)成一個c/c++ 代碼,一下子就增加編程了一個可讀性低、行數(shù)很多的代碼。
不知道,大家用這個功能用的多不多??? 希望大家在留言里評論啊。我們國產(chǎn)的數(shù)值計算通用軟件也在做這個功能, 留言的多少也影響著我們對這項任務(wù)的急迫性的認(rèn)識。
標(biāo)簽: