文档

通过使用创建图表MATLAB脚本

通过使用Stateflow API创建图表,您创建并保存一个新的模型通过一系列Stateflow®API命令。你可以包括以下MATLAB命令相同的API®脚本。这个脚本可以让你迅速重建相同的模型与简单的命令makeMyModel

函数makeMyModel %所有先前的模型加载rt = sfroot;prev_models = rt.find(“是”、“Sim金宝appulink.BlockDiagram”);%创建新的模型,得到当前模型sfnew;curr_models = rt.find(“是”、“Sim金宝appulink.BlockDiagram”);%的新模型是当前模型——先前模型m = setdiff (curr_models prev_models);%得到图表在新模型中ch = m。找到(“是”、“Stateflow.Chart”);%创建状态图表sA = Stateflow.State (ch);sA。Name = ' A '; sA.Position = [50 50 310 200]; % Create state A1 inside of state A sA1 = Stateflow.State(ch); sA1.Name = 'A1'; sA1.Position = [80 120 90 60]; % Create state A2 inside of state A sA2 = Stateflow.State(ch); sA2.Name = 'A2'; sA2.Position = [240 120 90 60]; % Create a transition from A1 to A2 tA1A2 = Stateflow.Transition(ch); tA1A2.Source = sA1; tA1A2.Destination = sA2; tA1A2.SourceOClock = 3; tA1A2.DestinationOClock = 9; % Label transition from state A1 to state A2 tA1A2.LabelPosition = [180 140 0 0]; tA1A2.LabelString = 'E1'; % Create the Event E1 E1 = Stateflow.Event(ch); E1.Name = 'E1'; % Move label for transition A1-A2 to the right a bit pos = tA1A2.LabelPosition; pos(1) = pos(1)+5; tA1A2.LabelPosition = pos; % Add a default transition to state A dtA = Stateflow.Transition(ch); dtA.Destination = sA; dtA.DestinationOClock = 0; xsource = sA.Position(1)+sA.Position(3)/2; ysource = sA.Position(2)-30; dtA.SourceEndPoint = [xsource ysource]; dtA.MidPoint = [xsource ysource+15]; % Add a default transition to state A1 dtA1 = Stateflow.Transition(ch); dtA1.Destination = sA1; dtA1.DestinationOClock = 0; xsource = sA1.Position(1)+sA1.Position(3)/2; ysource = sA1.Position(2)-30; dtA1.SourceEndPoint = [xsource ysource]; dtA1.MidPoint = [xsource ysource+15];

相关的话题