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:
- 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
- sommare tutti i numeri tra 1 e 10, con intervalli di 0.5
- creare una funzione che sommi tutti i numeri tra 0 e N utilizzando il comando FOR
- creare una funzione che moltiplichi tutti i numeri tra 1 e N con intervalli di 1, testare la funzione con N=3, 5, 8
- usare if/else per calcolare il modulo di x e creare una funzione “modulo(x)”
- 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!