clc;
clear all;
close all;

% 1o. passo - derivação da matriz B

% definição de variáveis
syms C1 C2 C3 q0 q1 
% manipulação simbólica
  % definição da matriz B
B=[-1 C1*sin(q1); 0 -C1*cos(q1)];
  % derivação
Bq0=diff(B,q0);
Bq1=diff(B,q1);
  % visualização
pretty(Bq0)
disp(' ')
pretty(Bq1)
disp(' ')

% 2o. passo - derivação da matriz J

% definição de variáveis
syms A2 A3 Ka20 Ka30 Ka21 Ka31
% manipulação simbólica
  % definição da matriz J
J=[-C2*sin(A2) -C3*sin(A3); C2*cos(A2) C3*cos(A3)];
  % derivação externa
JA2=diff(J,A2);
JA3=diff(J,A3);
  % derivação completa
Jq0=JA2*Ka20+JA3*Ka30;
Jq1=JA2*Ka21+JA3*Ka31;
  % visualização
pretty(JA2)
disp(' ')
pretty(JA3)
disp(' ')
pretty(Jq0)
disp(' ')
pretty(Jq1)
disp(' ')

% % 3o. passo - determinação das matrizes K, L0 e L1

% determinação da matriz K
K=J\B;
pretty(K)
disp(' ')
% determinação das matrizes L0 e L1
L0=J\(Bq0-Jq0*K);
L1=J\(Bq1-Jq1*K);
pretty(L0)
disp(' ')
pretty(L1)
disp(' ')