clc
close all
clear all

format long

disp('  ')
disp('Exercicio 6 IM1')
disp('  ')

C=437.592; %em m
fprintf('C = %8.3f m\n', C)
sigma_C=3+5*C*1000/1000000; %em mm
fprintf('sigma_C = %2.0f mm\n', sigma_C)
sigma_C=sigma_C/1000; %em m

L=138.279; %em m
fprintf('L = %8.3f m\n', L)
sigma_L=3+5*L*1000/1000000; %em mm
fprintf('sigma_L = %2.0f mm\n', sigma_L)
sigma_L=sigma_L/1000; %em m

A=C*L;
fprintf('area do edificio = %8.3f m\n', A)

disp ('   ')

% calculo da incerteza no calculo da area A
% definir simbolicamente a funcao area
syms A1 C1 L1
A1=C1*L1;
% calcular as derivadas parciais da funcao A em relacao as observacoes
d_A1_C1=diff(A1,C1);
d_A1_L1=diff(A1,L1);
% matriz jacobiana da transformacao de C e L em A
J(1,1)=double(subs(d_A1_C1,[C1,L1],[C,L]));
J(1,2)=double(subs(d_A1_L1,[C1,L1],[C,L]));

disp ('matriz Jacobiana da transformacao')
J

%disp ('matriz de variancias-covariancias das observacoes')
Sigma_obs=[sigma_C^2,0;0,sigma_L^2];

Sigma_A=J*Sigma_obs^2*J';

incerteza_A=sqrt(Sigma_A);

fprintf('incerteza da area = %6.3f m\n', incerteza_A)

disp('  ')

