15-Jan-2014 1> r3 = sqrt(3) r3 = 1.7321 2> r6 = sqrt(6) r6 = 2.4495 3> r2 = sqrt(2) r2 = 1.4142 4> M = [ 1/r6, 1/r2, -1/r3; -1/r6, 1/r2, 1/r3; 2/r6, 0, 1/r3] M = 0.40825 0.70711 -0.57735 -0.40825 0.70711 0.57735 0.81650 0.00000 0.57735 5> % M e' ortogonale, cioe' M' * M = I 5> M' * M ans = 1.00000 0.00000 0.00000 0.00000 1.00000 0.00000 0.00000 0.00000 1.00000 6> % il determinate deve essere o +1 o -1 6> det(M) ans = 1.0000 7> % autovalori della rotazione definita da M 7> eig(M) ans = 0.34635 + 0.93810i 0.34635 - 0.93810i 1.00000 + 0.00000i 8> % gli autovalori di una rotazione hanno modulo unitario 8> primo_autovalore = ans(1) primo_autovalore = 0.34635 + 0.93810i 9> abs(primo_autovalore) ans = 1 10> % angolo della rotazione 10> atan2(imag(primo_autovalore),real(primo_autovalore)) ans = 1.2171 11> % angolo in gradi 11> ans * 180/pi ans = 69.736 12> A = [2 -1 2; -1 2 -2; 2 -2 5] A = 2 -1 2 -1 2 -2 2 -2 5 13> eig(A) ans = 1.00000 1.00000 7.00000 14> [M2, D] = eig(A) M2 = -0.57735 0.70711 0.40825 0.57735 0.70711 -0.40825 0.57735 0.00000 0.81650 D = Diagonal Matrix 1.00000 0 0 0 1.00000 0 0 0 7.00000 15> M2' * A * M2 ans = 1.00000 -0.00000 0.00000 -0.00000 1.00000 0.00000 0.00000 0.00000 7.00000 16> M' * A * M ans = 7.00000 0.00000 0.00000 0.00000 1.00000 0.00000 -0.00000 0.00000 1.00000 17> % proposta di codice per l'input per bilanciare una reazione chimica 17> % occorre salvare nella cartella di lavoro Octave il file 17> % http://www.dm.unibo.it/~achilles/calc/programmi/bilanciamento.m 17> bilanciamento inserisci quanti elementi appaiono: 2 elemento 1: Fe elemento 2: Cl inserisci quanti reagenti appaiono: 2 reagente 1: Fe reagente 2: FeCl_3 inserisci quanti prodotti appaiono: 1 prodotto 1: FeCl_2 numero di atomi di Fe in Fe : 1 numero di atomi di Fe in FeCl_3 : 1 numero di atomi di Cl in Fe : 0 numero di atomi di Cl in FeCl_3 : 3 numero di atomi di Fe in FeCl_2 : 1 numero di atomi di Cl in FeCl_2 : 2 ans = 1 1 -1 0 3 -2 18> quit