280 likes | 490 Views
Simulink. Create a model in Simulink Run simulation from Simulink Invoke simulation from a MATLAB script Create a subsystem Create a testbed for testing subsystem. Differential Equation. Find unit-step response in two cases:. Simulation. File > New > Model or.
E N D
Simulink Create a model in Simulink Run simulation from Simulink Invoke simulation from a MATLAB script Create a subsystem Create a testbed for testing subsystem
Differential Equation Find unit-step response in two cases:
Drag Blocks from Sublibraries into Model File > Save as … example.slx
Flipping a Block: Right-Click the Block, Select “Rotate & Flip”
Connect Two Blocks: Click Output, Drag Arrow to Input (Click 1st Block, Control-Click 2nd Block)
Tap into One Line, Creating a Branch Position cursor on the line, control-click and drag new arrow
Renaming Blocks Highlight name of block Type new name (erasing old name) Esc key (not Enter)
Change Parameters in a Block double-click the block
Simulation > Model Configuration Parameters (from the example.slx window)
Run then double-click Scope
Create MATLAB script runexample.m and run it from MATLAB a = [1 10]; curv = {'-b','--r'}; figure(1) for n = 1:2 C = 1/a(n); K = sqrt(2*a(n)); set_param('example/C','Gain',num2str(C)) set_param('example/K','Gain',num2str(K)) sim('example') plot(t,y,curv{n}) hold on end axis([0 20 0 1.2]) set(gca,'YTick',0:0.2:1.2) set(gca,'FontSize',20) xlabel(‘t') ylabel('y') title('Step Response') legend('a = 1','a = 10','Location','SouthEast') set(findobj(gcf,'LineWidth',0.5),'LineWidth',2) saveas(1,'Step Response','png')
Prepare New Model with Generic Input/Output Remove these blocks: Step, Scope, To Workspace. Add In1 (Sources Sublibrary) and Out1 (Sinks Sublibrary). Rename In1 and Out1. File > Save as … diffEq.slx
Create Subsystem Edit > Select All Diagram > Subsystem & Model Reference > Create Subsystem from Selection
Create Testbed for Testing Subsystem Rename subsystem block. Add Step on input. Step time: 0, Start value: 0, Final value: 1 Add Scope to output. Add To Workspace. Variable name: y, Save format: Array Save as … test.slx
Simulation > Model Configuration Parameters (from the test.slx window)
Create MATLAB Script runtest.m and run it from MATLAB a = [1 10]; curv = {'-b','--r'}; figure(1) for n = 1:2 C = 1/a(n); K = sqrt(2*a(n)); set_param(‘test/diffEq/C','Gain',num2str(C)) set_param(‘test/diffEq/K','Gain',num2str(K)) sim(‘test') plot(t,y,curv{n}) hold on end axis([0 20 0 1.2]) set(gca,'YTick',0:0.2:1.2) set(gca,'FontSize',20) xlabel(‘t') ylabel('y') title('Step Response') legend('a = 1','a = 10','Location','SouthEast') set(findobj(gcf,'LineWidth',0.5),'LineWidth',2) saveas(1,'Step Response','png')
Exercise Simulate the following differential equation using a step input.