how can i modify this code to use in Stateflow?

1 次查看(过去 30 天)
for s2=1:b
for s1=1:b-1
if m(1,s1)>m(1,s1+1)
c=m(1,s1);
m(1,s1)=m(1,s1+1);
m(1,s1+1)=c;
end
end
end
How can i generate this code in Stateflow Chart without using Matlab embeded function block. i have vector such as m=[0 1 2 3 4 5 6 7 8 9 10 ] and i m planning to use code that above to sort numbers in ascending order.
thank you.

回答(2 个)

Siddharth
Siddharth 2013-6-3
If you are building your state machine in R2012b or newer, use the new chart block that uses MATLAB. In that block you can directly use MATLAB functions in the state actions/conditions. In your example, you could replace the loops with a call to the MATLAB function
sort
in the state diagram. Or you could write the loops directly in the state diagram too. Learn more about the chart block that uses MATLAB here: http://www.mathworks.com/videos/matlab-as-the-action-language-70059.html
  1 个评论
kadri
kadri 2013-6-3
thank you for your answer but i have to use stateflow chart, cuz calling Matlab function is not allowed to do this challenge.
My main problem is about this code, i can't generate for loop in for loop (two for loop) with stateflow charts. Could you give me example how can i create two for loop with stateflow charts?
thank you.

请先登录,再进行评论。


Siddharth
Siddharth 2013-6-17
If you are not allows to use MATLAB functions, use graphical functions to achieve the same functionality. Find more information on how to create for loops using graphical functions here .

类别

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