621
In questa appendice si riportano i programmi matlab relativi al capitolo 13. Si riportano i programmi matlab impiegati per la calibrazione statica del dinamometro. All’interno dei listati matlab sono inoltre presentate le procedure necessarie per ottenere l’andamento della retta di regressione dei dati e le relative stime presentate nel capitolo inerente.
1. Caso della matrice ܣӖ
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Programma calibrazione del dinamometro
%
% V=AF
%
% Giovanni Pace 2009
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
close all clear all clc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% F=[Fx Fy Mx My Mz Fz]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %Vengono caricati i valori effettivi delle forze impiegate negli
%esperimenti,precedentemente raccolti in due file di excel Carichi_1.xls e
%Carichi_2.xls.
% %Vengono inseriti i relativi dati in due matrici C1 e C2, che serviranno
%per esplicitare i valori delle forze e momenti di ciascuna prova (F5AM,
%F4M e così via).
% %Le forze ed i momenti di ciascuna prova saranno utilizzati per costruire
%delle matrici tramite la function sottomatrice_1.
%Codice delle forze Fcvb, con c=1,2,3,4,5; v=A,B,C,D,E,F; b=M,P
% %Il valore della c corrisponde al tipo di prova effettuata; il numero
%corrisponde alla colonna della matrice che raggruppa i vari tipi di
%carichi: ad es.:c=5 indica la prova con asse y del dinamometro verticale,
%con puleggia disposta in modo da dare il massimo valore del momento
%flettente attorno ad x e momento torcente positivo.
% %Il valore della v individua il valore del peso applicato: c=1 =>5Kg
%appesi; c=2=>10Kg appesi; c=3=>15Kg appesi e così via di 5 Kg in 5 Kg.
% %Il valore della b individua se l'asse y è rivolto verso il basso
%(M), o se è rivolto verso l'alto(P).
%%Alla fine di un set di prove a carico fissato (solo A, solo B e così via)
%viene costruita una matrice (per es. FA1, FA2 e così via), che sarà alla
%fine impiegata per costruire la matrice FF da impiegare nell'applicazione
%del metodo dei minimi quadrati.
622 C1=xlsread('Carichi_1.xls');
C2=xlsread('Carichi_2.xls');
%Carico A=5Kg F5AM=C1(1,:);
matrice5AM=sottomatrice_1(F5AM);
F4AM=C1(7,:);
matrice4AM=sottomatrice_1(F4AM);
F1AP=C1(13,:);
matrice1AP=sottomatrice_1(F1AP);
F2AP=C1(19,:);
matrice2AP=sottomatrice_1(F2AP);
F3AP=C1(25,:);
matrice3AP=sottomatrice_1(F3AP);
F6AM=C1(31,:);
matrice6AM=sottomatrice_1(F6AM);
FA1=[matrice5AM;matrice4AM;matrice1AP;matrice2AP;matrice3AP;matrice6AM];
%%%%%%%%%%%
%Carico B=10Kg F5BM=C1(2,:);
matrice5BM=sottomatrice_1(F5BM);
F4BM=C1(8,:);
matrice4BM=sottomatrice_1(F4BM);
F1BP=C1(14,:);
matrice1BP=sottomatrice_1(F1BP);
F2BP=C1(20,:);
matrice2BP=sottomatrice_1(F2AP);
F3BP=C1(26,:);
matrice3BP=sottomatrice_1(F3BP);
F6BM=C1(32,:);
matrice6BM=sottomatrice_1(F6BM);
FA2=[matrice5BM; matrice4BM ;matrice1BP; matrice2BP; matrice3BP; matrice6BM];
%%%%%%%%%%%%
%Carico C=15Kg F5CM=C1(3,:);
matrice5CM=sottomatrice_1(F5CM);
F4CM=C1(9,:);
matrice4CM=sottomatrice_1(F4CM);
F1CP=C1(15,:);
matrice1CP=sottomatrice_1(F1CP);
F2CP=C1(21,:);
matrice2CP=sottomatrice_1(F2CP);
F3CP=C1(27,:);
matrice3CP=sottomatrice_1(F3CP);
F6CM=C1(33,:);
matrice6CM=sottomatrice_1(F6CM);
FA3=[matrice5CM;matrice4CM;matrice1CP;matrice2CP;matrice3CP;matrice6CM];
%%%%%%%%%%%%
%Carico D=20Kg F5DM=C1(4,:);
matrice5DM=sottomatrice_1(F5DM);
F4DM=C1(10,:);
matrice4DM=sottomatrice_1(F4DM);
F1DP=C1(16,:);
matrice1DP=sottomatrice_1(F1DP);
F2DP=C1(22,:);
matrice2DP=sottomatrice_1(F2DP);
F3DP=C1(28,:);
matrice3DP=sottomatrice_1(F3DP);
F6DM=C1(34,:);
matrice6DM=sottomatrice_1(F6DM);
FA4=[matrice5DM;matrice4DM;matrice1DP;matrice2DP;matrice3DP;matrice6DM];
%%%%%%%%%%%%
%Carico E=25Kg F5EM=C1(5,:);
matrice5EM=sottomatrice_1(F5EM);
F4EM=C1(11,:);
matrice4EM=sottomatrice_1(F4EM);
F1EP=C1(17,:);
matrice1EP=sottomatrice_1(F1EP);
F2EP=C1(23,:);
matrice2EP=sottomatrice_1(F2EP);
F3EP=C1(29,:);
matrice3EP=sottomatrice_1(F3EP);
F6EM=C1(35,:);
matrice6EM=sottomatrice_1(F6EM);
FA5=[matrice5EM;matrice4EM;matrice1EP;matrice2EP;matrice3EP;matrice6EM];
%%%%%%%%%%%%
%Carico F=30Kg F5FM=C1(6,:);
matrice5FM=sottomatrice_1(F5FM);
F4FM=C1(12,:);
matrice4FM=sottomatrice_1(F4FM);
F1FP=C1(18,:);
matrice1FP=sottomatrice_1(F1FP);
F2FP=C1(24,:);
matrice2FP=sottomatrice_1(F2FP);
F3FP=C1(30,:);
matrice3FP=sottomatrice_1(F3FP);
F6FM=C1(36,:);
matrice6FM=sottomatrice_1(F6FM);
FA6=[matrice5FM;matrice4FM;matrice1FP;matrice2FP;matrice3FP;matrice6FM];
624
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
F5AP=C2(1,:);
matrice5AP=sottomatrice_1(F5AP);
F4AP=C2(7,:);
matrice4AP=sottomatrice_1(F4AP);
F1AM=C2(13,:);
matrice1AM=sottomatrice_1(F1AM);
F2AM=C2(19,:);
matrice2AM=sottomatrice_1(F2AM);
F3AM=C2(25,:);
matrice3AM=sottomatrice_1(F3AM);
F6AM=C2(31,:);
matrice6AM=sottomatrice_1(F6AM);
FA1_1=[matrice5AP;matrice4AP;matrice1AM;matrice2AM;matrice3AM;matrice6AM];
%%%%%%%%%%%%%
F5BP=C2(2,:);
matrice5BP=sottomatrice_1(F5BP);
F4BP=C2(8,:);
matrice4BP=sottomatrice_1(F4BP);
F1BM=C2(14,:);
matrice1BM=sottomatrice_1(F1BM);
F2BM=C2(20,:);
matrice2BM=sottomatrice_1(F2BM);
F3BM=C2(26,:);
matrice3BM=sottomatrice_1(F3BM);
F6BM=C2(32,:);
matrice6BM=sottomatrice_1(F6BM);
FA2_2=[matrice5BP;matrice4BP;matrice1BM;matrice2BM;matrice3BM;matrice6BM];
%%%%%%%%%%%%%
F5CP=C2(3,:);
matrice5CP=sottomatrice_1(F5CP);
F4CP=C2(9,:);
matrice4CP=sottomatrice_1(F4CP);
F1CM=C2(15,:);
matrice1CM=sottomatrice_1(F1CM);
F2CM=C2(21,:);
matrice2CM=sottomatrice_1(F2CM);
F3CM=C2(27,:);
matrice3CM=sottomatrice_1(F3CM);
F6CM=C2(33,:);
matrice6CM=sottomatrice_1(F6CM);
FA3_3=[matrice5CP;matrice4CP;matrice1CM;matrice2CM;matrice3CM;matrice6CM];
%%%%%%%%%%%%%
F5DP=C2(4,:);
matrice5DP=sottomatrice_1(F5DP);
F4DP=C2(10,:);
matrice4DP=sottomatrice_1(F4DP);
F1DM=C2(16,:);
matrice1DM=sottomatrice_1(F1DM);
F2DM=C2(22,:);
matrice2DM=sottomatrice_1(F2DM);
F3DM=C2(28,:);
matrice3DM=sottomatrice_1(F3DM);
F6DM=C2(34,:);
matrice6DM=sottomatrice_1(F6DM);
FA4_4=[matrice5DP;matrice4DP;matrice1DM;matrice2DM;matrice3DM;matrice6DM];
%%%%%%%%%%%%%
F5EP=C2(5,:);
matrice5EP=sottomatrice_1(F5EP);
F4EP=C2(11,:);
matrice4EP=sottomatrice_1(F4EP);
F1EM=C2(17,:);
matrice1EM=sottomatrice_1(F1EM);
F2EM=C2(23,:);
matrice2EM=sottomatrice_1(F2EM);
F3EM=C2(29,:);
matrice3EM=sottomatrice_1(F3EM);
F6EM=C2(35,:);
matrice6EM=sottomatrice_1(F6EM);
FA5_5=[matrice5EP;matrice4EP;matrice1EM;matrice2EM;matrice3EM;matrice6EM];
%%%%%%%%%%%%%
F5FP=C2(6,:);
matrice5FP=sottomatrice_1(F5FP);
F4FP=C2(12,:);
matrice4FP=sottomatrice_1(F4FP);
F1FM=C2(18,:);
matrice1FM=sottomatrice_1(F1FM);
F2FM=C2(24,:);
matrice2FM=sottomatrice_1(F2FM);
F3FM=C2(30,:);
matrice3FM=sottomatrice_1(F3FM);
F6FM=C2(36,:);
matrice6FM=sottomatrice_1(F6FM);
FA6_6=[matrice5FP;matrice4FP;matrice1FM;matrice2FM;matrice3FM;matrice6FM];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%Costruzione della matrice FF che raccolgie tutte le matrici costruite per
%ogni gruppo di carico.
FF=[FA1;FA2;FA3;FA4;FA5;FA6;FA1_1;FA2_2;FA3_3;FA4_4;FA5_5;FA6_6];
%%Adesso si caricano tutti i file relativi alla calibrazione e relativi alle
%differenze di potenziale misurate con gli estensimetri.I file
%din_000_kkk.txt individuano le prove a vuoto effettuate ogni volta prima
626
%di applicare un peso.I file din_kkk.txt individuano i dati relativi alle
%prove sotto carico e relativi alla storia di carico individuata dal codice
%kkk, identico a quello usato sopra per l'individuazione delle forze.
%%Le prove lungo z sono state effettuate 2 volte per ottenere
%successivamente un valor medio dei dati.
load din_000_5AM.txt;
load din_5AM.txt;
load din_000_4AM.txt;
load din_4AM.txt;
load din_000_1AP.txt;
load din_1AP.txt;
load din_000_2AP.txt;
load din_2AP.txt;
load din_000_3AP.txt;
load din_3AP.txt;
load din_000_6AM_1.txt;
load din_000_6AM_2.txt;
load din_6AM_1.txt;
load din_6AM_2.txt;
%%Attraverso la function carica si eliminano le prime righe dei file
%din_000_***.txt e din_***.txt in modo da utilizzare direttamente i valori
%che, a vista, sembrano essere rappresentativi di una condizione di
%equilibrio raggiunta dal dinamometro sia sotto carico che non.La function
%in questione sottrae i valori di din_000_***.txt da quelli di din_***.txt,
%per epurare i valori sotto carico dai valori delle tare. Dopo di che viene
%effettuata una media dei 10 vettori di voltaggi per ottenere uno scalare
%per ciascuno dei 10 ponti estensimetrici.
[DV5AM]=carica(din_000_5AM,din_5AM);
[DV4AM]=carica(din_000_4AM,din_4AM);
[DV1AP]=carica(din_000_1AP,din_1AP);
[DV2AP]=carica(din_000_2AP,din_2AP);
[DV3AP]=carica(din_000_3AP,din_3AP);
[DV6AM_1]=carica(din_000_6AM_1,din_6AM_1);
[DV6AM_2]=carica(din_000_6AM_2,din_6AM_2);
[DV6AM]=(DV6AM_1+DV6AM_2)./2;
load din_000_5BM.txt;
load din_5BM.txt;
load din_000_4BM.txt;
load din_4BM.txt;
load din_000_1BP.txt;
load din_1BP.txt;
load din_000_2BP.txt;
load din_2BP.txt;
load din_000_3BP.txt;
load din_3BP.txt;
load din_000_6BM_1.txt;
load din_000_6BM_2.txt;
load din_6BM_1.txt;
load din_6BM_2.txt;
[DV5BM]=carica(din_000_5BM,din_5BM);
[DV4BM]=carica(din_000_4BM,din_4BM);
[DV1BP]=carica(din_000_1BP,din_1BP);
[DV2BP]=carica(din_000_2BP,din_2BP);
[DV3BP]=carica(din_000_3BP,din_3BP);
[DV6BM_1]=carica(din_000_6BM_1,din_6BM_1);
[DV6BM_2]=carica(din_000_6BM_2,din_6BM_2);
[DV6BM]=(DV6BM_1+DV6BM_2)./2;
load din_000_5CM.txt;
load din_5CM.txt;
load din_000_4CM.txt;
load din_4CM.txt;
load din_000_1CP.txt;
load din_1CP.txt;
load din_000_2CP.txt;
load din_2CP.txt;
load din_000_3CP.txt;
load din_3CP.txt;
load din_000_6CM_1.txt;
load din_000_6CM_2.txt;
load din_6CM_1.txt;
load din_6CM_2.txt;
[DV5CM]=carica(din_000_5CM,din_5CM);
[DV4CM]=carica(din_000_4CM,din_4CM);
[DV1CP]=carica(din_000_1CP,din_1CP);
[DV2CP]=carica(din_000_2CP,din_2CP);
[DV3CP]=carica(din_000_3CP,din_3CP);
[DV6CM_1]=carica(din_000_6CM_1,din_6CM_1);
[DV6CM_2]=carica(din_000_6CM_2,din_6CM_2);
[DV6CM]=(DV6CM_1+DV6CM_2)./2;
load din_000_5DM.txt;
load din_5DM.txt;
load din_000_4DM.txt;
load din_4DM.txt;
load din_000_1DP.txt;
load din_1DP.txt;
load din_000_2DP.txt;
load din_2DP.txt;
load din_000_3DP.txt;
load din_3DP.txt;
load din_000_6DM_1.txt;
load din_000_6DM_2.txt;
628 load din_6DM_1.txt;
load din_6DM_2.txt;
[DV5DM]=carica(din_000_5DM,din_5DM);
[DV4DM]=carica(din_000_4DM,din_4DM);
[DV1DP]=carica(din_000_1DP,din_1DP);
[DV2DP]=carica(din_000_2DP,din_2DP);
[DV3DP]=carica(din_000_3DP,din_3DP);
[DV6DM_1]=carica(din_000_6DM_1,din_6DM_1);
[DV6DM_2]=carica(din_000_6DM_2,din_6DM_2);
[DV6DM]=(DV6DM_1+DV6DM_2)./2;
load din_000_5EM.txt;
load din_5EM.txt;
load din_000_4EM.txt;
load din_4EM.txt;
load din_000_1EP.txt;
load din_1EP.txt;
load din_000_2EP.txt;
load din_2EP.txt;
load din_000_3EP.txt;
load din_3EP.txt;
load din_000_6EM_1.txt;
load din_000_6EM_2.txt;
load din_6EM_1.txt;
load din_6EM_2.txt;
[DV5EM]=carica(din_000_5EM,din_5EM);
[DV4EM]=carica(din_000_4EM,din_4EM);
[DV1EP]=carica(din_000_1EP,din_1EP);
[DV2EP]=carica(din_000_2EP,din_2EP);
[DV3EP]=carica(din_000_3EP,din_3EP);
[DV6EM_1]=carica(din_000_6EM_1,din_6EM_1);
[DV6EM_2]=carica(din_000_6EM_2,din_6EM_2);
[DV6EM]=(DV6EM_1+DV6EM_2)./2;
load din_000_5FM.txt;
load din_5FM.txt;
load din_000_4FM.txt;
load din_4FM.txt;
load din_000_1FP.txt;
load din_1FP.txt;
load din_000_2FP.txt;
load din_2FP.txt;
load din_000_3FP.txt;
load din_3FP.txt;
load din_000_6FM_1.txt;
load din_000_6FM_2.txt;
load din_6FM_1.txt;
load din_6FM_2.txt;
[DV5FM]=carica(din_000_5FM,din_5FM);
[DV4FM]=carica(din_000_4FM,din_4FM);
[DV1FP]=carica(din_000_1FP,din_1FP);
[DV2FP]=carica(din_000_2FP,din_2FP);
[DV3FP]=carica(din_000_3FP,din_3FP);
[DV6FM_1]=carica(din_000_6FM_1,din_6FM_1);
[DV6FM_2]=carica(din_000_6FM_2,din_6FM_2);
[DV6FM]=(DV6FM_1+DV6FM_2)./2;
load din_000_5AP.txt;
load din_5AP.txt;
load din_000_4AP.txt;
load din_4AP.txt;
load din_000_1AM.txt;
load din_1AM.txt;
load din_000_2AM.txt;
load din_2AM.txt;
load din_000_3AM.txt;
load din_3AM.txt;
[DV5AP]=carica(din_000_5AP,din_5AP);
[DV4AP]=carica(din_000_4AP,din_4AP);
[DV1AM]=carica(din_000_1AM,din_1AM);
[DV2AM]=carica(din_000_2AM,din_2AM);
[DV3AM]=carica(din_000_3AM,din_3AM);
[DV6AM_1]=carica(din_000_6AM_1,din_6AM_1);
load din_000_5BP.txt;
load din_5BP.txt;
load din_000_4BP.txt;
load din_4BP.txt;
load din_000_1BM.txt;
load din_1BM.txt;
load din_000_2BM.txt;
load din_2BM.txt;
load din_000_3BM.txt;
load din_3BM.txt;
load din_000_6BM_1.txt;
load din_6BM_1.txt;
[DV5BP]=carica(din_000_5BP,din_5BP);
[DV4BP]=carica(din_000_4BP,din_4BP);
[DV1BM]=carica(din_000_1BM,din_1BM);
[DV2BM]=carica(din_000_2BM,din_2BM);
[DV3BM]=carica(din_000_3BM,din_3BM);
[DV6BM_1]=carica(din_000_6BM_1,din_6BM_1);
load din_000_5CP.txt;
load din_5CP.txt;
load din_000_4CP.txt;
630 load din_4CP.txt;
load din_000_1CM.txt;
load din_1CM.txt;
load din_000_2CM.txt;
load din_2CM.txt;
load din_000_3CM.txt;
load din_3CM.txt;
load din_000_6CM_1.txt;
load din_6CM_1.txt;
[DV5CP]=carica(din_000_5CP,din_5CP);
[DV4CP]=carica(din_000_4CP,din_4CP);
[DV1CM]=carica(din_000_1CM,din_1CM);
[DV2CM]=carica(din_000_2CM,din_2CM);
[DV3CM]=carica(din_000_3CM,din_3CM);
[DV6CM_1]=carica(din_000_6CM_1,din_6CM_1);
load din_000_5DP.txt;
load din_5DP.txt;
load din_000_4DP.txt;
load din_4DP.txt;
load din_000_1DM.txt;
load din_1DM.txt;
load din_000_2DM.txt;
load din_2DM.txt;
load din_000_3DM.txt;
load din_3DM.txt;
load din_000_6DM_1.txt;
load din_6DM_1.txt;
[DV5DP]=carica(din_000_5DP,din_5DP);
[DV4DP]=carica(din_000_4DP,din_4DP);
[DV1DM]=carica(din_000_1DM,din_1DM);
[DV2DM]=carica(din_000_2DM,din_2DM);
[DV3DM]=carica(din_000_3DM,din_3DM);
[DV6DM_1]=carica(din_000_6DM_1,din_6DM_1);
load din_000_5EP.txt;
load din_5EP.txt;
load din_000_4EP.txt;
load din_4EP.txt;
load din_000_1EM.txt;
load din_1EM.txt;
load din_000_2EM.txt;
load din_2EM.txt;
load din_000_3EM.txt;
load din_3EM.txt;
load din_000_6EM_1.txt;
load din_6EM_1.txt;
[DV5EP]=carica(din_000_5EP,din_5EP);
[DV4EP]=carica(din_000_4EP,din_4EP);
[DV1EM]=carica(din_000_1EM,din_1EM);
[DV2EM]=carica(din_000_2EM,din_2EM);
[DV3EM]=carica(din_000_3EM,din_3EM);
[DV6EM_1]=carica(din_000_6EM_1,din_6EM_1);
load din_000_5FP.txt;
load din_5FP.txt;
load din_000_4FP.txt;
load din_4FP.txt;
load din_000_1FM.txt;
load din_1FM.txt;
load din_000_2FM.txt;
load din_2FM.txt;
load din_000_3FM.txt;
load din_3FM.txt;
load din_000_6FM_1.txt;
load din_6FM_1.txt;
[DV5FP]=carica(din_000_5FP,din_5FP);
[DV4FP]=carica(din_000_4FP,din_4FP);
[DV1FM]=carica(din_000_1FM,din_1FM);
[DV2FM]=carica(din_000_2FM,din_2FM);
[DV3FM]=carica(din_000_3FM,din_3FM);
[DV6FM_1]=carica(din_000_6FM_1,din_6FM_1);
%%Adesso viene costruito il megavettore VV che raccoglie i valori dei 10
%ponti estensimetrici per ciascuna prova
VV=[DV5AM DV4AM DV1AP DV2AP DV3AP DV6AM...
DV5BM DV4BM DV1BP DV2BP DV3BP DV6BM ...
DV5CM DV4CM DV1CP DV2CP DV3CP DV6CM...
DV5DM DV4DM DV1DP DV2DP DV3DP DV6DM...
DV5EM DV4EM DV1EP DV2EP DV3EP DV6EM...
DV5FM DV4FM DV1FP DV2FP DV3FP DV6FM...
DV5AP DV4AP DV1AM DV2AM DV3AM DV6AM...
DV5BP DV4BP DV1BM DV2BM DV3BM DV6BM...
DV5CP DV4CP DV1CM DV2CM DV3CM DV6CM...
DV5DP DV4DP DV1DM DV2DM DV3DM DV6DM...
DV5EP DV4EP DV1EM DV2EM DV3EM DV6EM...
DV5FP DV4FP DV1FM DV2FM DV3FM DV6FM]';
%%Viene applicato adesso il metodo dei minimi quadrati, mediante la
%divisione a sinistra(\), per ottenere il vettore aa i cui elementi
%verranno successivamente raccolti nella matrice AA, che rappresenta la
%matrice di calibrazione cercata.
aa=(FF\VV)';
AA=[aa(1:6);aa(7:12);aa(13:18);aa(19:24);aa(25:30);aa(31:36);aa(37:42);aa(43:48);aa(49:54);aa (55:60)];
% Calcolo verifica con pesi inconiti della calibrazione
632 load peso_inc_1_000.txt
load peso_inc_1.txt load peso_inc_2_000.txt load peso_inc_2.txt load peso_inc_4_000.txt load peso_inc_4.txt load peso_inc_5_000.txt load peso_inc_5.txt load peso_inc_6_000.txt load peso_inc_6.txt
%Calcolo peso incognito 1
[V_peso_inc_1]=carica(peso_inc_1_000,peso_inc_1);
Peso_inc_1=AA\V_peso_inc_1';
%Calcolo peso incognito 2
[V_peso_inc_2]=carica(peso_inc_2_000,peso_inc_2);
Peso_inc_2=AA\V_peso_inc_2';
%Calcolo peso incognito 4
[V_peso_inc_4]=carica(peso_inc_4_000,peso_inc_4);
Peso_inc_4=AA\V_peso_inc_4';
%Calcolo peso incognito 5
[V_peso_inc_5]=carica(peso_inc_5_000,peso_inc_5);
Peso_inc_5=AA\V_peso_inc_5';
%Calcolo peso incognito 6
[V_peso_inc_6]=carica(peso_inc_6_000,peso_inc_6);
Peso_inc_6=AA\V_peso_inc_6';
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Plottaggio dati
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Forza_stimata_F5AM=AA\DV5AM';
Forza_stimata_F4AM=AA\DV4AM';
Forza_stimata_F1AP=AA\DV1AP';
Forza_stimata_F2AP=AA\DV2AP';
Forza_stimata_F3AP=AA\DV3AP';
Forza_stimata_F6AM_1=AA\DV6AM';
Forza_stimata_F5BM=AA\DV5BM';
Forza_stimata_F4BM=AA\DV4BM';
Forza_stimata_F1BP=AA\DV1BP';
Forza_stimata_F2BP=AA\DV2BP';
Forza_stimata_F3BP=AA\DV3BP';
Forza_stimata_F6BM_1=AA\DV6BM';
Forza_stimata_F5CM=AA\DV5CM';
Forza_stimata_F4CM=AA\DV4CM';
Forza_stimata_F1CP=AA\DV1CP';
Forza_stimata_F2CP=AA\DV2CP';
Forza_stimata_F3CP=AA\DV3CP';
Forza_stimata_F6CM_1=AA\DV6CM';
Forza_stimata_F5DM=AA\DV5DM';
Forza_stimata_F4DM=AA\DV4DM';
Forza_stimata_F1DP=AA\DV1DP';
Forza_stimata_F2DP=AA\DV2DP';
Forza_stimata_F3DP=AA\DV3DP';
Forza_stimata_F6DM_1=AA\DV6DM';
Forza_stimata_F5EM=AA\DV5EM';
Forza_stimata_F4EM=AA\DV4EM';
Forza_stimata_F1EP=AA\DV1EP';
Forza_stimata_F2EP=AA\DV2EP';
Forza_stimata_F3EP=AA\DV3EP';
Forza_stimata_F6EM_1=AA\DV6EM';
Forza_stimata_F5FM=AA\DV5FM';
Forza_stimata_F4FM=AA\DV4FM';
Forza_stimata_F1FP=AA\DV1FP';
Forza_stimata_F2FP=AA\DV2FP';
Forza_stimata_F3FP=AA\DV3FP';
Forza_stimata_F6FM_1=AA\DV6FM';
%%%%%%%
Forza_stimata_F5AP=AA\DV5AP';
Forza_stimata_F4AP=AA\DV4AP';
Forza_stimata_F1AM=AA\DV1AM';
Forza_stimata_F2AM=AA\DV2AM';
Forza_stimata_F3AM=AA\DV3AM';
Forza_stimata_F6AM_1=AA\DV6AM';
Forza_stimata_F5BP=AA\DV5BP';
Forza_stimata_F4BP=AA\DV4BP';
Forza_stimata_F1BM=AA\DV1BM';
Forza_stimata_F2BM=AA\DV2BM';
Forza_stimata_F3BM=AA\DV3BM';
Forza_stimata_F6BM_1=AA\DV6BM';
Forza_stimata_F5CP=AA\DV5CP';
Forza_stimata_F4CP=AA\DV4CP';
Forza_stimata_F1CM=AA\DV1CM';
Forza_stimata_F2CM=AA\DV2CM';
Forza_stimata_F3CM=AA\DV3CM';
Forza_stimata_F6CM_1=AA\DV6CM';
Forza_stimata_F5DP=AA\DV5DP';
Forza_stimata_F4DP=AA\DV4DP';
Forza_stimata_F1DM=AA\DV1DM';
Forza_stimata_F2DM=AA\DV2DM';
Forza_stimata_F3DM=AA\DV3DM';
Forza_stimata_F6DM_1=AA\DV6DM';
634 Forza_stimata_F5EP=AA\DV5EP';
Forza_stimata_F4EP=AA\DV4EP';
Forza_stimata_F1EM=AA\DV1EM';
Forza_stimata_F2EM=AA\DV2EM';
Forza_stimata_F3EM=AA\DV3EM';
Forza_stimata_F6EM_1=AA\DV6EM';
Forza_stimata_F5FP=AA\DV5FP';
Forza_stimata_F4FP=AA\DV4FP';
Forza_stimata_F1FM=AA\DV1FM';
Forza_stimata_F2FM=AA\DV2FM';
Forza_stimata_F3FM=AA\DV3FM';
Forza_stimata_F6FM_1=AA\DV6FM';
%%F_Reale rappresenta la vera forza calcolata sulla base dei valori
%effettivi delle masse dei pesi utilizzati durante la prova. Invece
%F_Stimata rappresenta i valori delle forze così come risultano calcolate
%sulla basae dei valori ottenuti dai ponti estensimetrici.
F_Reale=[F5AM F4AM F1AP F2AP F3AP F6AM F5BM F4BM F1BP F2BP F3BP F6BM F5CM F4CM F1CP F2CP F3CP F6CM F5DM F4DM F1DP F2DP F3DP F6DM...
F5EM F4EM F1EP F2EP F3EP F6EM F5FM F4FM F1FP F2FP F3FP F6FM F5AP F4AP F1AM F2AM F3AM F6AM F5BP F4BP F1BM F2BM F3BM F6BM...
F5CP F4CP F1CM F2CM F3CM F6CM F5DP F4DP F1DM F2DM F3DM F6DM F5EP F4EP F1EM F2EM F3EM F6EM F5FP F4FP F1FM F2FM F3FM F6FM]';
F_Stimata=[Forza_stimata_F5AM;Forza_stimata_F4AM;Forza_stimata_F1AP;Forza_stimata_F2 AP;Forza_stimata_F3AP;Forza_stimata_F6AM_1;Forza_stimata_F5BM;Forza_stimata_F4BM;Fo rza_stimata_F1BP;Forza_stimata_F2BP;Forza_stimata_F3BP;Forza_stimata_F6BM_1;Forza_sti mata_F5CM;Forza_stimata_F4CM;Forza_stimata_F1CP;Forza_stimata_F2CP;Forza_stimata_F3 CP;Forza_stimata_F6CM_1;Forza_stimata_F5DM;Forza_stimata_F4DM;Forza_stimata_F1DP;F orza_stimata_F2DP;Forza_stimata_F3DP;Forza_stimata_F6DM_1;Forza_stimata_F5EM;Forza_
stimata_F4EM;Forza_stimata_F1EP;Forza_stimata_F2EP;Forza_stimata_F3EP;Forza_stimata_F 6EM_1;Forza_stimata_F5FM;Forza_stimata_F4FM;Forza_stimata_F1FP;Forza_stimata_F2FP;Fo rza_stimata_F3FP;Forza_stimata_F6FM_1;Forza_stimata_F5AP;Forza_stimata_F4AP;Forza_sti mata_F1AM;Forza_stimata_F2AM;Forza_stimata_F3AM;Forza_stimata_F6AM_1;Forza_stimat a_F5BP;Forza_stimata_F4BP;Forza_stimata_F1BM;Forza_stimata_F2BM;Forza_stimata_F3BM;
Forza_stimata_F6BM_1;Forza_stimata_F5CP;Forza_stimata_F4CP;Forza_stimata_F1CM;Forza_
stimata_F2CM;Forza_stimata_F3CM;Forza_stimata_F6CM_1;Forza_stimata_F5DP;Forza_stima ta_F4DP;Forza_stimata_F1DM;Forza_stimata_F2DM;Forza_stimata_F3DM;Forza_stimata_F6D M_1;Forza_stimata_F5EP;Forza_stimata_F4EP;Forza_stimata_F1EM;Forza_stimata_F2EM;Forz a_stimata_F3EM;Forza_stimata_F6EM_1;Forza_stimata_F5FP;Forza_stimata_F4FP;Forza_stim ata_F1FM;Forza_stimata_F2FM;Forza_stimata_F3FM;Forza_stimata_F6FM_1];
Fx_Stimata=F_Stimata(1:6:end);
Fy_Stimata=F_Stimata(2:6:end);
Mx_Stimata=F_Stimata(3:6:end);
My_Stimata=F_Stimata(4:6:end);
Mz_Stimata=F_Stimata(5:6:end);
Fz_Stimata=F_Stimata(6:6:end);
Fx_Reale=F_Reale(1:6:end);
Fy_Reale=F_Reale(2:6:end);
Mx_Reale=F_Reale(3:6:end);
My_Reale=F_Reale(4:6:end);
Mz_Reale=F_Reale(5:6:end);
Fz_Reale=F_Reale(6:6:end);
figure ('Name','Fx')
plot(Fx_Reale,Fx_Stimata,'*r') axis square
hold on
xx=[-300:1:300];
yy=xx;
plot(xx,yy)
xlabel('Real Force F_x, [N]') ylabel('Extimated Force F_x, [N]') grid on
box on
figure ('Name','Fy')
plot(Fy_Reale,Fy_Stimata,'pg') axis square
hold on
xx=[-300:1:300];
yy=xx;
plot(xx,yy)
xlabel('Real Force F_y, [N]') ylabel('Extimated Force F_y, [N]') grid on
box on
figure ('Name','Mx')
plot(Mx_Reale,Mx_Stimata,'ob') axis square
hold on xx=[-60:1:60];
yy=xx;
plot(xx,yy)
xlabel('Real moment of force M_x, [N m]') ylabel('Extimated moment of force M_x, [N m]') grid on
box on
figure ('Name','My')
plot(My_Reale,My_Stimata,'sy') axis square
hold on xx=[-60:1:60];
yy=xx;
636 plot(xx,yy)
xlabel('Real moment of force M_y, [N m]') ylabel('Extimated moment of force M_y, [N m]') grid on
box on
figure ('Name','Mz')
plot(Mz_Reale,Mz_Stimata,'+k') axis square
hold on xx=[-35:1:35];
yy=xx;
plot(xx,yy)
xlabel('Real moment of force M_z, [N m]') ylabel('Extimated moment of force M_z, [N m]') grid on
box on
figure ('Name','Fz')
plot(Fz_Reale,Fz_Stimata,'xm') axis square
hold on xx=[-300:1:0];
yy=xx;
plot(xx,yy)
xlabel('Real Force F_z, [N]') ylabel('Extimated Force F_z, [N]') grid on
box on
save ('dati_calibrazione_matrice_A','F_Reale','F_Stimata');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Calcolo della retta di regressione dei dati
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Regressione per i dati relativi alla componente x della forza registrata
% dal dinamometro m=length(Fx_Reale);
MQ_Fx=[Fx_Reale ones(m,1)];
% Vettore delle incognite calcolata nel senso dei minimi quadrati (
% rappresentano la pendenza e l'intercetta della retta di regressione dei
% dati).
c_Fx=MQ_Fx\Fx_Stimata;
xi=linspace(-300,300,600);
yi_Fx=polyval(c_Fx,xi);
figure
plot(xi,yi_Fx,Fx_Reale,Fx_Stimata,'om')
grid on box on
xlabel('Forza Reale F_x, [N]') ylabel('Forza Stimata F_x, [N]') hold on
xx=[-300:1:300];
yy=xx;
plot(xx,yy,'-r')
legend('Regressione lineare','Dati sperimentali','Bisettrice')
% Coefficiente di correlazione per vedere quanto bene la retta stima i
% punti sperimentali
Fx_Reale_Medio=sum(Fx_Reale)/m; % Valore medio della forza reale Fx_Stimata_Medio=sum(Fx_Stimata)/m; % Valore medio della forza stimata
% Coefficiente di correlazione
corr_Fx=((Fx_Reale-Fx_Reale_Medio)'*(Fx_Stimata-Fx_Stimata_Medio))/sqrt(((sum((Fx_Reale- Fx_Reale_Medio).^2)*((sum((Fx_Stimata-Fx_Stimata_Medio).^2))))));
% Calcolo della bontà dell'approssimazione
% Differenza tra valore calcolato con la retta di regressione ed il valore
% medio del dato
Fx_Regr=polyval(c_Fx,[Fx_Reale]);
% Residuo
d_Fx=Fx_Regr-Fx_Stimata_Medio;
R_Fx=(sum((d_Fx).^2))/(sum((Fx_Stimata-Fx_Stimata_Medio).^2));
% Errore standard per la stima per la F_x
S_Fx=sqrt((sum((Fx_Stimata-Fx_Regr).^2)/(m-2)));
% Intervallo di confidenza per la media della Forza stimata per la Fx
% t di Student per 70 g.d.l.
gdl=70;
t=1.9944; % 95% di confidence level
hi_Fx=(1/gdl)+((Fx_Stimata-Fx_Stimata_Medio).^2)/(sum((Fx_Stimata- Fx_Stimata_Medio).^2));
% Valore dell'intervallo per il confidence level prescelto per la media e
% per una nuova estrazione Int_Fx_MEDIO=t*S_Fx*sqrt(hi_Fx);
Int_Fx=t*S_Fx*sqrt(hi_Fx+1);
I_Fx_Medio=max(Int_Fx_MEDIO);
I_Fx=max(Int_Fx);
Fx_LimiteSUP_REGR_MEDIO=Fx_Regr+Int_Fx_MEDIO;
Fx_LimiteINF_REGR_MEDIO=Fx_Regr-Int_Fx_MEDIO;
Fx_LimiteSUP_REGR=Fx_Regr+Int_Fx;
Fx_LimiteINF_REGR=Fx_Regr-Int_Fx;
% Plottaggio dei limiti superiori ed inferiori della Fx in base al
% confidence level scelto con l'intervallo calcolato per una soingola estrazione,
% unitamente alla retta di regressione lineare e ai dati sperimentali.
figure
plot(xi,yi_Fx,Fx_Reale,Fx_Stimata,'om')
638 grid on
box on
xlabel('Forza Reale F_x, [N]') ylabel('Forza Stimata F_x, [N]') hold on
plot(Fx_Reale,Fx_LimiteSUP_REGR,'--r',Fx_Reale,Fx_LimiteINF_REGR,'-g')
legend('Regressione lineare','Dati sperimentali','Limite superiore','Limite inferiore')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Regressione per i dati relativi alla componente y della forza registrata
% dal dinamometro m=length(Fy_Reale);
MQ_Fy=[Fy_Reale ones(m,1)];
% Vettore delle incognite calcolata nel senso dei minimi quadrati (
% rappresentano la pendenza e l'intercetta della retta di regressione dei
% dati).
c_Fy=MQ_Fy\Fy_Stimata;
xi=linspace(-300,300,600);
yi_Fy=polyval(c_Fy,xi);
figure
plot(xi,yi_Fy,Fy_Reale,Fy_Stimata,'om') grid on
box on
xlabel('Forza Reale F_y, [N]') ylabel('Forza Stimata F_y, [N]') hold on
xx=[-300:1:300];
yy=xx;
plot(xx,yy,'-r')
legend('Regressione lineare','Dati sperimentali','Bisettrice')
% Coefficiente di correlazione per vedere quanto bene la retta stima i
% punti sperimentali
Fy_Reale_Medio=sum(Fy_Reale)/m; % Valore medio della forza reale Fy_Stimata_Medio=sum(Fy_Stimata)/m; % Valore medio della forza stimata
% Coefficiente di correlazione
corr_Fy=((Fy_Reale-Fy_Reale_Medio)'*(Fy_Stimata-Fy_Stimata_Medio))/sqrt(((sum((Fy_Reale- Fy_Reale_Medio).^2)*((sum((Fy_Stimata-Fy_Stimata_Medio).^2))))));
% Calcolo della bontà dell'approssimazione
% Differenza tra valore calcolato con la retta di regressione ed il valore
% medio del dato
Fy_Regr=polyval(c_Fy,[Fy_Reale]);
% Residuo
d_Fy=Fy_Regr-Fy_Stimata_Medio;
R_Fy=(sum((d_Fy).^2))/(sum((Fy_Stimata-Fy_Stimata_Medio).^2));
% Errore standard per la stima per la F_y
S_Fy=sqrt((sum((Fy_Stimata-Fy_Regr).^2)/(m-2)));
% Intervallo di confidenza per la media della Forza stimata per la Fy
% t di Student per 70 g.d.l.
gdl=70;
t=1.9944; % 95% di confidence level
hi_Fy=(1/gdl)+((Fy_Stimata-Fy_Stimata_Medio).^2)/(sum((Fy_Stimata- Fy_Stimata_Medio).^2));
% Valore dell'intervallo per il confidence level prescelto per la media e
% per una nuova estrazione Int_Fy_MEDIO=t*S_Fy*sqrt(hi_Fy);
Int_Fy=t*S_Fy*sqrt(hi_Fy+1);
I_Fy_Medio=max(Int_Fy_MEDIO);
I_Fy=max(Int_Fy);
Fy_LimiteSUP_REGR_MEDIO=Fy_Regr+Int_Fy_MEDIO;
Fy_LimiteINF_REGR_MEDIO=Fy_Regr-Int_Fy_MEDIO;
Fy_LimiteSUP_REGR=Fy_Regr+Int_Fy;
Fy_LimiteINF_REGR=Fy_Regr-Int_Fy;
% Plottaggio dei limiti superiori ed inferiori della Fy in base al
% confidence level scelto con l'intervallo calcolato per una soingola estrazione,
% unitamente alla retta di regressione lineare e ai dati sperimentali.
figure
plot(xi,yi_Fy,Fy_Reale,Fy_Stimata,'om') grid on
box on
xlabel('Forza Reale F_y, [N]') ylabel('Forza Stimata F_y, [N]') hold on
plot(Fy_Reale,Fy_LimiteSUP_REGR,'--r',Fy_Reale,Fy_LimiteINF_REGR,'-g')
legend('Regressione lineare','Dati sperimentali','Limite superiore','Limite inferiore')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Regressione per i dati relativi alla componente z della forza registrata
% dal dinamometro m=length(Fz_Reale);
MQ_Fz=[Fz_Reale ones(m,1)];
% Vettore delle incognite calcolata nel senso dei minimi quadrati (
% rappresentano la pendenza e l'intercetta della retta di regressione dei
% dati).
c_Fz=MQ_Fz\Fz_Stimata;
xi=linspace(-300,0,300);
yi_Fz=polyval(c_Fz,xi);
figure
plot(xi,yi_Fz,Fz_Reale,Fz_Stimata,'om') grid on
box on
xlabel('Forza Reale F_z, [N]') ylabel('Forza Stimata F_z, [N]') hold on
640 xx=[-300:1:0];
yy=xx;
plot(xx,yy,'-r')
legend('Regressione lineare','Dati sperimentali','Bisettrice')
% Coefficiente di correlazione per vedere quanto bene la retta stima i
% punti sperimentali
Fz_Reale_Medio=sum(Fz_Reale)/m; % Valore medio della forza reale Fz_Stimata_Medio=sum(Fz_Stimata)/m; % Valore medio della forza stimata
% Coefficiente di correlazione
corr_Fz=((Fz_Reale-Fz_Reale_Medio)'*(Fz_Stimata-Fz_Stimata_Medio))/sqrt(((sum((Fz_Reale- Fz_Reale_Medio).^2)*((sum((Fz_Stimata-Fz_Stimata_Medio).^2))))));
% Calcolo della bontà dell'approssimazione
% Differenza tra valore calcolato con la retta di regressione ed il valore
% medio del dato
Fz_Regr=polyval(c_Fz,[Fz_Reale]);
% Residuo
d_Fz=Fz_Regr-Fz_Stimata_Medio;
R_Fz=(sum((d_Fz).^2))/(sum((Fz_Stimata-Fz_Stimata_Medio).^2));
% Errore standard per la stima per la F_z
S_Fz=sqrt((sum((Fz_Stimata-Fz_Regr).^2)/(m-2)));
% Intervallo di confidenza per la media della Forza stimata per la Fz
% t di Student per 70 g.d.l.
gdl=70;
t=1.9944; % 95% di confidence level
hi_Fz=(1/gdl)+((Fz_Stimata-Fz_Stimata_Medio).^2)/(sum((Fz_Stimata-Fz_Stimata_Medio).^2));
% Valore dell'intervallo per il confidence level prescelto per la media e
% per una nuova estrazione Int_Fz_MEDIO=t*S_Fz*sqrt(hi_Fz);
Int_Fz=t*S_Fz*sqrt(hi_Fz+1);
I_Fz_Medio=max(Int_Fz_MEDIO);
I_Fz=max(Int_Fz);
Fz_LimiteSUP_REGR_MEDIO=Fz_Regr+Int_Fz_MEDIO;
Fz_LimiteINF_REGR_MEDIO=Fz_Regr-Int_Fz_MEDIO;
Fz_LimiteSUP_REGR=Fz_Regr+Int_Fz;
Fz_LimiteINF_REGR=Fz_Regr-Int_Fz;
% Plottaggio dei limiti superiori ed inferiori della Fz in base al
% confidence level scelto con l'intervallo calcolato per una soingola estrazione,
% unitamente alla retta di regressione lineare e ai dati sperimentali.
figure
plot(xi,yi_Fz,Fz_Reale,Fz_Stimata,'om') grid on
box on
xlabel('Forza Reale F_z, [N]') ylabel('Forza Stimata F_z, [N]') hold on
plot(Fz_Reale,Fz_LimiteSUP_REGR,'--r',Fz_Reale,Fz_LimiteINF_REGR,'-g')
legend('Regressione lineare','Dati sperimentali','Limite superiore','Limite inferiore')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Regressione per i dati relativi alla componente x della coppia registrata
% dal dinamometro m=length(Mx_Reale);
MQ_Mx=[Mx_Reale ones(m,1)];
% Vettore delle incognite calcolata nel senso dei minimi quadrati (
% rappresentano la pendenza e l'intercetta della retta di regressione dei
% dati).
c_Mx=MQ_Mx\Mx_Stimata;
xi=linspace(-60,60,300);
yi_Mx=polyval(c_Mx,xi);
figure
plot(xi,yi_Mx,Mx_Reale,Mx_Stimata,'om') grid on
box on
xlabel('Momento Reale M_x, [N]') ylabel('Momento Stimato M_x, [N]') hold on
xx=[-60:1:60];
yy=xx;
plot(xx,yy,'-r')
legend('Regressione lineare','Dati sperimentali','Bisettrice')
% Coefficiente di correlazione per vedere quanto bene la retta stima i
% punti sperimentali
Mx_Reale_Medio=sum(Mx_Reale)/m; % Valore medio della forza reale Mx_Stimata_Medio=sum(Mx_Stimata)/m; % Valore medio della forza stimata
% Coefficiente di correlazione
corr_Mx=((Mx_Reale-Mx_Reale_Medio)'*(Mx_Stimata-
Mx_Stimata_Medio))/sqrt(((sum((Mx_Reale-Mx_Reale_Medio).^2)*((sum((Mx_Stimata- Mx_Stimata_Medio).^2))))));
% Calcolo della bontà dell'approssimazione
% Differenza tra valore calcolato con la retta di regressione ed il valore
% medio del dato
Mx_Regr=polyval(c_Mx,[Mx_Reale]);
% Residuo
d_Mx=Mx_Regr-Mx_Stimata_Medio;
R_Mx=(sum((d_Mx).^2))/(sum((Mx_Stimata-Mx_Stimata_Medio).^2));
% Errore standard per la stima per la M_x
S_Mx=sqrt((sum((Mx_Stimata-Mx_Regr).^2)/(m-2)));
% Intervallo di confidenza per la media della coppia stimata per la Mx
% t di Student per 70 g.d.l.
gdl=70;
t=1.9944; % 95% di confidence level
642
hi_Mx=(1/gdl)+((Mx_Stimata-Mx_Stimata_Medio).^2)/(sum((Mx_Stimata- Mx_Stimata_Medio).^2));
% Valore dell'intervallo per il confidence level prescelto per la media e
% per una nuova estrazione
Int_Mx_MEDIO=t*S_Mx*sqrt(hi_Mx);
Int_Mx=t*S_Mx*sqrt(hi_Mx+1);
I_Mx_Medio=max(Int_Mx_MEDIO);
I_Mx=max(Int_Mx);
Mx_LimiteSUP_REGR_MEDIO=Mx_Regr+Int_Mx_MEDIO;
Mx_LimiteINF_REGR_MEDIO=Mx_Regr-Int_Mx_MEDIO;
Mx_LimiteSUP_REGR=Mx_Regr+Int_Mx;
Mx_LimiteINF_REGR=Mx_Regr-Int_Mx;
% Plottaggio dei limiti superiori ed inferiori della Mx in base al
% confidence level scelto con l'intervallo calcolato per una soingola estrazione,
% unitamente alla retta di regressione lineare e ai dati sperimentali.
figure
plot(xi,yi_Mx,Mx_Reale,Mx_Stimata,'om') grid on
box on
xlabel('Momento Reale M_x, [N]') ylabel('Momento Stimata M_x, [N]') hold on
plot(Mx_Reale,Mx_LimiteSUP_REGR,'--r',Mx_Reale,Mx_LimiteINF_REGR,'-g') legend('Regressione lineare','Dati sperimentali','Limite superiore','Limite inferiore')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Regressione per i dati relativi alla componente y della coppia registrata
% dal dinamometro m=length(My_Reale);
MQ_My=[My_Reale ones(m,1)];
% Vettore delle incognite calcolata nel senso dei minimi quadrati (
% rappresentano la pendenza e l'intercetta della retta di regressione dei
% dati).
c_My=MQ_My\My_Stimata;
xi=linspace(-60,60,300);
yi_My=polyval(c_My,xi);
figure
plot(xi,yi_My,My_Reale,My_Stimata,'om') grid on
box on
xlabel('Momento Reale M_y, [N]') ylabel('Momento Stimato M_y, [N]') hold on
xx=[-60:1:60];
yy=xx;
plot(xx,yy,'-r')
legend('Regressione lineare','Dati sperimentali','Bisettrice')
% Coefficiente di correlazione per vedere quanto bene la retta stima i
% punti sperimentali
My_Reale_Medio=sum(My_Reale)/m; % Valore medio della forza reale My_Stimata_Medio=sum(My_Stimata)/m; % Valore medio della forza stimata
% Coefficiente di correlazione
corr_My=((My_Reale-My_Reale_Medio)'*(My_Stimata-
My_Stimata_Medio))/sqrt(((sum((My_Reale-My_Reale_Medio).^2)*((sum((My_Stimata- My_Stimata_Medio).^2))))));
% Calcolo della bontà dell'approssimazione
% Differenza tra valore calcolato con la retta di regressione ed il valore
% medio del dato
My_Regr=polyval(c_My,[My_Reale]);
% Residuo
d_My=My_Regr-My_Stimata_Medio;
R_My=(sum((d_My).^2))/(sum((My_Stimata-My_Stimata_Medio).^2));
% Errore standard per la stima per la M_y
S_My=sqrt((sum((My_Stimata-My_Regr).^2)/(m-2)));
% Intervallo di confidenza per la media della coppia stimata per la My
% t di Student per 70 g.d.l.
gdl=70;
t=1.9944; % 95% di confidence level
hi_My=(1/gdl)+((My_Stimata-My_Stimata_Medio).^2)/(sum((My_Stimata- My_Stimata_Medio).^2));
% Valore dell'intervallo per il confidence level prescelto per la media e
% per una nuova estrazione
Int_My_MEDIO=t*S_My*sqrt(hi_My);
Int_My=t*S_My*sqrt(hi_My+1);
I_My_Medio=max(Int_My_MEDIO);
I_My=max(Int_My);
My_LimiteSUP_REGR_MEDIO=My_Regr+Int_My_MEDIO;
My_LimiteINF_REGR_MEDIO=My_Regr-Int_My_MEDIO;
My_LimiteSUP_REGR=My_Regr+Int_My;
My_LimiteINF_REGR=My_Regr-Int_My;
% Plottaggio dei limiti superiori ed inferiori della My in base al
% confidence level scelto con l'intervallo calcolato per una soingola estrazione,
% unitamente alla retta di regressione lineare e ai dati sperimentali.
figure
plot(xi,yi_My,My_Reale,My_Stimata,'om') grid on
box on
xlabel('Momento Reale M_y, [N]') ylabel('Momento Stimata M_y, [N]') hold on
plot(My_Reale,My_LimiteSUP_REGR,'--r',My_Reale,My_LimiteINF_REGR,'-g')
644
legend('Regressione lineare','Dati sperimentali','Limite superiore','Limite inferiore')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Regressione per i dati relativi alla componente z della coppia registrata
% dal dinamometro m=length(Mz_Reale);
MQ_Mz=[Mz_Reale ones(m,1)];
% Vettore delle incognite calcolata nel senso dei minimi quadrati (
% rappresentano la pendenza e l'intercetta della retta di regressione dei
% dati).
c_Mz=MQ_Mz\Mz_Stimata;
xi=linspace(-60,60,300);
yi_Mz=polyval(c_Mz,xi);
figure
plot(xi,yi_Mz,Mz_Reale,Mz_Stimata,'om') grid on
box on
xlabel('Momento Reale M_z, [N]') ylabel('Momento Stimato M_z, [N]') hold on
xx=[-60:1:60];
yy=xx;
plot(xx,yy,'-r')
legend('Regressione lineare','Dati sperimentali','Bisettrice')
% Coefficiente di correlazione per vedere quanto bene la retta stima i
% punti sperimentali
Mz_Reale_Medio=sum(Mz_Reale)/m; % Valore medio della forza reale Mz_Stimata_Medio=sum(Mz_Stimata)/m; % Valore medio della forza stimata
% Coefficiente di correlazione
corr_Mz=((Mz_Reale-Mz_Reale_Medio)'*(Mz_Stimata-
Mz_Stimata_Medio))/sqrt(((sum((Mz_Reale-Mz_Reale_Medio).^2)*((sum((Mz_Stimata- Mz_Stimata_Medio).^2))))));
% Calcolo della bontà dell'approssimazione
% Differenza tra valore calcolato con la retta di regressione ed il valore
% medio del dato
Mz_Regr=polyval(c_Mz,[Mz_Reale]);
% Residuo
d_Mz=Mz_Regr-Mz_Stimata_Medio;
R_Mz=(sum((d_Mz).^2))/(sum((Mz_Stimata-Mz_Stimata_Medio).^2));
% Errore standard per la stima per la M_z
S_Mz=sqrt((sum((Mz_Stimata-Mz_Regr).^2)/(m-2)));
% Intervallo di confidenza per la media della coppia stimata per la Mz
% t di Student per 70 g.d.l.
gdl=70;
t=1.9944; % 95% di confidence level
hi_Mz=(1/gdl)+((Mz_Stimata-Mz_Stimata_Medio).^2)/(sum((Mz_Stimata- Mz_Stimata_Medio).^2));
% Valore dell'intervallo per il confidence level prescelto per la media e
% per una nuova estrazione
Int_Mz_MEDIO=t*S_Mz*sqrt(hi_Mz);
Int_Mz=t*S_Mz*sqrt(hi_Mz+1);
I_Mz_Medio=max(Int_Mz_MEDIO);
I_Mz=max(Int_Mz);
Mz_LimiteSUP_REGR_MEDIO=Mz_Regr+Int_Mz_MEDIO;
Mz_LimiteINF_REGR_MEDIO=Mz_Regr-Int_Mz_MEDIO;
Mz_LimiteSUP_REGR=Mz_Regr+Int_Mz;
Mz_LimiteINF_REGR=Mz_Regr-Int_Mz;
% Plottaggio dei limiti superiori ed inferiori della Mz in base al
% confidence level scelto con l'intervallo calcolato per una soingola estrazione,
% unitamente alla retta di regressione lineare e ai dati sperimentali.
figure
plot(xi,yi_Mz,Mz_Reale,Mz_Stimata,'om') grid on
box on
xlabel('Momento Reale M_z, [N]') ylabel('Momento Stimata M_z, [N]') hold on
plot(Mz_Reale,Mz_LimiteSUP_REGR,'--r',Mz_Reale,Mz_LimiteINF_REGR,'-g') legend('Regressione lineare','Dati sperimentali','Limite superiore','Limite inferiore')
2. Caso della matrice ܥӖ. Si presenta per semplicità solo la prima parte, per brevità, escludendo la parte finale sulla regressione dei dati, visto che si effettua sostanzialmente nel solito modo a quello sopra presentato per la matrice ܣӖ.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% PROGRAMMA PER LA CALIBRAZIONE DINAMOMETRO
% F=CV
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
close all clear all clc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
load din_000_5AM.txt;
load din_5AM.txt;
load din_000_4AM.txt;
load din_4AM.txt;
load din_000_1AP.txt;
load din_1AP.txt;
load din_000_2AP.txt;
load din_2AP.txt;
646 load din_000_3AP.txt;
load din_3AP.txt;
load din_000_6AM_1.txt;
load din_6AM_1.txt;
[DV5AM]=carica(din_000_5AM,din_5AM);
[DV4AM]=carica(din_000_4AM,din_4AM);
[DV1AP]=carica(din_000_1AP,din_1AP);
[DV2AP]=carica(din_000_2AP,din_2AP);
[DV3AP]=carica(din_000_3AP,din_3AP);
[DV6AM_1]=carica(din_000_6AM_1,din_6AM_1);
M1_5=sottomatrice_2(DV5AM);
M2_5=sottomatrice_2(DV4AM);
M3_5=sottomatrice_2(DV1AP);
M4_5=sottomatrice_2(DV2AP);
M5_5=sottomatrice_2(DV3AP);
M6_5=sottomatrice_2(DV6AM_1);
M5=[M1_5;M2_5;M3_5;M4_5;M5_5;M6_5];
load din_000_5BM.txt;
load din_5BM.txt;
load din_000_4BM.txt;
load din_4BM.txt;
load din_000_1BP.txt;
load din_1BP.txt;
load din_000_2BP.txt;
load din_2BP.txt;
load din_000_3BP.txt;
load din_3BP.txt;
load din_000_6BM_1.txt;
load din_6BM_1.txt;
[DV5BM]=carica(din_000_5BM,din_5BM);
[DV4BM]=carica(din_000_4BM,din_4BM);
[DV1BP]=carica(din_000_1BP,din_1BP);
[DV2BP]=carica(din_000_2BP,din_2BP);
[DV3BP]=carica(din_000_3BP,din_3BP);
[DV6BM_1]=carica(din_000_6BM_1,din_6BM_1);
M1_10=sottomatrice_2(DV5BM);
M2_10=sottomatrice_2(DV4BM);
M3_10=sottomatrice_2(DV1BP);
M4_10=sottomatrice_2(DV2BP);
M5_10=sottomatrice_2(DV3BP);
M6_10=sottomatrice_2(DV6BM_1);
M10=[M1_10;M2_10;M3_10;M4_10;M5_10;M6_10];
load din_000_5CM.txt;
load din_5CM.txt;
load din_000_4CM.txt;
load din_4CM.txt;
load din_000_1CP.txt;
load din_1CP.txt;
load din_000_2CP.txt;
load din_2CP.txt;
load din_000_3CP.txt;
load din_3CP.txt;
load din_000_6CM_1.txt;
load din_6CM_1.txt;
[DV5CM]=carica(din_000_5CM,din_5CM);
[DV4CM]=carica(din_000_4CM,din_4CM);
[DV1CP]=carica(din_000_1CP,din_1CP);
[DV2CP]=carica(din_000_2CP,din_2CP);
[DV3CP]=carica(din_000_3CP,din_3CP);
[DV6CM_1]=carica(din_000_6CM_1,din_6CM_1);
M1_15=sottomatrice_2(DV5CM);
M2_15=sottomatrice_2(DV4CM);
M3_15=sottomatrice_2(DV1CP);
M4_15=sottomatrice_2(DV2CP);
M5_15=sottomatrice_2(DV3CP);
M6_15=sottomatrice_2(DV6CM_1);
M15=[M1_15;M2_15;M3_15;M4_15;M5_15;M6_15];
load din_000_5DM.txt;
load din_5DM.txt;
load din_000_4DM.txt;
load din_4DM.txt;
load din_000_1DP.txt;
load din_1DP.txt;
load din_000_2DP.txt;
load din_2DP.txt;
load din_000_3DP.txt;
load din_3DP.txt;
load din_000_6DM_1.txt;
load din_6DM_1.txt;
[DV5DM]=carica(din_000_5DM,din_5DM);
[DV4DM]=carica(din_000_4DM,din_4DM);
[DV1DP]=carica(din_000_1DP,din_1DP);
[DV2DP]=carica(din_000_2DP,din_2DP);
[DV3DP]=carica(din_000_3DP,din_3DP);
[DV6DM_1]=carica(din_000_6DM_1,din_6DM_1);
M1_20=sottomatrice_2(DV5DM);
M2_20=sottomatrice_2(DV4DM);
M3_20=sottomatrice_2(DV1DP);
M4_20=sottomatrice_2(DV2DP);
M5_20=sottomatrice_2(DV3DP);
M6_20=sottomatrice_2(DV6DM_1);
648 M20=[M1_20;M2_20;M3_20;M4_20;M5_20;M6_20];
load din_000_5EM.txt;
load din_5EM.txt;
load din_000_4EM.txt;
load din_4EM.txt;
load din_000_1EP.txt;
load din_1EP.txt;
load din_000_2EP.txt;
load din_2EP.txt;
load din_000_3EP.txt;
load din_3EP.txt;
load din_000_6EM_1.txt;
load din_6EM_1.txt;
[DV5EM]=carica(din_000_5EM,din_5EM);
[DV4EM]=carica(din_000_4EM,din_4EM;
[DV1EP]=carica(din_000_1EP,din_1EP);
[DV2EP]=carica(din_000_2EP,din_2EP);
[DV3EP]=carica(din_000_3EP,din_3EP);
[DV6EM_1]=carica(din_000_6EM_1,din_6EM_1);
M1_25=sottomatrice_2(DV5EM);
M2_25=sottomatrice_2(DV4EM);
M3_25=sottomatrice_2(DV1EP);
M4_25=sottomatrice_2(DV2EP);
M5_25=sottomatrice_2(DV3EP);
M6_25=sottomatrice_2(DV6EM_1);
M25=[M1_25;M2_25;M3_25;M4_25;M5_25;M6_25];
load din_000_5FM.txt;
load din_5FM.txt;
load din_000_4FM.txt;
load din_4FM.txt;
load din_000_1FP.txt;
load din_1FP.txt;
load din_000_2FP.txt;
load din_2FP.txt;
load din_000_3FP.txt;
load din_3FP.txt;
load din_000_6FM_1.txt;
load din_6FM_1.txt;
[DV5FM]=carica(din_000_5FM,din_5FM);
[DV4FM]=carica(din_000_4FM,din_4FM);
[DV1FP]=carica(din_000_1FP,din_1FP);
[DV2FP]=carica(din_000_2FP,din_2FP);
[DV3FP]=carica(din_000_3FP,din_3FP);
[DV6FM_1]=carica(din_000_6FM_1,din_6FM_1);
M1_30=sottomatrice_2(DV5FM);
M2_30=sottomatrice_2(DV4FM);
M3_30=sottomatrice_2(DV1FP);
M4_30=sottomatrice_2(DV2FP);
M5_30=sottomatrice_2(DV3FP);
M6_30=sottomatrice_2(DV6FM_1);
M30=[M1_30;M2_30;M3_30;M4_30;M5_30;M6_30];
load din_000_5AP.txt;
load din_5AP.txt;
load din_000_4AP.txt;
load din_4AP.txt;
load din_000_1AM.txt;
load din_1AM.txt;
load din_000_2AM.txt;
load din_2AM.txt;
load din_000_3AM.txt;
load din_3AM.txt;
load din_000_6AM_1.txt;
load din_6AM_1.txt;
[DV5AP]=carica(din_000_5AP,din_5AP);
[DV4AP]=carica(din_000_4AP,din_4AP);
[DV1AM]=carica(din_000_1AM,din_1AM);
[DV2AM]=carica(din_000_2AM,din_2AM);
[DV3AM]=carica(din_000_3AM,din_3AM);
[DV6AM_1]=carica(din_000_6AM_1,din_6AM_1);
M1_5_5=sottomatrice_2(DV5AP);
M2_5_5=sottomatrice_2(DV4AP);
M3_5_5=sottomatrice_2(DV1AM);
M4_5_5=sottomatrice_2(DV2AM);
M5_5_5=sottomatrice_2(DV3AM);
M6_5_5=sottomatrice_2(DV6AM_1);
M5_5=[M1_5_5;M2_5_5;M3_5_5;M4_5_5;M5_5_5;M6_5_5];
load din_000_5BP.txt;
load din_5BP.txt;
load din_000_4BP.txt;
load din_4BP.txt;
load din_000_1BM.txt;
load din_1BM.txt;
load din_000_2BM.txt;
load din_2BM.txt;
load din_000_3BM.txt;
load din_3BM.txt;
load din_000_6BM_1.txt;
load din_6BM_1.txt;
[DV5BP]=carica(din_000_5BP,din_5BP);
[DV4BP]=carica(din_000_4BP,din_4BP);
[DV1BM]=carica(din_000_1BM,din_1BM);
650 [DV2BM]=carica(din_000_2BM,din_2BM);
[DV3BM]=carica(din_000_3BM,din_3BM);
[DV6BM_1]=carica(din_000_6BM_1,din_6BM_1);
M1_10_10=sottomatrice_2(DV5BP);
M2_10_10=sottomatrice_2(DV4BP);
M3_10_10=sottomatrice_2(DV1BM);
M4_10_10=sottomatrice_2(DV2BM);
M5_10_10=sottomatrice_2(DV3BM);
M6_10_10=sottomatrice_2(DV6BM_1);
M10_10=[M1_10_10;M2_10_10;M3_10_10;M4_10_10;M5_10_10;M6_10_10];
load din_000_5CP.txt;
load din_5CP.txt;
load din_000_4CP.txt;
load din_4CP.txt;
load din_000_1CM.txt;
load din_1CM.txt;
load din_000_2CM.txt;
load din_2CM.txt;
load din_000_3CM.txt;
load din_3CM.txt;
load din_000_6CM_1.txt;
load din_6CM_1.txt;
[DV5CP]=carica(din_000_5CP,din_5CP);
[DV4CP]=carica(din_000_4CP,din_4CP);
[DV1CM]=carica(din_000_1CM,din_1CM);
[DV2CM]=carica(din_000_2CM,din_2CM);
[DV3CM]=carica(din_000_3CM,din_3CM);
[DV6CM_1]=carica(din_000_6CM_1,din_6CM_1);
M1_15_15=sottomatrice_2(DV5CP);
M2_15_15=sottomatrice_2(DV4CP);
M3_15_15=sottomatrice_2(DV1CM);
M4_15_15=sottomatrice_2(DV2CM);
M5_15_15=sottomatrice_2(DV3CM);
M6_15_15=sottomatrice_2(DV6CM_1);
M15_15=[M1_15_15;M2_15_15;M3_15_15;M4_15_15;M5_15_15;M6_15_15];
load din_000_5DP.txt;
load din_5DP.txt;
load din_000_4DP.txt;
load din_4DP.txt;
load din_000_1DM.txt;
load din_1DM.txt;
load din_000_2DM.txt;
load din_2DM.txt;
load din_000_3DM.txt;
load din_3DM.txt;