0
function [rv] = get_bla(m)
%#codegen
assert(isa(m,'char'));
assert(size(m, 1) >= 1);
assert(size(m, 1) <= 1024);
switch m
case 'xyz'
rv = 1;
case 'xyz1'
rv = 2;
otherwise
error('Unexpected something');
end
實際上可能在MATLAB編碼器的情況下?
我使用:
codegen -config:dll get_bla
,並得到:
SWITCH表達具有不確定的大小。
作爲「字符數組」必須是靜態的尺寸爲C/C++,我相信上述是不可能的或者是有一個變通?
嘗試'if' -' else if'語句而不是'switch' – Praetorian
此刻實際嘗試此操作。謝謝。猜猜我必須使用strcmpi ...? – cs0815
「材料」從哪裏來?如果材料是一個字符串,它應該工作(至少在八度)。但是,如果你想要做一個區分大小寫的比較,使用'開關tolower的(材料)' – carandraug