Che materia stai cercando?

Anteprima

ESTRATTO DOCUMENTO

>> x=[1 0 7 9 0]; >> a=[1 3 5;7 0 2];

>> [l,k]=find(a>3)

>> z=find(x>3) l =

z = 2

3 4 1

k =

>> y=[1 2 4 7 2]; 1

>> z=find(x>y) 3

z = >> a(find(a>3))=9

3 4 a = 1 3 9

9 0 2

CALCOLO NUMERICO-A.d'Alessio 12

Alcune funzioni di matrice

det(A) Determinante di A

rank(A) Rango di A

inv(A) Inversa di A

eig(A) Autovalori di A

diag(A) A vettore,crea una matrice diagonale, A matrice

estrae la diagonale

triu(A),tril(A) Estrae il triangolo sup.(inf.) da A

sum(A) A vettore,somma gli elementi,A matrice produce

un vettore somma delle colonne

max(A),min(A) A vettore, max(min),di A, A matrice produce un

vettore col max(min) delle colonne

sort(A) 0rdina elementi (se A è matrice ordina le colonne)

mean(A) Media elementi (A matrice vettore media colonne)

diff(A) Vettore con differenze elementi adiacenti

trace(A) Somma elementi diagonali di A

CALCOLO NUMERICO-A.d'Alessio

>> trace(a)

>> a=[1 2;3 4]; ans =

>> d=diag(a) 5

d = >> det(a)

1 ans =

4 -2

>> c=diag(d)

c = >> b=inv(a)

1 0 b =

0 4 -2.0000 1.0000

1.5000 -0.5000

>> tril(a)

ans = >> a=[0 0;0 1];

1 0 >> inv(a)

3 4 Warning: Matrix is singular to working

>> triu(a) precision.

ans = ans =

1 2 Inf Inf

0 4 Inf Inf

>> a=eye(4)+diag(3*ones(3,1),1)+diag(2*ones(3,1),-1)

a = 1 3 0 0

2 1 3 0

0 2 1 3

0 0 2 1

>> sum(a)

ans =

3 6 6 4

>> sum(sum(a))

ans =

19

>> max(a)

ans =

2 3 3 3

>> max(max(a))

ans =

3 CALCOLO NUMERICO-A.d'Alessio 15

for ind=iniz:passo:fin

istruzioni

end >> w=[3 1 9 2 6 2 3];

for k=2:6 for k=2:2:10 >>v=[1 3 4];

x(k)=2*k; x(k)=2*k; >> for k=v

end end x(k)=w(k);

end

Ad ogni passo l’indice del for >> x

conterrà il valore successivo del x =

vettore 3 0 9 2

CALCOLO NUMERICO-A.d'Alessio 16

le istruzioni sono ripetute

while espressione logica fino a che

istruzioni espressione logica è vera

altrimenti sono saltate

end n=0;

while n < = k

n=n+1;

end

CALCOLO NUMERICO-A.d'Alessio 17

if espressione logica if espressione logica

istruzioni

end istruzioni 1

elseif espressione logica

istruzioni 2

if espressione logica else

istruzioni 1 istruzioni 3

else end

istruzioni 2

end CALCOLO NUMERICO-A.d'Alessio 18

if x>0

sqrt(x) if n = = k if d==0

end x(n)=a; a=d+1;

else elseif d>0

x(n)=b; b=sqrt(d);

end else

c=-d;

end

CALCOLO NUMERICO-A.d'Alessio 19

break uscita da un ciclo for o while

for k= 1:10

x=50-x^2

if x<0 , break, end

end Visualizza un messaggio ed arresta

error(‘t ’)

esto i calcoli

>> if a<0

error('a è negativo')

>>end

??? a è negativo 20

CALCOLO NUMERICO-A.d'Alessio

switch expr switch a

case valore 1 case 2

istruzioni y=2*a;

case valore2 case 3

istruzioni y=3*a;

... case 5

otherwise y=5*a;

istruzioni otherwise

end y=a;

end

CALCOLO NUMERICO-A.d'Alessio 21

uso ottimale del Matlab

non scrivere programmi come con

qualsiasi linguaggio di programmazione

un sfruttare le potenzialità

nel gestire le matrici e le funzioni interne

molti calcoli con pochi comandi in tempo minore

CALCOLO NUMERICO-A.d'Alessio 22

Programmare correttamente in Matlab

eliminare cicli for sostituibili

da operazioni vettoriali

>> y

>> x=[3 -2 4 -1 7 6 -9]; y =

>> j=0; 1 3 5 6

>> for k=1:length(x)

if x(k)>0 >> x=[3 -2 4 -1 7 6 -9];

j=j+1; >> y=find(x>0)

y(j)=k; y=

end

end 1 3 5 6

CALCOLO NUMERICO-A.d'Alessio 23

Input – Output

input disp(x)

x= (‘valore di x’)

visualizza un testo sullo visualizza il

schermo, aspetta che valore di una

l’utente digiti un valore variabile

che registra nella

variabile specificata

CALCOLO NUMERICO-A.d'Alessio 24

Conversione di numeri in stringhe

>> n=input(' valore di n')

valore di n 6

n = r=2.5; area=pi*r^2;

6 >> t=[‘ilcerchio di raggio’,num2str(r),’

>> b=input(' array b') >> … ha area’,num2str(area)];

array b [1 2 3 5]

b = >>disp(t)

1 2 3 5 il cerchio di raggio 2.5 ha area

>> disp(n)

6 19.36

>> disp(b)

1 2 3 5 CALCOLO NUMERICO-A.d'Alessio 25

salvare e leggere dati in un file

save load

e

>>w=0:0.1:10;

>>save dati.mat w

>>clear all

load dati ricarica w in memoria

delete nomefile cancella un file

type nomefile visualizza il contenuto del file

CALCOLO NUMERICO-A.d'Alessio 26


PAGINE

35

PESO

477.93 KB

PUBBLICATO

+1 anno fa


DETTAGLI
Corso di laurea: Corso di laurea in ingegneria informatica
SSD:
A.A.: 2013-2014

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher valeria0186 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à Napoli Federico II - Unina o del prof D'Alessio Alessandra.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Calcolo numerico

Elaborati D'Alessi
Appunto
Calcolo Numerico – Funzione Gauss
Appunto
Calcolo Numerico – Funzione Espo
Appunto
Calcolo Numerico – Fitting dei dati
Appunto