how can i modify this code to use in Stateflow?

2 views (last 30 days)
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.

Answers (2)

Siddharth
Siddharth on 3 Jun 2013
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 Comment
kadri
kadri on 3 Jun 2013
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.

Sign in to comment.


Siddharth
Siddharth on 17 Jun 2013
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 .

Categories

Find more on Complex Logic in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!