Skip to content

Commit

Permalink
issue #56:
Browse files Browse the repository at this point in the history
fix names of variables
  • Loading branch information
dina-pimenova committed Dec 25, 2017
1 parent dcab2f8 commit ced702a
Showing 1 changed file with 45 additions and 40 deletions.
85 changes: 45 additions & 40 deletions products/+elltool/+doc/+snip/s_chapter06_section06_snippet01.m
Original file line number Diff line number Diff line change
@@ -1,53 +1,53 @@
% initialize all variables for this model
m = [1; 2];
J = [0; 0];
phi_0 = [0; 0];
L = [5; 5];
s = [3; 3];
alpha = [3; 10];
k = [0; 0];
mVec = [1; 2];
jVec = [0; 0];
phi0Vec = [0; 0];
LVec = [5; 5];
sVec = [3; 3];
alphaVec = [3; 10];
kVec = [0; 0];
g = 9.8;

a_1 = m(1) * s(1)^2 + J(1) + m(2) * L(1)^2;
a_2 = L(1) * s(2) * cos(phi_0(1) - phi_0(2));
b_1 = L(1) * s(2) * cos(phi_0(1) - phi_0(2));
b_2 = m(2) * s(2)^2 + J(2);
a1 = mVec(1) * sVec(1)^2 + jVec(1) + mVec(2) * LVec(1)^2;
a2 = LVec(1) * sVec(2) * cos(phi0Vec(1) - phi0Vec(2));
b1 = LVec(1) * sVec(2) * cos(phi0Vec(1) - phi0Vec(2));
b2 = mVec(2) * sVec(2)^2 + jVec(2);

d_1 = (m(1) * a_1 + m(2) * L(2)) * g;
d_2 = m(2) * a_2 * g;
d1 = (mVec(1) * a1 + mVec(2) * LVec(2)) * g;
d2 = mVec(2) * a2 * g;

X_1 = -k(1) * a_2 / (a_2 * b_1 - a_1 * b_2);
X_2 = k(2) * a_1 / (a_2 * b_1 - a_1 * b_2);
X_3 = a_2 / (a_2 * b_1 - a_1 * b_2);
X_4 = -a_1 / (a_2 * b_1 - a_1 * b_2);
X_5 = -(d_1 * a_2 + d_2 * a_1) / (a_2 * b_1 - a_1 * b_2);
X1 = -kVec(1) * a2 / (a2 * b1 - a1 * b2);
X2 = kVec(2) * a1 / (a2 * b1 - a1 * b2);
X3 = a2 / (a2 * b1 - a1 * b2);
X4 = -a1 / (a2 * b1 - a1 * b2);
X5 = -(d1 * a2 + d2 * a1) / (a2 * b1 - a1 * b2);

Y_1 = -k(1) * b_2 / (a_2 * b_1 - a_1 * b_2);
Y_2 = k(2) * b_1 / (a_2 * b_1 - a_1 * b_2);
Y_3 = b_2 / (a_2 * b_1 - a_1 * b_2);
Y_4 = -b_1 / (a_2 * b_1 - a_1 * b_2);
Y_5 = (d_2 * b_1 - d_1 * b_2) / (a_2 * b_1 - a_1 * b_2);
Y1 = -kVec(1) * b2 / (a2 * b1 - a1 * b2);
Y2 = kVec(2) * b1 / (a2 * b1 - a1 * b2);
Y3 = b2 / (a2 * b1 - a1 * b2);
Y4 = -b1 / (a2 * b1 - a1 * b2);
Y5 = (d2 * b1 - d1 * b2) / (a2 * b1 - a1 * b2);

X_11 = d_1 * a_2 * sin(phi_0(1)) / (a_2 * b_1 - a_1 * b_2);
X_12 = d_2 * a_1 * sin(phi_0(2)) / (a_2 * b_1 - a_1 * b_2);
X_13 = (-d_1 * a_2 * cos(phi_0(1)) - d_1 * a_2 * sin(phi_0(1)) * phi_0(1)) / ...
(a_2 * b_1 - a_1 * b_2) + (-d_2 * a_1 * cos(phi_0(2)) - ...
d_2 * a_1 * sin(phi_0(2)) * phi_0(2)) / (a_2 * b_1 - a_1 * b_2);
X11 = d1 * a2 * sin(phi0Vec(1)) / (a2 * b1 - a1 * b2);
X12 = d2 * a1 * sin(phi0Vec(2)) / (a2 * b1 - a1 * b2);
X13 = (-d1 * a2 * cos(phi0Vec(1)) - d1 * a2 * sin(phi0Vec(1)) * phi0Vec(1)) / ...
(a2 * b1 - a1 * b2) + (-d2 * a1 * cos(phi0Vec(2)) - ...
d2 * a1 * sin(phi0Vec(2)) * phi0Vec(2)) / (a2 * b1 - a1 * b2);

Y_11 = d_1 * b_2 * sin(phi_0(1)) / (a_2 * b_1 - a_1 * b_2);
Y_12 = -d_2 * b_1 * sin(phi_0(2)) / (a_2 * b_1 - a_1 * b_2);
Y_13 = (d_2 * b_1 * cos(phi_0(2)) + d_2 * b_1 * sin(phi_0(2)) * phi_0(2)) / ...
(a_2 * b_1 - a_1 * b_2) + (-d_1 * b_2 * cos(phi_0(1)) - ...
d_1 * b_2 * sin(phi_0(1)) * phi_0(1)) / (a_2 * b_1 - a_1 * b_2);
Y11 = d1 * b2 * sin(phi0Vec(1)) / (a2 * b1 - a1 * b2);
Y12 = -d2 * b1 * sin(phi0Vec(2)) / (a2 * b1 - a1 * b2);
Y13 = (d2 * b1 * cos(phi0Vec(2)) + d2 * b1 * sin(phi0Vec(2)) * phi0Vec(2)) / ...
(a2 * b1 - a1 * b2) + (-d1 * b2 * cos(phi0Vec(1)) - ...
d1 * b2 * sin(phi0Vec(1)) * phi0Vec(1)) / (a2 * b1 - a1 * b2);

%initialize A and B relying on theoretical materials
aMat = [0 0 1 0; 0 0 0 1; Y_11 Y_12 Y_1 Y_2; X_11 X_12 X_1 X_2];
bMat = [0 0; 0 0; Y_3 Y_4; X_3 X_4];
aMat = [0 0 1 0; 0 0 0 1; Y11 Y12 Y1 Y2; X11 X12 X1 X2];
bMat = [0 0; 0 0; Y3 Y4; X3 X4];

x_0 = [0; 0; 0; 0];
x0Vec = [0; 0; 0; 0];
endTime=5;
% after initializing we create ellipsoid for control function
diagMat = diag([alpha(1), alpha(2)]);
diagMat = diag(alphaVec);
uEllObj = ellipsoid(diagMat);
% define linear systems
linSys=elltool.linsys.LinSysContinuous(aMat, bMat, uEllObj);
Expand All @@ -58,10 +58,8 @@
for iElem = 1 : mSize
dirMat(:, iElem) = dirMat(:, iElem) ./ norm(dirMat(:, iElem));
end;
% end position

% set of start coordinates
x0EllObj = 1E-2 * ell_unitball(4) + x_0;
x0EllObj = 1E-2 * ell_unitball(4) + x0Vec;
% calculate solvability set
timeVec = [endTime, 0];
rsTube = elltool.reach.ReachContinuous(linSys, x0EllObj, dirMat, ...
Expand All @@ -72,4 +70,11 @@
prTube.plotByIa();
hold on;
ylabel('z_3'); zlabel('z_4');
rotate3d on;
% create projection matrix and draw projection on current axis (z_3, z_4)
v1v2Mat = [1 0 0 0 ; 0 1 0 0]';
prTube = rsTube.projection(v1v2Mat);
prTube.plotByIa();
hold on;
ylabel('z_1'); zlabel('z_2');
rotate3d on;

1 comment on commit ced702a

@irublev
Copy link
Contributor

@irublev irublev commented on ced702a Dec 26, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In our Coding policy it is said that "variable names should be in mixed case starting with lower case". Please fix this.

Please sign in to comment.