Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
-2 moduli
materiale su Iol
registrarsi su IOL
Modalità di verifica: ESAME
Prova scritta/pratica da svolgere in laboratorio MATLAB (1
MODULO) scrivere 2 programmi matlab e salvarli.
3-4 date tra giugno e luglio
limite posti iscrizione
MODULO 1
Utilizzi di MATLAB
Conoscenze medico/fisiologico attraverso modelli matematici
MODELLO MATEMATICO
Traduzione in linguaggio matematico di una funzione,
un’evidenza sperimentale, nel caso più generale questa
traduzione cerca di descrivere anche l’evoluzione temporale dei
sistemi biologici e fisiologici di interesse. I modelli matematici si
traducono in sistemi di equazioni differenziali. Equazioni
differenziali del 1° ordine principalmente, poi qualche accenno al
2°.
Questa formalizzazione deve trovare un riscontro attraverso
un’osservazione. (richiamo Galileo Galilei). Misure sperimentali.
Entrano in gioco aspetti sperimentali, fare delle misure e sulla
base di queste poter confermare se le ipotesi che abbiamo fatto
quindi il modello formulato è accettabile o meno,
Caratterizzazione Ingresso/uscita
Se ho un ingresso di tipo sinusoidale mi aspetto un’uscita
sinusoidale. Il sistema può amplificare o attenuare o mantenere
invariata l’ampiezza della sinusoide d’ingresso e può
sfasare(ritardare o anticipare l’uscita rispetto all’ingresso). Ciò si
può verificare sperimentalmente.
L’osservazione sperimentale è il presupposto per procedere
all’identificazione del modello.
Parametri del modello: a priori non sono noti.
Evoluzione e comportamento del sistema in situazioni nelle quali
è difficile fare esperimenti.
Questo approccio trova riscontro nella progettazione di
dispositivi. Questo tipo di approccio si chiama Insilicon Medicine
Fare un modello è un esercizio di traduzione. Si analizza il sistema
biologico di interesse. il modello è una traduzione della realtà
complessa in un sistema più o meno semplice che sia gestibile
matematicamente. La complessità e il livello di dettaglio
dipenderà dalle finalità che ho in mente. Non esiste solo una
possibile traduzione. La modellazione è un esercizio libero e
creativo in cui questa traduzione si può personalizzare. Un
aspetto che condiziona questa traduzione è la motivazione che
spinge a descrivere quel modello.
Casi di studio (esempi):
Cinetica di una sostanza nel plasma;
Farmacocinetica;
Cinetica del glucosio;
Sistema cardiocircolatorio;
Funzione renale;
LE BASI DI MATLAB
MATRIX LABORATORY
È uno strumento computazionale deputato a rendere possibile le
operazioni tra matrici. È stato creato negli anni ’70 e nasce con
finalità didattiche per risolvere problemi di algebra lineare senza
conoscenze di programmazione Fortran. Da fortran si passò a C.
Matlab tratta tutte le variabili come casi particolari di matrici:
Uno scalare è un caso particolare di matrice 1*1;
Un vettore è una matrice 1*N (vettore riga) o N*1 (vettore
colonna).
Matlab è un linguaggio di programmazione che consente di
realizzare applicazioni scientifiche di varia natura; Matlab
contiene una libreria vasta di funzioni predefinite.
Matlab Attaway libro (si può scaricare)
Per costruire una variabile in matlab bisogna darle un nome.
Matlab è case sensitive
L’istruzione ones crea un vettore o una matrice di 1
Es. vector= ones(1,5)
Dove 1 indica il numero di righe, 5 numero di colonne
L’istruzione magic crea dei numeri casuali.
Il % introduce un commento, è un appunto, una nota del
programmatore.
Con il ; si evita l’eco, la visualizzazione sulla command window.
Per conoscere le dimensioni delle variabili si può utilizzare il
comando whos, che elenca tutte le variabili definite
dall’utente specificando per ognuna dimensione, occupazione
in memoria e tipo di dato.
Cartella corrente current folder ci da un accesso diretto a
questa cartella. È l’area in cui sono elencati i file contenuti nella
cartella di lavoro(script, funzioni, file dati,figure)
Command history è un buffer che ci fa vedere tutti i comandi
che abbiamo fatto. Mostra l’elenco in ordine cronologico dei
comandi che sono stati digitati nella Command Window.
Questi comandi possono essere riutilizzati con un doppio click
del mouse.
I comandi precedentemente digitati possono essere richiamati
anche posizionando il cursore nella command window con le
frecce su/giù.
Per definire una nuova variabile si utilizza la sintassi:
nomeVariabile = valore oppure nomeVariabile=espressione
Il nome della variabile deve essere costituito da lettere numeri
e dal carattere ‘_’. Ma il primo simbolo deve essere
necessariamente una lettera. Si deve evitare di dare nomi di
variabili preesistenti. Es di ones.
Operazioni sugli scalari
Somma, sottrazione, moltiplicazione e divisione si
realizzano con gli operatori +,-,*,/:
l’elevamento a potenza si realizza con ^, tuttavia per la base
10 oltre alla notazione classica 10^X si può usare la
notazione compatta 1eX;
se la base è il numero di Eulero si deve utilizzare la funzione
exp(X) dove l’argomento X della funzione è l’esponente
quando non ha un nome una variabile di Matlab si chiama
ans. È una variabile temporanea.
Arrotondamento di un numero
La struttura di base di matlab è la matrice
Un primo modo per definire una matrice consiste nell’elencare
gli elementi uno per uno tra parentesi quadre, separando le
diverse righe con il punto e virgola:
matrix =[1 2 3; 4 5 6; 7 8 9]
funzioni predefinite (zeros, ones, rand, randn, eye, diag)
tutte queste funzioni ad eccezione di diag, richedono in
ingresso le dimensioni della matrice, ossia:
- Il nunero di righe e il numero di colonne se la matrice è
rettangolare
5/03/2019
matrici in matlab
esempi: zeros, ones
rand estrae numeri casuali da una distribuzione
randn estrae numeri da distribuzione gaussiana
diag: mi consente di avere solo gli elementi della diagonale
diversi da zero.
Diag ([ 1 1)]
Matrice con uni sulla diagonale
Eye: crea tutti 1 sulla diagonale e zero al di fuori
Per concatenare due matrici devono avere lo stesso numero di
righe
Stesso numero di colonne per concatenare una sopra l’altra.
Funzione Cat per concatenare matrici
concat=cat(2, nome matrici separate da , )
size (nome matrice)
N=numl (nome matrice)
Per estrarre : p= matrix (1,3)
P= matrix (1:end,3) estraggo la 3 colonna
p= matrix (1:2,2:3)
p=
2 3
5 6
1 4 9
16 25 36
49 64 81
quad =
30 36 42
66 81 96
102 126 150
concat =
1 4 7
2 5 8
3 6 9
1 2 3
right)
N=
5
somma = sum(matrix)
somma =
12 15 18
m=10
m=
10
stringa =
stringa1 =
'ciaociaociao'
- Vettori:
t= 1:100;
t=1:2:100 ( il vettore ha 50 elementi perche ha passo 2)
Per contare all’indietro si usa:
t= 100: -1:1
t=1:.5:100 (anche nel caso decimale)
Per salvare dei dati e non delle istruzioni, non script di codice ma
file di dati:
esempio :
save dati, salva un file dal nome dati.mat
load invece si usa per caricare le variabili che ho salvato
il formato in cui si può salvare può essere.mat ma anche ascii.
12/03/19
If
Istr 1
Else
Istr2
End
Costrutti SWITCH, CASE, OTHERWISE
Cicli for e while
For : ripete l’esecuzione del blocco per un numero specificato di
volte
While: ripete l’esecuzione del blocco finchè è soddisfatta una
determinata condizione
While: condizione true, false
Istruzioni
End
Non posso stabilire a priori per quanto una istruzione rimarrà
true.
26/03/19
Esperimenti di calibrazione: servono per capire come uno
specifico strumento funziona, retta di calibrazione.
In ingresso ho una temperatura nota e in uscita ho una
resistenza.
questi sensori misurano la variazione di temperatura
plot(T,R,'*m')
xlabel('T[K]'),ylabel('R [Ohm]')
p=polyfit(T,R,3)
hold on
modello=p(1)*T.^3+p(2)*T.^2+p(3)*T+p(4);
y=f(x,)
La scelta del modello si può usare per schematizzare
ulteriormente il problema. Un modello è una rappresentazione
semplificata della realtà.
minimizzano la funzione.