Esercizi sull'istruzioni programmazione octave (superiori)
I seguenti esercizi riguardano Istruzioni Programmazione Octave studiati nella Lezione 5 della Parte Terza. Essi sono divisi per paragrafi in modo tale da favorire la scelta degli esercizi specifici.
Esercizi
modificaEs.1
Dato un vettore di 10 elementi calcola la media dei valori contenuti Sol.
v=[1 -4 -3 6 1 -1 7 1 3 2] n=10; somma=0; for i=1:n somma=somma+v(i); end media=somma/n
Es.2
Dato un vettore di 10 elementi calcola il massimo e la posizione del massimo Sol.
v=[1 -4 -3 16 1 -1 7 1 3 2] n=10; massimo=v(1); posmassimo=1; for i=2:n if(v(i)>massimo) massimo=v(i); posmassimo=i; end end fprintf("il massimo vale %i ", massimo) fprintf("e si trova nella posizione %i \n", posmassimo)
Es.3
Dato un vettore di 10 elementi calcola quante volte il numero 5 è presente nel vettore Sol.
v=[1 -4 -3 16 5 -1 7 5 3 2] n=10; conta=0; for i=1:n if(v(i)==5) conta=conta+1; end end fprintf("il numero 5 è presente %i volte \n", conta)
Es.3a
Disegna il grafico della funzione seno di ampiezza 5 (almeno un periodo) Sol.
t=0:0.1:8; y=5*sin(t); plot(t,y);
Es.4
Verifica se la matrice A è simmetrica (non puoi utilizzare la trasposta) Sol.
A=[2 3 4 5; 3 7 8 9 ; 4 8 0 6; 5 9 6 4 ] nr=4; nc=4; for r= 1 : nr-1 for c= r+1 : nr if A(r,c)!=A (c,r) error('matrice non simmetrica') endif endfor endfor fprintf('matrici simmetriche')
Es 5
Dato un sistema di equazioni lineari del tipo Ax=b risolvi il sistema prima triangolarizzando il sistema e poi ricavando le incognite del vettore x Sol:
A=[2 3 4 5 6; 3 7 8 9 2; 4 8 0 6 1; 5 9 6 4 3; 5 2 -4 4 3] b=[2; 3; 6; 0; 3 ] nr=5; nc=5; % la soluzione è questa sol1=inv(A)*b % noi la ricaviamo triangolarizzando il sistema for r= 1 : nr-1 for rx= r+1 : nr k= -A(r,r)/A(rx,r); A(rx,:)=k*A(rx,:)+A(r,:); b(rx,1)=k*b(rx,1)+b(r,1); end end % e poi iterativamente troviamo le incognite x(nr,1) = b(nr,1)/A(nr,nr); for r= nr-1:-1:1 somma=0; for k= r+1:nc somma=x(k,1)*A(r,k)+somma; end x(r,1)=( b(r,1)-somma)/A(r,r); end x