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