Anteprima
Vedrai una selezione di 12 pagine su 55
Laboratorio MATLAB - Prof. Gemignani Pag. 1 Laboratorio MATLAB - Prof. Gemignani Pag. 2
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Laboratorio MATLAB - Prof. Gemignani Pag. 6
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Laboratorio MATLAB - Prof. Gemignani Pag. 11
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Laboratorio MATLAB - Prof. Gemignani Pag. 16
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Laboratorio MATLAB - Prof. Gemignani Pag. 21
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Laboratorio MATLAB - Prof. Gemignani Pag. 26
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Laboratorio MATLAB - Prof. Gemignani Pag. 31
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Laboratorio MATLAB - Prof. Gemignani Pag. 36
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Laboratorio MATLAB - Prof. Gemignani Pag. 41
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Laboratorio MATLAB - Prof. Gemignani Pag. 46
Anteprima di 12 pagg. su 55.
Scarica il documento per vederlo tutto.
Laboratorio MATLAB - Prof. Gemignani Pag. 51
1 su 55
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

MATLAB LEZIONE 1

06-03-2014

Federico Poloni

f.poloni@unipi.it

MATLAB: programma diffuso nell'ambito dell'ingegneria.

  • realmax: numero più grande rapp.
  • realmin: "" livello mag. di 0,
  • eps: risoluzione del museo od ottemure.
  • format long: vedo più cifre significative.

Possiamo assegnare altra variabile: b = 1e4 = 10000

Se facciamo molti equazioni con grandi numeri, generiamo ERRORI

  • 1/98 . 98 = 1
  • 1 – (1/98) . 98 = 1,11... Esempio di formazione dell'errore.

Se metto il ";" il risultato non compare a video

Ricordiamo tutti gli end, alla fine e anche dopo gli if.

Per fermare un ciclo troppo lungo ctrl+c

Uno script sono una serie di comandi scritti uno dopo l'altro.

funzione: è cioè a se stante, che prende valore in ingresso e che restituisce in uscita qualcosa.

  • fattoriali: prodotto di tutti i numeri da 1 a n.
  • function = espomuniale (x,n) Calcola ex è prendendo i primi n termini dello sviluppo di Taylor.

fx = 1 + x + x2/2! + x3/3! + ... + xn/n!

function p = polnom(a,b) p=1; % accumulatore for i=1:b p=p*a; if b==0 p=1; end end end function y=potenza(x,n) % calcola x^n per n naturale a=x; % accumulatore for i=1:n-1 % oppure a=1 a=a*x; end end if n> plot ([1 2 5 4], [-1 2 4 2])

coordinata x

coordinata y

>> plot ([1 2 5 4], [-1 2 4 2], 'r')

= grafica in ROSSO.

>> plot ([1 2 5 4], [-1 2 4 2], 'o')

disegna dei pallini

>> plot (' ', ' ', ('x-g'))

eseguito in linea continua si vede

>> plot ([1 2 3 4 5 6...], [1 4 9 16 25 36...])

>> plot ([1:10], ([1:10]).*([1:10]))

prodotto p.to x p.to

>> x = 1:10

>> plot (x, x .* x)

x .* x è come scrivere (x.^2)

>> x .^ 2

>> plot (x, 3 .* x .^ 3 + 5 + x)

cioè

x3+5x

Disegniamo un cerchio:

t = 0:0.001:2 * pi

plot (cos(t), sin(t))

se diminuiamo il passo possiamo vedere l'insieme di spezzate

>> x = 1000 * rand(2,1)

>> A * x

>> b = A * x

>> x_calcolato = A \ b

Otteniamo circa 8 cifre significative giuste e poi abbiamo tutte cifre diverse

> norm(x_calcolato-x) / norm(x)

\[ \frac{\|x - x\|}{\|x\|} \leq k(A) \cdot \frac{\|b - b\|}{\|b\|} \]

("errore relativo del termine noto")

> econd(A) * eps: cifre significative ehi ho quando

risolvo il sistema lineare

> norm(x - x_calcolato): ERR ASSOLUTO

perturbiamo a mano:

>> b_tilde = b

>> b_tilde(1) = b(1) + 1

>> norm(b_tilde - b) / norm(b)

> econd(A) * norm(b_tilde - b) / norm(b)

>> x_tilde = A \ b_tilde; in caso grande xk il

condizionamento è alto.

Fattorizzazione LU matlab

formo - A21 / R1

formo - A31 / R1

formo - A41 / R1

A = A11 A12 A13 A14 * * * * * * * * * *

L = 1 0 0 0 A21 / A11 1 0 0 A31 / A11 0 1 0 A41 / A11 0 0 1

A = L A

La = A11 A12 A13 A14 0 b22 b23 b24 0 b32 b33 b34 0 b42 b43 b44

LA

- b32 R2 / b22

- b42 R2 / b22

9° passo riduzione a scala

L2 = 1 0 0 0 0 1 0 0 b32 / b22 0 1 0 - b42 / b22 0 0 1

L1A = A11 A12 A13 A14 0 b22 b23 b24 0 0 e33 e34 0 0 e43 e44

L2L1A

passo gemileo

XH =

bK - k-1j=1 LkjXj

Lkk

numero di righe di L

function x=utsolve(l,b)

m=size(l,1)

for k=1:m

y=b(k);

for j=1:k-1

y=y-L(k,j)*x(j);

end

x(k) =

y

L(k,k)

end

end

>> triu (L) prende una matrice ed è la sua matrice triangolare superiore

es:>> triu (ones (5))

>> L=triu (laplacian (5))

>> V=[2;3;4;5;6]

>> ut-solve (L,V)

Prendiamo x e moltiplichiamo per l (L*x) per vedere se il risultato è corretto.

3.

(n): -2zn-1 + (2+zn)1 = 0

(n-1): -2zn-2 + (2+zn-1) zn-1 -1 = 0

(n-2): -2zn-3 + (2+zn-3) zn-2 - zn-1 = 0

(2): -z1 + (2+z2) z2 - z3 = 0

(1): -z0 + (2+z1) z1 = θ

Risolvendo l'equazione in ordine da n a 1 risolviamo le inequazioni

matlab:

function [z, theta] = eomplito(n, alpha)

quanto la chiamiamo [a,b] eomplito [100, 1]

beta = 2+alpha

z = zeros( m-1, 1)

z(n-1) = beta

z(n-2) = beta * z(n-1) -1

for i = 1: n-3

  • z(n-(i+2)) = beta*z(n-(i+1))-z(n-i) ;

(n): zn-1 = zn + 3

(n-1): zn-2 = (zn-3) zn-2 -1

zn-3 = (zn-2) zn-2 - zn-3

zn-4 = (zn-3) zn-3 - zn-2

Dettagli
Publisher
A.A. 2015-2016
55 pagine
1 download
SSD Scienze matematiche e informatiche MAT/08 Analisi numerica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Ing_bio 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à Università degli Studi di Pisa o del prof Gemignani Luca.