please help strfind in stateflow NOT YET SOLVED

1 次查看(过去 30 天)
hi all,,
i have condition using strfind in simulink and embedded matlab function.
here is my EMF:
function V=sequence(x)
%#codegen
correct= testinput(x);
if correct
V=10000;
else
V=1;
end
function correct = testinput(x)
eml.extrinsic('strfind');
correct = any(strfind((x)>4,[1 1 1 1 1]));
but still tell error: Embedded MATLAB Interface Error: Error using ==> strfind Input strings must have one row. Block Embedded MATLAB Function (#32) While executing: none
my input from simulink are: [5 5 5 5 5 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3]
*LATER I WANT DO IT IN STATEFLOW, ANYONE KNOW HOW TO DO IT IN STATEFLOW??? *
THATS WHY I TEST ON EMBEDDED MATLAB FUNCTION FIRST
PLEASE HELP...
THANK YOU VERY MUCH

采纳的回答

Fangjun Jiang
Fangjun Jiang 2011-7-10
How did you make your input to Simulink as x= [5 5 5 5 5 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3]? The error message indicates that x is a column vector.
Use your value for x as an example:
>> correct = any(strfind((x')>4,[1 1 1 1 1]))
??? Error using ==> strfind
Input strings must have one row.
  3 个评论
Fangjun Jiang
Fangjun Jiang 2011-7-10
In your EML, try correct = any(strfind((x')>4,[1 1 1 1 1]))
Luhur
Luhur 2011-7-11
OH MY GOD!! WORKS!! THANKS FANG!! THANKS A LOT!!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Complex Logic 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by