delete(figure(gcf))
echo on
%Scegliendo l' opzione menu 'calcolo del numero minimo di passi' , 
%con questo programma si puo calcolare il numero minimo di passi per raggiungere uno
%stato finale Xf patrendo da uno stato iniziale x0 il tutto minimizzando una funzione
%di costo quadratica che tiene di conto dello stato e dell' ingresso ,questa 
%ottimizzazione avviene rispettando dei vincoli sia sullo stato che sull' ingresso
%********************************************************************************************
%Scegliendo l' opzione menu 'calcolo dei vettori ottimi noto il numero di passi' , 
%con questo programma si puo calcolare i valori dell' ingresso e che assume lo stato 
%nel raggiungere uno stato finale Xf partendo da uno stato iniziale x0 il tutto 
%minimizzando una funzione di costo quadratica che tiene di conto dello stato e
%dell' ingresso ,questa ottimizzazione avviene rispettando dei vincoli sia sullo stato
%che sull' ingresso
%********************************************************************************************
echo off;
%ATTENZIONE per l' inserimento dei dati si può scegliere se inserirli in linea o da file ,
%l' importante nell' ingresso da file è rispettare le seguenti assegnazioni:
% X(k+1)=a*X(k)+b*U(k)
%X0=stato iniziale
%XF=stato finale
%Xi=valore inferiore che può assumere X
%Xs=valore superiore che può assumere X
%Ui=valore inferiore che può assumere U
%Us=valore superiore che può assumere U
%Np=numero di passi con cui si vuole raggiungere lo stato nel caso del calcolo del numero
%minimo si imposta a zero
%Min (X,U)*I*h1*(X,U)'+f1*I*(X,U) 