Estratto del documento

PROGRAMMA DI CALCOLO

NUMERICO

CORSO DI LAUREA: Ingegneria Informatica e dell’Automazione

ANNO ACCADEMICO: 2016-2017

ESAME: Calcolo numerico

DOCENTE: Ing. Antonio Satriano

STUDENTE: Albanese Melissa

INDICE 2

.............................................................................................................................................................

RAPPRESENTAZIONE NUMERICA ........................... 5

SISTEMA POSIZIONALE ..................................................... 5

SISTEMA DECIMALE ........................................................... 5

SISTEMA BINARIO ............................................................... 5

CONVERSIONE ...................................................................... 6

RAPPRESENTAZIONE NUMERICA BINARIA ................ 6

COMPLEMENTO A DUE ...................................................... 6

MODULO E SEGNO ............................................................... 9

ALGEBRA DI BOOLE .......................................................... 10

LEGGI DI DE MORGAN ..................................................... 14

NUMERO IN VIRGOLA FISSA .......................................... 15

NUMERO IN VIRGOLA MOBILE ..................................... 16

MATLAB ......................................................................... 18

COMANDI SEMPLICI ......................................................... 19

VARIABILI ............................................................................ 20

VETTORI ............................................................................... 21

MATRICI ................................................................................ 25

FATTORIZZAZIONE ........................................................... 39

SISTEMA LINEARE ............................................................. 39

METODI NUMERICI PER SISTEMI LINEARI .......................... 40

IL COMANDO BACKSLASH .......................................................... 40

RISOLUZIONE DI SISTEMI TRIANGOLARI ................. 42

REALIZZAZIONE DI GRAFICI 2D ................................... 42

GRAFICI IN 3D ..................................................................... 55

LE PRINCIPALI OPERAZIONI ARITMETICO-

LOGICHE ............................................................................... 64

IL COMANDO HELP ........................................................... 67

FUNZIONI LOGICHE .......................................................... 71

FUNZIONI PREDEFINITE .................................................. 72

STRUTTURA CONDIZIONALE ......................................... 77

CICLO FOR ........................................................................... 80

CICLO WHILE ...................................................................... 82

METODO DI BISEZIONE .................................................... 83

METODO DI NEWTON ....................................................... 96

METODO DI NEWTON SEMPLIFICATO ................................... 98

METODO DELLE SECANTI ............................................... 99

IL METODO DI GAUSS ..................................................... 101

VARIABILI NARGIN E NARGOUT ................................. 105

FUNZIONI E SCRIPT ......................................................... 107

PRECISIONE DI MATLAB ............................................... 111

INTERPOLAZIONE DI DATI E FUNZIONI ................... 112

INTERPOLAZIONE POLINOMIALE ......................................... 113

PRINCIPALI OPERAZIONI CHE COINVOLGONO I

POLINOMI ....................................................................................... 114

POLINOMIO INTERPOLANTE DI LAGRANGE ..................... 115

IMMAGINI ........................................................................... 118

OPERAZIONI SULLE IMMAGINI .............................................. 129

ESTRAZIONE DI UNA PORZIONE ............................................ 130

SERIE ED INTEGRALE DI FOURIER ............................ 136

TRASFORMATA DISCRETA DI FOURIER .............................. 139

ESEMPI DI SUONO IN MATLAB ................................................ 139

IL MODULO DELLA VELOCITÀ ANGOLARE ....................... 154

INTEGRALI ......................................................................... 155

PROPRIETÀ DEGLI INTEGRALI ............................................... 157

TEOREMA DELLA MEDIA .......................................................... 157

METODO DEI TRAPEZI ............................................................... 157

METODO DI SIMPSON ................................................................. 167

ALGOBUILD ................................................................ 171

RAPPRESENTAZIONE NUMERICA

SISTEMA POSIZIONALE

Il sistema dei numeri romani è un sistema numerico additivo (o sottrattivo), e non posizionale

come quello decimale, in quanto:

• non posizionale: I vari numeri (simboli) assumono sempre lo stesso

valore indipendentemente dalla posizione che occupano;

• additivo (o sottrattivo): Ogni numero rappresenta la somma (o la differenza) dei

numeri che lo compongono. alfabeto

I numeri romani sono composti da una sequenza di simboli scelti tra le lettere dell’antico

romano. I simboli usati con il rispettivo valore nel nostro sistema di numerazione sono i seguenti:

Numero romano Numero arabo

I 1

V 5

X 10

L 50

C 100

D 500

M 1000

A partire da i suddetti valori vengono formati tutti i numeri romani, ad esempio XV (che equivale

a 15) e CD (che corrisponde a 400).

SISTEMA DECIMALE

Il sistema numerico decimale è un sistema di numerazione posizionale in base 10, nel quale i

numeri vengono formati usando le cifre 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ovvero i numeri arabi, e

assumono un valore diverso in base alla posizione occupata. Infatti, qualora scegliessimo due cifre

accanto all’altra, per ottenere un nuovo numero,

qualsiasi, ad esempio 4 e 6, e le scrivessimo l’una

potremmo formarne bensì due: 46

64

che ovviamente sono diversi poiché le cifre si trovano in posizione diversa: nel primo caso il 4

indica le decine e il 6 le unità, viceversa nel secondo caso.

SISTEMA BINARIO

Il sistema numerico binario, invece, è un sistema di numerazione posizionale in base 2 e le uniche

cifre che compongono i numeri sono 0 e 1. Esso è molto importante perché è alla base

e definisce il codice binario. Per indicare

dell’informatica che un numero è scritto usando il

codice binario lo si racchiude tra parentesi tonde e si mette come pedice il 2, per esempio:

1111 indica il numero millecentoundici nel sistema decimale, ma scrivendolo come (1111) si

2

“uno uno uno uno in base

leggerà due”.

CONVERSIONE

Per convertire un numero binario in un numero decimale basta ricorrere alla forma polinomiale:

⏟1 ⏟1 ⏟1 ⏟1

a a a a

3 2 1 0

0 1 2 3

1 x 2 + 1 x 2 + 1 x 2 + 1 x 2 = 15

Per passare dalla base decimale a quella binaria bisogna dividere il numero iniziale per due e i

successivi quozienti finché come quoziente non si avrà 0. I resti della divisione, scritti in

daranno il numero scritto

ordine inverso (dal basso verso l’alto) in base 2. Per esempio, se

volessimo scrivere il numero 146 in base binaria, dovremmo procedere nel modo seguente:

146 :2=73 resto 0

73 :2=36 resto 1

36 :2=18 resto 0

18 : 2 = 9 resto 0

9 : 2 = 4 resto 1

4 : 2 = 2 resto 0

2 : 2 = 1 resto 0

1 : 2 = 0 resto 1

Otterremo, quindi, 146 = (10010010) .

2

RAPPRESENTAZIONE NUMERICA BINARIA

base della rappresentazione è il bit, con il quale si può rappresentare

L’elemento che assume due valori. Per rappresentare più valori è necessario usare una

un’informazione n

sequenza di bit; n bit rappresentano 2 valori diversi:

2 valori: 0, 1

1 bit rappresenta 4 valori: 00, 01, 10, 11

2 bit rappresentano

3 bit rappresentano 8 valori: 000, 001, 010, 011, 100, 101, 110, 111

e così via.

COMPLEMENTO A DUE

Il complemento a due è il metodo più diffuso per la rappresentazione dei numeri con segno in

informatica. Col complemento a due, il bit più significativo del numero ha peso negativo o

positivo; da questo deriva che tutti i numeri che cominciano con un "1" sono numeri binari negativi, mentre tutti i numeri che

cominciano con uno "0" sono numeri binari positivi. Un numero binario positivo si può negare invertendone i bit e sommando 1 al

valore risultante. Ciò è matematicamente giustificabile se osserviamo come si comporta la somma di un numero binario e del suo

111…111 ̅

inverso: il risultato è una sequenza , che in complemento a 2 rappresenta -1. In simboli: x + = -1

2

⇒ ̅ ⇒ ̅

x + + 1 = 0 + 1= -x. Allo stesso modo si può ottenere il valore assoluto di un numero binario

negativo, ossia prendendo il complementare (invertendo il valore dei singoli bit) e aggiungendo 1 al

numero binario risultante. Un numero binario di n cifre può rappresentare con questo metodo i

(n-1) (n-1)

numeri compresi fra -2 e +2 -1. Ad esempio, un numero binario di 8 cifre può rappresentare

i numeri compresi tra -128 e +127. Questo metodo consente di avere un'unica rappresentazione

dello zero (quando tutti i bit sono zero, eliminando così la ridondanza dello zero che si verifica con

la rappresentazione in modulo e segno), e di operare efficientemente addizione e sottrazione sempre

avendo il primo bit a indicare il segno. Esso ha notevoli vantaggi, soprattutto per effettuare somme

e differenze. Il complemento a due supera infatti gli svantaggi della rappresentazione a modulo e

segno soprattutto in termini di complessità realizzativa dei circuiti sommatori. Come è possibile

notare, in complemento a due, il primo bit diventa automaticamente il bit del segno (come per la

rappresentazione a modulo e segno), risolvendo però il problema dell'ambiguità dello 0 (in

complemento a 2, 00000 e 10000 hanno significati diversi) e vengono enormemente facilitate le

operazioni di somma e differenza, che si riducono alla sola operazione di somma: per comprendere

meglio è sufficiente un esempio: 5 -10 = 5 + (-10 )= 0101 - 1010 = 00101 + 10110 =

10 10 10 10 2 2 CA2 CA2

11011 = -0101 = -5 .

CA2 2 10

Per rappresentare l'opposto di un numero binario in complemento se ne invertono, o negano, i

singoli bit: si applica cioè l'operazione logica NOT. Si aggiunge infine 1 al valore del numero

trovato con questa operazione. Per rappresentare il numero -5 con 8 bit in complemento a 2 si parte

dalla rappresentazione in binario del numero 5: 0000 0101. La prima cifra è 0, quindi il numero è

sicuramente positivo. Si invertono, quindi, i bit: 0 diventa 1, e 1 diventa 0: 1111 1010. A questo

punto si è ottenuto il complemento a uno del numero 5; per ottenere il complemento a due si

somma 1 a questo numero: 1111 1010 + 0000 0001 = 1111 1011. Il risultato è -5. Il primo bit, pari

a 1, evidenzia che il numero è negativo.

Il complemento a due di un numero negativo ne restituisce il numero positivo pari al valore

assoluto: invertendo i bit della rappresentazione del numero -5 (sopra) si ottiene: 0000 0100,

sommando 1 si arriva a 0000 0100 + 0000 0001 = 0000 0101, che è la rappresentazione di +5

in forma binaria. Si noti che il complemento a due dello zero è zero stesso: invertendone la

rappresentazione si ottiene un byte di 8 bit pari a 1, e aggiungendo 1 si ritorna a tutti 0

(l'overflow viene ignorato).

Addizione:

Operare l'addizione di due interi rappresentati con questo metodo non richiede processi speciali se

essi sono di segno opposto, e il segno viene determinato automaticamente. Per esempio

addizionando 15 e -5:

11111 1110 (riporto)

0000 1111 (15)

+ 1111 1011 (-5)

===========

0000 1010 (10)

Questo processo gioca sulla lunghezza fissa di 8 bit della rappresentazione: viene ignorato un

riporto di 1 che causerebbe un overflow, e rimane il risultato corretto dell'operazione (10). Gli

ultimi due bit (da destra a sinistra), ovvero i più significativi, della riga dei riporti contengono

importanti informazioni sulla validità dell'operazione: se il risultato è compreso o non è compreso

nell'intervallo dei numeri rappresentabili. Si verifica se il riporto è stato eseguito sul bit del segno

ma non è stato portato fuori, o viceversa; più semplicemente, se i due bit più a sinistra sulla riga

dei riporti non sono entrambi 0 o 1. Per verificare la validità del risultato è conveniente eseguire su

questi due bit un'operazione XOR. Ad esempio di addizione a 4 bit di 7 e 3:

01110 (riporto)

0111 (7)

+ 0011 (3)

=============

1010 (10)

In questo caso, come si può notare dal riporto presente solo sul bit più significativo, si è in

presenza di overflow, per cui il risultato non è 10 (come sarebbe corretto) ma -6, infatti il massimo

n-1

numero positivo rappresentabile in complemento a due su quattro bit è 7 (con n=4: 2 - 1 = 7).

Per numeri binari rappresentati in complemento a 2 si verifica overflow per l'addizione se e solo se:

• la somma tra due numeri positivi restituisce un numero negativo;

• la somma tra due numeri negativi restituisce un numero positivo.

Sottrazione:

Anche se la sottrazione potrebbe essere eseguita aggiungendo il complemento a due del

sottraendo al minuendo, questo procedimento è poco utilizzato in quanto porta più complicazioni

che semplicemente costruire un circuito per la sottrazione. Ma come per l'addizione, il vantaggio

del complemento a due è l'eliminazione della necessità di esaminare i segni degli operandi per

determinare quale operazione sia necessaria. Per esempio, sottrarre -5 a 15 è come aggiungere 5 a

15, ma questo è nascosto dal complemento a due:

1111 0000 (riporto)

0000 1111 (15)

− 1111 1011 (−5)

===========

0001 0100 (20)

L'overflow viene individuato con lo stesso metodo usato per l'addizione, esaminando i due bit più

a sinistra sulla riga dei riporti: se sono differenti si è verificato un overflow. Un altro esempio con

− 35 = −20:

una sottrazione con risultato negativo: 15

1110 0000 (riporto)

0000 1111 (15)

− 0010 0011 (35)

===========

1110 1100 (−20)

Si verifica overflow durante un'operazione di sottrazione se e solo se:

• la sottrazione tra un numero positivo e uno negativo (ovvero la somma di due numeri

positivi) restituisce un numero negativo;

• la sottrazione tra un numero negativo e uno positivo (ovvero la somma di due numeri negativi)

restituisce un numero positivo.

MODULO E SEGNO

La rappresentazione in segno e modulo, o rappresentazione con grandezza e segno, è

una rappresentazione dei numeri relativi in base 2, che estende il sistema numerico binario per

rappresentare i numeri negativi. È utilizzato in informatica per la rappresentazione dei numeri

all'interno dei calcolatori. Questo è il modo più semplice per rappresentare e distinguere numeri

positivi e negativi: al numero binario vero e proprio viene anteposto un bit che, per convenzione,

assume il valore 0 se il numero è positivo oppure il valore 1 se il numero è negativo.

Esempi:

• +3 = 0011

10 M&S

• -3 = 1011

10 M&S

Il grande difetto di questa rappresentazione è quello di avere due modi per scrivere il numero 0:

0000 e 1000 significano infatti +0 e -0.

+0 0000 -0 1000

+1 0001 -1 1001

+2 0010 -2 1010

+3 0011 -3 1011

+4 0100 -4 1100

+5 0101 -5 1101

+6 0110 -6 1110

1111

+7 0111 -7

Un altro svantaggio lo si ha nell'operazione di somma tra due numeri, in cui, definiti i due numeri

A e B, si procede secondo la seguente tabella:

• con A > 0 e B > 0 --> A + B

• con A > 0 e B < 0 --> A - |B|

• con A < 0 e B > 0 --> B - |A|

• con A < 0 e B < 0 --> - (|A| + |B|)

ALGEBRA DI BOOLE

L'algebra di Boole è il ramo dell'algebra in cui le variabili possono assumere solamente i

valori vero e falso (valori di verità), generalmente denotati come 1 e 0 rispettivamente; le operazioni

fondamentali non sono addizione e sottrazione ma gli operatori logici: la congiunzione o prodotto logico

∧ ∨

indicata con oppure AND; la disgiunzione o somma logica indicata con oppure OR; la negazione o

complementazione indicata con ¬ oppure NOT. Con tale formalismo si possono descrivere le relazioni

logiche in modo simile a quanto fa l'algebra ordinaria con le relazioni numeriche: la combinazione di

AND, OR e NOT permette di sviluppare qualsiasi funzione booleana e i tre operatori logici formano

pertanto un insieme funzionalmente completo. Si è visto che gli operatori dell'algebra booleana possono

essere rappresentati in vari modi, ma spesso sono scritti semplicemente come AND, OR e NOT che è la

scrittura che utilizziamo ora per parlare degli operatori booleani. Nella descrizione dei circuiti, possono

anche essere usati NAND (NOT AND), NOR (NOT OR) e XOR (OR esclusivo).

Not:

L'operatore NOT restituisce il valore inverso a quello in entrata. Una concatenazione di NOT è

semplificabile con un solo NOT in caso di dispari ripetizioni o con nessuno nel caso di pari. Inoltre

la porta logica NOT possiede una sola variabile binaria.

A NOT A

0 1

1 0

Spesso, al fine di semplificare espressioni complesse, si usano operatori brevi che uniscono

l'operazione di NOT ad altre: questi operatori sono NOR (OR + NOT), NAND (AND + NOT),

XNOR (XOR + NOT). La negazione, in questi casi, viene applicata dopo il risultato

dell'operatore principale (OR, AND, XOR).

Il simbolo di una porta NOT è:

And:

L'operazione AND restituisce come valore 1 se tutti gli operandi hanno valore 1, mentre restituisce 0

in tutti gli altri casi come ad esempio quando una porta è alta mentre le altre sono basse e pu&

Anteprima
Vedrai una selezione di 10 pagine su 179
Programma con esempi in MATLAB E FLOWCHART Pag. 1 Programma con esempi in MATLAB E FLOWCHART Pag. 2
Anteprima di 10 pagg. su 179.
Scarica il documento per vederlo tutto.
Programma con esempi in MATLAB E FLOWCHART Pag. 6
Anteprima di 10 pagg. su 179.
Scarica il documento per vederlo tutto.
Programma con esempi in MATLAB E FLOWCHART Pag. 11
Anteprima di 10 pagg. su 179.
Scarica il documento per vederlo tutto.
Programma con esempi in MATLAB E FLOWCHART Pag. 16
Anteprima di 10 pagg. su 179.
Scarica il documento per vederlo tutto.
Programma con esempi in MATLAB E FLOWCHART Pag. 21
Anteprima di 10 pagg. su 179.
Scarica il documento per vederlo tutto.
Programma con esempi in MATLAB E FLOWCHART Pag. 26
Anteprima di 10 pagg. su 179.
Scarica il documento per vederlo tutto.
Programma con esempi in MATLAB E FLOWCHART Pag. 31
Anteprima di 10 pagg. su 179.
Scarica il documento per vederlo tutto.
Programma con esempi in MATLAB E FLOWCHART Pag. 36
Anteprima di 10 pagg. su 179.
Scarica il documento per vederlo tutto.
Programma con esempi in MATLAB E FLOWCHART Pag. 41
1 su 179
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche MAT/08 Analisi numerica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher melissa.meli.1997.21.06 di informazioni apprese con la frequenza delle lezioni di Calcolo numerico e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Bari o del prof Satriano Antonio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community