Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
CALCOLO NUMERICO-A.d'Alessio 16
Le istruzioni sono ripetute while l'espressione logica è vera, altrimenti sono saltate.
n=0; while n <= k n=n+1; end
CALCOLO NUMERICO-A.d'Alessio 17
if l'espressione logica if l'espressione logica istruzioni end istruzioni 1 elseif l'espressione logica istruzioni 2 if l'espressione logica else istruzioni 1 istruzioni 3 else end istruzioni 2 end
if espressione logica istruzioni end if espressione logica istruzioni 1 elseif espressione logica istruzioni 2 else istruzioni 1 istruzioni 3 end CALCOLO NUMERICO-A.d'Alessio 18 if x>0 sqrt(x) if n == k if d==0 end x(n)=a; a=d+1; else elseif d>0 x(n)=b; b=sqrt(d); end else c=-d; end
CALCOLO NUMERICO-A.d'Alessio 19
break: uscita da un ciclo for o while
for k=1:10 x=50-x^2 if x<0 break end end Visualizza un messaggio ed arresta error('t') esto i calcoli >> if a<0 error('a è negativo') end ??? a è negativo
CALCOLO NUMERICO-A.d'Alessio 20
switch expr switch a case valore 1 case 2 istruzioni y=2*a; case valore2 case 3 istruzioni y=3*a;... case 5 otherwise y=5*a; istruzioni
switch expr switch a case valore 1 istruzioni y=2*a; case valore 2 case 3 istruzioni y=3*a; ... case 5 otherwise y=5*a; end
otherwise
end y=a;
end
CALCOLO NUMERICO-A.d'Alessio 21
uso ottimale del Matlab
non scrivere programmi come con
qualsiasi linguaggio di programmazione
un sfruttare le potenzialità
nel gestire le matrici e le funzioni interne
molti calcoli con pochi comandi in tempo minore
CALCOLO NUMERICO-A.d'Alessio 22
Programmare correttamente in Matlab
eliminare cicli for sostituibili
da operazioni vettoriali
>> y
>> x=[3 -2 4 -1 7 6 -9]; y =
>> j=0; 1 3 5 6
>> for k=1:length(x)
if x(k)>0 >> x=[3 -2 4 -1 7 6 -9];
j=j+1; >> y=find(x>0)
y(j)=k; y=end
end 1 3 5 6
CALCOLO NUMERICO-A.d'Alessio 23
Input – Output
input disp(x)
x= (‘valore di x’)
visualizza un testo sullo visualizza il
schermo, aspetta che valore di una
l’utente digiti un valore variabile
che registra nellavariabile specificata
CALCOLO NUMERICO-A.d'Alessio 24
Conversione di numeri in stringhe
>> n=input(‘ valore di n’)
valore di n 6
n = r=2.5; area=pi*r^2;6 >>
t=['il cerchio di raggio ',num2str(r),' ha area ',num2str(area)]; array b [1 2 3 5] b = disp(t) 1 2 3 5 il cerchio di raggio 2.5 ha area disp(n) 6 19.36 disp(b) 1 2 3 5 CALCOLO NUMERICO-A.d'Alessio 25 salvare e leggere dati in un file save load w=0:0.1:10; save dati.mat w clear all load dati delete nomefile CALCOLO NUMERICO-A.d'Alessio 26 Una sequenza di istruzioni Matlab si può memorizzare in un text file detto m-file unità di programma richiamabile tramite il nome dalla finestra comando deve avere estensione .m per creare un m-file si usa l'editor/debugger di Matlab CALCOLO NUMERICO-A.d'Alessio 27 CALCOLO NUMERICO-A.d'Alessio 28 Memorizziamo in uno script-file il programma che calcola il fattoriale di n n=input('valore di n') k=n; nfat=k; while
k>2k=k-1; nfat=nfat*k; end disp(nfat)
CALCOLO NUMERICO-A.d'Alessio 29 si seleziona dal menù File New M-File CALCOLO NUMERICO-A.d'Alessio 30 Si scrive il programma lo si salva con un nome Save as fattoriale.m per eseguire il programma basta digitare fattoriale CALCOLO NUMERICO-A.d'Alessio 31 Digitando nella command window >>fattoriale valore di n 4 n = 4 CALCOLO NUMERICO-A.d'Alessio 32 function [ ou1,…,outn] = nome (in1,..,inn) nomeParola chiave Parametri input-output ritorno al programma chiamante dopo l’esecuzione ultimo comando return se si incontra Matlab mette a disposizione molte function CALCOLO NUMERICO-A.d'Alessio 33 La memorizzazione di una function è uguale a quella di uno script function file per il calcolo di n! memorizzato nel file fatto.m function nfat=fatto(n) %funzione che calcola il fattoriale di n %n : parametro input, valore di cui si vuole il fattoriale %nfat: parametro output, fattoriale di n k=n; nfat=k; while
k>2k=k-1;nfat=nfat*k;end
I commenti inseriti all’inizio sono mostrati digitando help fatto
CALCOLO NUMERICO-A.d'Alessio 34