2015-10-14 74 views
0

我正嘗試在Stateflow中使用ml函數。由於誤解我的錯誤,我嘗試使用示例:http://www.mathworks.com/help/stateflow/ug/calling-built-in-matlab-functions-and-accessing-workspace-data.html「我應該使用哪種ml?」部分。MATLAB Stateflow`ml`錯誤(C與MATLAB語言)

enter image description here

我得到錯誤:

Subscript indices must be of a builtin numeric class. This index has class 'char'.

Transition '[i<5]{...,i,i);}' "'A%d = rand(%d)'"

調試認爲ml是一個變量,並嘗試將其添加到模型瀏覽器。它不能正確理解它!

我閱讀的關注和唯一的地方,這讓我在思想上失去了幫助:

Caution Because MATLAB functions are not available in a target environment, do not use the ml namespace operator and the ml function if you plan to build a code generation target.

這只是我的假設,但也許我使用的代碼生成器,這就是爲什麼我有錯?順便說一句,我試圖谷歌關於代碼生成器,但不能清楚地看到什麼是真的... 我再次的假設是:simulink內置MATLAB函數使用代碼生成器所以和Chart在Stateflow。也許我需要使用一些mex文件或別的什麼來避免使用它?

回答

0

兩個小時的嘗試,我得到了這個: 代碼生成 - 這就是我們說的MATLAB語言。 對於使用ml,我們需要將Chart的選項設置爲`C語言'。 像這裏:enter image description here

在左下角我們可以看到圖表類型:現在它是C。你也可以在選項中看到這個。

所以選擇Cml開始工作。