Esercitazione 5

Matlab II e Word

 

Per usare l’emulatore di Octave, aprire http://octave-online.net

Ricapitolando la lezione precedente:
Creare una funzione nuova:

function y = p(x); y = 2*x + 1; end

eseguire la funzione:

p(5)

Creare un elenco:

elenco=(0.5:0.5:10)

“plottare” (disegnare) la funzione usando l’elenco come input:

plot(elenco,p(elenco))


“WHILE” LOOP:

k=1; while (k<10); disp(k); k++; end

“FOR” LOOP:

for k=1:10; disp(k); end

il “for” loop per creare una funzione che fa la sommatoria:

function y = somma(x); y=0 ; for i=1:x; y=y+i; end; end; somma(7)

IF:

for k=1:10; if (k>5); disp(k); endif; end

ELSEIF (se ci sono molte condizioni):

for k=1:10; if (k>5); disp(k); elseif k<5; disp("aspetta....");endif; end
function riconosci(m);
 if(m>0); disp("il numero è positivo");
 elseif (m<0); disp("il numero è negativo");
 else disp("riprova!"); endif; end

ESERCIZIO:

  1. calcolare la funzione p(x) = 2*sin(x) − x^2 + cos(x) − 3 (per l’esponenziale usare la funzione power(base,esponente)) e disegnare la funzione tra 0 e 10 con intervalli di 0.5
  2. sommare tutti i numeri tra 1 e 10, con intervalli di 0.5
  3. creare una funzione che sommi tutti i numeri tra 0 e N utilizzando il comando FOR
  4. creare una funzione che moltiplichi tutti i numeri tra 1 e N con intervalli di 1, testare la funzione con N=3, 5, 8
  5. usare if/else per calcolare il modulo di x e creare una funzione “modulo(x)”
  6. per ruotare una vettore di 180 gradi scrivo:
    V0=[1,1]; ROT=[-1,0; 0,-1]; V1=V0*ROT

    dove ROT e’ la “matrice di rotazione”. Come generalizzare per un qualunque angolo x? (usare liberamente google per trarre ispirazione)

Esempio “Animazione”:

x=(0.1:0.1:7.3); hold on; for k=0:20; plot(x+k,sin(x)); pause(0.5); end; hold off

Esempio “Butterfly Effet”:
creo una lista di valori y calcolati come y(i+1)=2y(i)^2-1 con y(1)=0.54321 e una lista di valori z, calcolati allo stesso modo ma iniziando da z(1)=0.54322;

y=(100); y(1)=0.54321; for i=1:99; y(i+1)=2*y(i)*y(i)-1; end
 z=(100); z(1)=0.54322; for i=1:99; z(i+1)=2*z(i)*z(i)-1; end 
 x=(1:1:100);
 plot(x,y,x,z)

Esercizio (EsercitazioneWordMatlab.docx): inserire il grafico creato in in documento Word, inserire le didascalie, scrivere del testo con riferimento alle didascalie, inserire le equazioni utilizzate per creare le funzioni e il link a octave come nota a piè di pagina, creare l’indice del documento.

Trucco Utile: per poter spostare agevolmente figure+didascalia o tabelle+didascalia, creare una tabella 1×1 (ovver una cella) e inserirci dentro figura e didascalia!

Esercizio (Esercitazione3.docx): inserire i grafici creati nell’esercitazione precedente (Esercitazione2.xlsx) in in documento Word, inserire le didascalie, scrivere del testo con riferimento alle didascalie, creare l’elenco delle figure, inserire le equazioni utilizzate per trasformare i dati (Box-Muller) e il link come nota a piè di pagina, inserire le tabelle con i dati delle frequenze (Esercitazione2.xlsx), formattare le tabelle, inserire didascalie alle tabelle, creare l’elenco delle tabelle, scrivere del testo con riferimento alle tabelle, creare l’indice del documento.

Trucco Utile: per poter spostare agevolmente figure+didascalia o tabelle+didascalia, creare una tabella 1×1 (ovver una cella) e inserirci dentro figura e didascalia!