Laurea Magistrale in Bioingegneria Corso di Informatica Medica

Transcript

Laurea Magistrale in Bioingegneria Corso di Informatica Medica
Laurea Magistrale in Bioingegneria
Corso di Informatica Medica
(Prof. Giovanni Sparacino)
A.A. 2010-2011
Esercizi Matlab – Parte 1: Programmazione in Matlab (agg. 26.10.10)
Esercizi, e relative soluzioni, a cura dell’Ing. Costanza D’Avanzo ([email protected])
Cicli e ricorsione
1. Si scriva una function che calcoli la somma dei primi n numeri naturali:
a) in modo iterativo, utilizzando un ciclo (somma1.m)
b) utilizzando la funzione “sum” già presente in Matlab (somma2.m)
c) implementando la formula 1+2+…..+n=n*(n+1)/2 (somma3..m)
d) in modo ricorsivo, ossia sfruttando la somma dei primi n-1 numeri naturali
(somma4.m).
2. a) Si scriva una function somma_dispari.m che calcoli la somma dei primi n numeri naturali
dispari e che possa lavorare in 4 modi diversi (si veda la function somma.m dell’esercizio
precedente) in base al valore di un secondo parametro in ingresso c.
b) Si scriva una function somma_pari.m che calcoli la somma dei primi n numeri naturali
pari, si veda l’esercizio 2a.
c) Si scriva una function somma_mult_k.m che calcoli la somma dei primi n numeri naturali
multipli di k, si veda l’esercizio 2a.
3. Si considerino i numeri naturali multipli di 3 fino al numero 300, mostrare a schermo quali
numeri sono anche multipli di 7.
4. Si scriva una function fib.m che, avuto in ingresso un numero n, calcoli il valore Fib(n) della
successione di Fibonacci.
Manipolazione di stringhe
5. Sia data una generica matrice quadrata, ad es. A=[1 3 0; 2 1 4; 0 1 1]. Scrivere un
programma che calcoli il polinomio caratteristico di A e mostri a video la seguente frase: “il
polinomio caratteristico associato alla matrice A è x^3-3x^2-7x+9”
6. Si
carichi
nel
workspace
il
file
pazienti.mat,
presente
http://www.dei.unipd.it/~davanzoc/infomed Esso contiene un insieme
caratterizzati da sesso (‘F’ o ‘M’), età e valore di un parametro di interesse
all’indirizzo
di pazienti
− Si calcoli la probabilità che un paziente sia una donna di età superiore ai 70 anni
− Si ricavino i numeri identificativi dei malati con valore del parametro pari a 3 e si
mostri a video la seguente frase “risultano con par=3 i seguenti pazienti: 1, 4, 5, 6,
10.”
− Si ricavino i numeri identificativi dei malati con età maggiore di 80 anni o valore del
parametro maggiore di 4.
7.
La tabella seguente mostra l’elenco degli iscritti al corso; ogni studente è caratterizzato da
nome, cognome, numero di matricola, media degli esami e sesso.
Nome
Maria
Giuseppe
Marco
Carlo
Elena
Giovanna
Riccardo
Francesco
Antonio
Roberto
Cristina
Marco
Andrea
Emanuele
Giacomo
Cognome
Bevilacqua
Turci
Sensi
Carraro
Rossi
Russo
Esposito
Colombo
Romano
Ferrari
Bianchi
Mastroberardino
Rossi
Bo
Sereni
Matricola
456456
523241
534211
456778
497561
589324
567900
457699
499768
547897
578986
501456
432357
560101
451111
Media esami
24.02
27.72
21.09
19.45
22.87
25.78
29.04
26.60
18.98
22.76
21.56
23.50
21.30
20.88
23.79
Sesso
F
M
M
M
F
F
M
M
M
M
F
M
M
M
M
Si crei un array di strutture studenti con i campi ‘nome’, ‘cognome’, ‘matricola’, ‘media’ e
‘sesso’.
− Si calcolino la media e la deviazione standard dei voti degli esami, il valore massimo
e il valore minimo. Si mostri a video nome, cognome e matricola dello studente con
la media dei voti più alta.
− Si plotti un istogramma dei valori delle medie
− Si calcoli la media degli esami facendo distinzione di sesso
8. Si scriva uno script che, data una stringa contenuta nella variabile ‘testo’ (per semplicità
scritto solo in lettere maiuscole), calcoli il numero di occorrenze di ciascun carattere
dell’alfabeto. Per ogni carattere dell’alfabeto, si mostri poi a video il numero delle
occorrenze.
Esempi di possibili soluzioni
Esercizio 1
Esercizio 2
Esercizio 3
Esercizio 4
Esercizio 5
Esercizio 6
Esercizio 7
Esercizio 8