%comparing predicted versus actual performance of the xPC Target test
%controller on the MMT elevation axis.
% file path: \\Mmto\dclark\public_html\Keith Powell
%
% data file:  xPC_ClosedLoop121906b.mat
% model file has been modified to place the elevation model in the
% control loop for comparative purposes.
% D. Clark
% 12/21/06

%do the 0.1 degree motion
time = (1:length(cldata5)) * Ts;
simstop = length(time) * Ts;
meanpos = mean(cldata5(8000:9000,2))
StepSize = 0.1;
[tsim,xsim,ysim] = sim('MMT_KP_v1p9ap3_sim.mdl');
figure();
ysim(1,:) = [];
plot(time(st:end),[ysim(st:end,3) cldata5(st:end,3)]);
grid on; legend 'Simulation' 'Actual';
xlabel 'Time, s'; ylabel 'Position, deg';
title 'Comparing a 0.1 Degree Motion profile';

%repeat for 0.01 degrees
time = (1:length(cldata3)) * Ts;
simstop = length(time) * Ts;
meanpos = mean(cldata3(8000:9000,2))
StepSize = 0.01;
[tsim,xsim,ysim] = sim('MMT_KP_v1p9ap3_sim.mdl');
figure();
ysim(1,:) = [];
plot(time(st:end),[ysim(st:end,3) cldata3(st:end,3)]);
grid on; legend 'Simulation' 'Actual';
xlabel 'Time, s'; ylabel 'Position, deg';
title 'Comparing a 0.01 Degree Motion profile';
meanpos =
   41.7265
Warning: Block diagram 'MMT_KP_v1p9ap3_sim' contains 1 algebraic loop(s). To see more details about the loops use the command line Simulink debugger by typing "sldebug MMT_KP_v1p9ap3_sim" in the MATLAB command window. To eliminate this message, set the Algebraic loop option in the Diagnostics page of the Simulation Parameters Dialog to "None".
Found algebraic loop containing:
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Enabled Subsystem'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/N-Sample Switch2/Switch' (discontinuity)
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Velocity Controller/Velocity Controller Integral gain1'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Velocity Controller/Velocity gain'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Position Controller/Proportional gain'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Discrete Notch Filter @ 5.56 Hz'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Discrete Notch Filter @ 35 Hz'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Discrete Notch Filter @ 85 Hz'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Discrete Notch Filter @ 161 Hz'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/s(1)'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA21'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA31'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB21'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB31'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA22'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA32'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB22'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB32'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA23'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA33'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB23'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB33'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA24'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA34'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB24'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB34'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA25'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA35'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB25'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB35'
  'MMT_KP_v1p9ap3_sim/Saturation' (discontinuity)
  'MMT_KP_v1p9ap3_sim/Product'
  'MMT_KP_v1p9ap3_sim/LTI System/Internal'
  'MMT_KP_v1p9ap3_sim/Position Encoder Handler/K1'
  'MMT_KP_v1p9ap3_sim/Position Encoder Handler/Sum' (algebraic variable)
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/N-Sample Switch/Switch' (discontinuity)
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Position Controller/Sum' (algebraic variable)
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Position Controller/Discrete Differentiator'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Position Controller/derivative gain'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Position Controller/Sum1'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Sum1'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Velocity Controller/Sum2' (algebraic variable)
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Velocity Controller/Velocity Controller Proportional gain'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Velocity Controller/Sum1'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Velocity Controller/Sum3' (algebraic variable)
This algebraic loop may be resolved when the subsystem option 'Minimize algebraic loop occurrences' is selected on some or all of the atomic and enabled subsystems in this algebraic loop.
Warning: Discontinuities detected within algebraic loop(s), may have trouble solving.
meanpos =
   41.7834
Warning: Block diagram 'MMT_KP_v1p9ap3_sim' contains 1 algebraic loop(s). To see more details about the loops use the command line Simulink debugger by typing "sldebug MMT_KP_v1p9ap3_sim" in the MATLAB command window. To eliminate this message, set the Algebraic loop option in the Diagnostics page of the Simulation Parameters Dialog to "None".
Found algebraic loop containing:
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Enabled Subsystem'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/N-Sample Switch2/Switch' (discontinuity)
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Velocity Controller/Velocity Controller Integral gain1'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Velocity Controller/Velocity gain'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Position Controller/Proportional gain'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Discrete Notch Filter @ 5.56 Hz'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Discrete Notch Filter @ 35 Hz'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Discrete Notch Filter @ 85 Hz'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Discrete Notch Filter @ 161 Hz'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/s(1)'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA21'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA31'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB21'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB31'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA22'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA32'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB22'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB32'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA23'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA33'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB23'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB33'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA24'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA34'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB24'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB34'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA25'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumA35'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB25'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Flexible Mode Compensation/Newest HO Filter/SumB35'
  'MMT_KP_v1p9ap3_sim/Saturation' (discontinuity)
  'MMT_KP_v1p9ap3_sim/Product'
  'MMT_KP_v1p9ap3_sim/LTI System/Internal'
  'MMT_KP_v1p9ap3_sim/Position Encoder Handler/K1'
  'MMT_KP_v1p9ap3_sim/Position Encoder Handler/Sum' (algebraic variable)
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/N-Sample Switch/Switch' (discontinuity)
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Position Controller/Sum' (algebraic variable)
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Position Controller/Discrete Differentiator'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Position Controller/derivative gain'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Position Controller/Sum1'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Sum1'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Velocity Controller/Sum2' (algebraic variable)
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Velocity Controller/Velocity Controller Proportional gain'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Velocity Controller/Sum1'
  'MMT_KP_v1p9ap3_sim/Elevation Axis Controller - v2p0/Velocity Controller/Sum3' (algebraic variable)
This algebraic loop may be resolved when the subsystem option 'Minimize algebraic loop occurrences' is selected on some or all of the atomic and enabled subsystems in this algebraic loop.
Warning: Discontinuities detected within algebraic loop(s), may have trouble solving.