//function csd01 // // esempi numerici di alcune proprieta' dei sistemi i-s-u: // // proprieta' separazione // invarianza i-u alla trasformazione lineare // invarianza degli autovalori clc printf(' Esempi numerici di alcune proprieta'' dei sistemi i-s-u ') printf('\n\n si genera un modello tempo continuo in maniera casuale ma stabile con il comando rss\n') npti = 100; n = 4; model = ssrand(1,1,n); // rendo stabile fact=max(abs(spec(model.A))); if (fact>0) model.A=model.A-1.5*fact*eye(n,n); end ssprint(model); halt printf('\n si calcolano gli autovalori ') lambda = spec(model.A) halt printf('\n si calcola la risposta impulsiva nello stato e nell''uscita') printf('\n stimando il tempo finale dalla conoscenza degli autovalori') tf = 3*round(min(abs(lambda))); printf('\n tf = %.0f',tf) t=linspace(0,tf,100); printf('\n [y, x]=csim(''impulse'',t,model);\n') [y, x]=csim('impulse',t,model); xset('window',0) subplot(211) plot2d(t,y) xgrid subplot(212) plot2d(t,x') xgrid halt printf('\n\n PROPRIETA'' DI SEPARAZIONE') printf('\n si calcola il valore dello stato per un determinato t') nn = npti/8; t1 = t(nn); printf('\n t=%.1f\n',t1) x1 = x(:,nn) halt printf('\n si calcola l''evoluzione libera a partire da x1\n') [yl, xl]=csim(zeros(t),t,model,x1); subplot(211) plot2d(t,yl); h=gce(); h.children.thickness=4; xgrid subplot(212) plot2d(t,xl'); h=gce(); h.children(1).thickness=4; h.children(2).thickness=4; h.children(3).thickness=4; h.children(4).thickness=4; xgrid halt printf('\n si trasla di t1\n') tl = t(nn:npti); xdel(0); subplot(211) plot2d(t,y) plot2d(tl,yl(1:npti-nn+1)); h=gce(); h.children.thickness=4; xgrid subplot(212) plot2d(tl(1),xl(:,1)',-9*ones(1,n)) plot2d(t,x') plot2d(tl,xl(:,1:npti-nn+1)') h=gce(); h.children(1).thickness=4; h.children(2).thickness=4; h.children(3).thickness=4; h.children(4).thickness=4; xgrid halt; xdel(0); printf('\n\n INVARIANZA I-U ALLA TRASFORMAZIONE LINEARE') printf('\n si scelga una matrice di trasformazione di similitudine casuale ma di rango pieno\n') T = grand(n,n,'def') if rank(T)