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
otherwiseend y=a;endCALCOLO NUMERICO-A.d'Alessio 21uso ottimale del Matlabnon scrivere programmi come conqualsiasi linguaggio di programmazioneun sfruttare le potenzialitànel gestire le matrici e le funzioni internemolti calcoli con pochi comandi in tempo minoreCALCOLO NUMERICO-A.d'Alessio 22Programmare correttamente in Matlabeliminare cicli for sostituibilida 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=endend 1 3 5 6CALCOLO NUMERICO-A.d'Alessio 23Input – Outputinput disp(x)x= (‘valore di x’)visualizza un testo sullo visualizza ilschermo, aspetta che valore di unal’utente digiti un valore variabileche registra nellavariabile specificataCALCOLO NUMERICO-A.d'Alessio 24Conversione di numeri in stringhe>> n=input(‘ valore di n’)valore di n 6n = 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;
whilek>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
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.