Scilab. Matrici Bidimensionali. Corso di Informatica CdL: Chimica. Claudia d'amato.

Documenti analoghi
Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.

3. Matrici e algebra lineare in MATLAB

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

PON Liceo Scientifico Leonardo da Vinci. Vallo della Lucania

Variabile, costante ed espressione

Inversa di una matrice quadrata. L operatore inv() inverte una matrice quadrata non singolare (cioè in cui il determinate è diverso da zero).

Esercizi di MatLab. Sommario Esercizi di introduzione a MatLab per il corso di Calcolo Numerico e Laboratorio, A.A

MATLAB parte II. Array

Arrays. Vector array. Matrix array. Row vector. 2D matrix. 1 2 Column vector

Introduzione a Matlab

1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi.

MATRICI (ARRAY) IN MATLAB/OCTAVE

Le matrici. Sia K un campo con elemento neutro dell addizione 0 ed elemento neutro della moltiplicazione 1.

Vettori e Matrici. Vettori. Vettori e matrici: dati. Vettori di caratteri Polinomi. Dimensione (Size) numero di righe e di colonne della matrice

MATRICI E VETTORI APPROFONDIMENTO PER IL CORSO DI LABORATORIO DI INFORMATICA SARA POLTRONIERI

Laboratorio 1 Introduzione a Matlab R - Octave

Introduzione al MATLAB c Parte 1 Variabili ed array

Introduzione. MATLAB è l acronimo di MATrix LABoratory

8 Introduzione MATLAB

Vettori e matrici. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Anno 4 Matrice inversa

MATLAB - Programmazione - 2. Antonino Polimeno

Laboratorio di Python

Definizioni e operazioni fondamentali

Laboratorio 1 Introduzione a Scilab

A = Quindi > b=a(:) b =

Terminiamo gli esercizi dell ultima lezione. (LUCIDI) Calcolare, se possibile, AC, CA, CH e HC. (LUCIDI)

Corso di Geometria BIAR, BSIR Esercizi 2: soluzioni

Introduzione a Matlab (e al Calcolo Numerico)

Il determinante. Calcolo del determinante di matrici particolari. matrici di ordine 2: sia. a11 a A = allora

Aritmetica in Floating Point

ARRAY E TYPEDEF. A volte è utile definire un nuovo tipo di dato come array. Si usa la solita sintassi del linguaggio C

LEZIONE 1 C =

Introduzione al linguaggio Matlab - 1. A) Command Window: é la nestra in cui si eseguono in comandi.

Richiami di algebra delle matrici a valori reali

= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con

METODI ESERCIZI. 07-xx_Esercizi[01] Versione del: venerdì 3 maggio Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI

Lezione 4 - Esercitazioni di Algebra e Geometria - Anno accademico

Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di

Corso Matlab : Seconda lezione (Esercitazione, 10/05/13) Samuela Persia, Ing. PhD.

Prendiamo in considerazione la matrice tridiagonale

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Introduzione a Matlab

LEZIONE 11 IMPARIAMO A PROGRAMMARE: I DATI E LE VARIABILI Laboratorio di Informatica per l Educazione A. A. 2014/2015

Fogli Elettronici. Idoneità Informatica Prof. Mauro Gaspari

Foglio Elettronico Lezione 1

MATLAB (1) Introduzione e Operazioni con array

Matrici. Prof. Walter Pugliese

Linguaggio C++ 8. Matrici

Corso di Matematica Generale M-Z Dipartimento di Economia Universitá degli Studi di Foggia ALGEBRA LINEARE. Giovanni Villani

Matrici. Matrici.h Definizione dei tipi. Un po di esercizi sulle matrici Semplici. Media difficoltà. Difficili

Liste. Università degli Studi di Milano

Matrici quadrate particolari

MATRICI E SISTEMI LINEARI

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

3. Vettori, Spazi Vettoriali e Matrici

Informatica Avanzata per la Finanza

NORMA DI UN VETTORE. Una NORMA VETTORIALE su R n è una funzione. : R n R +

LEZIONE PRECEDENTE. 1 Abilità Informatiche e Telematiche. 03/04/2015 Dott. ssa Carmen De Maio

ALGEBRA LINEARE PARTE II

Elementi di Informatica A. A. 2016/2017

Modulo III - Introduzione ad R

Geometria BIAR Esercizi 2

Grafi e Funzioni di Costo ESERCIZI

Metodi di Analisi dei Dati Sperimentali. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab

Manuale di MATLAB. (livello base)

2x 5y +4z = 3 x 2y + z =5 x 4y +6z = A =

Sistemi II. Sistemi II. Elisabetta Colombo

Corso di Visione Artificiale. Matlab per Visione. Samuel Rota Bulò

Laboratorio di Programmazione Lezione 3. Cristian Del Fabbro

Esercitazioni di Algebra e Geometria

Mini-Corso di Informatica

Lezioni di Algebra Lineare con applicazioni alla Geometria Analitica Errata Corrige. Fulvio Bisi, Francesco Bonsante, Sonia Brivio

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Esercitazione 1: Introduzione a MATLAB

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

n deve essere maggiore di 0, altrimenti il metodo restituisce null.

Esercitazione 4: Vettori e Matrici

1 se k = r i. 0 altrimenti. = E ij (c)

RISOLUZIONE DI SISTEMI LINEARI

Introduzione soft alla matematica per l economia e la finanza. Marta Cardin, Paola Ferretti, Stefania Funari

ESERCITAZIONE MATLAB

Laboratorio di Python

Elementi di Algebra Lineare Matrici e Sistemi di Equazioni Lineari

In questo articolo descriveremo le formule da applicare alle seguenti operazioni sulle stringhe di testo:

Scilab: I Polinomi - Input/Output - I file Script

La matematica del CAD. Vettori e Matrici

Sistemi lineari. 2x 1 + x 2 x 3 = 2 x 1 x 2 + x 3 = 1 x 1 + 3x 2 2x 3 = 0. x 1 x 2 x 3

( ) TEORIA DELLE MATRICI. A. Scimone a.s pag 1

Richiami di algebra lineare

LEZIONE i i 3

Linguaggio C - Array. Array: tipo nome_array[num_elementi]

Esercitazioni di Algebra e Geometria

Laboratori di Meccanica Applicata alle Macchine. Breve introduzione all uso di Matlab

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008

RIDUZIONE E RANGO , C = 2 5 1

Progetto Matlab N 2. Calcolo Numerico 6 CFU. Corso di Laurea in Ingegneria delle Comunicazioni 31/05/2014

Laboratorio 1. 2) All interno della directory c:\temp\cognome\codici creare il file sorgente hello.c contenente il seguente codice:

Laboratorio di Python

Array e matrici. Università degli Studi di Milano. Laurea Specialistica in Genomica Funzionale e Bioinformatica. Giorgio Valentini

Multidimensionali. Array Multidimensionali. Tipi di array. Matrice: array bidimensionale. Array multidimensionale. Dichiarazione di una matrice

Transcript:

Scilab Corso di Informatica CdL: Chimica Matrici Bidimensionali Claudia d'amato claudia.damato@di.uniba.it

Matrici Uno dei tipi di base di Scilab è costituito dalla matrice Uno dei modi più semplici per definire una matrice in Scilab è quello di inserire una lista di elementi seguendo le seguenti convenzioni gli elementi di una riga sono separati da spazi o virgole la lista di elementi è racchiusa tra [ ] ogni riga termina con ;

Il comando --> A = [1 1 1; 2 4 8; 3 9 27] produce il risultato A = 1. 1. 1. 2. 4. 8. 3. 9. 27. Esempio La matrice viene memorizzata in memoria nella variabile A per usi futuri

Inserire una matrice 3x3 Matrici A = [-1. 0. 1. ; 4. 2. 3. ; 5. 6. 8. ] <return> u = [1. 3. -5.] ; v = [2. 3. 4.] ; w = [-1. 0 1. ]<return> C = [u ; v; w] //composizione di matrici, crea una matrice 3x3 r = [u, v, w] //composizione di matrici, crea un vettore 1x9 D = [u' v' w'] //composizione di matrici, crea una matrice 3x3 S = [u'; v'; w'] //composizione di matrici, crea un vettore colonna 9x1

Matrici /2 A + B <return> A D <return> A * B <return> //prodotto matriciale A * u <return> //err, incompatibilità dim A * u' <return> A' <return> //matrice trasposta inv(b) <return> //solo per matr. Quadrate e con determinante diverso da zero det(b) <return> trace(b) <return> //same as sum(diag(b)) tril(b) <return> //estrae la matr triangolare superiore triu(b) <return> //estrae la matr triang infer

Matrice identità eye(3,3) Matrici/3 gli argomenti della funzione eye(n,m) sono il numero di righe n e il numero di colonne m della matrice ans = 1 0 0 0 1 0 0 0 1

Matrici/4 Matrice unitaria ones(2,3) ans = 1 1 1 1 1 1 Matrice nulla zeros(2,4) ans = 0 0 0 0 0 0 0 0

Matrici/5 Gli argomenti di ones e zeros sono il numero di righe e il numero di colonne della matrice possono essere estratte anche da una matrice già definita --> O = zeros(c); O = 0. 0. 0. 0. 0. 0. Dove C è una matrice di dimensione 3x2 definita in precedenza

Matrice diagonale Funzioni su matrici Per ottenere una matrice diagonale, in cui gli elementi della diagonale sono costituiti dagli elementi di un vettore --> b = [1 2 5]; --> B = diag(b) B = 1. 0. 0. 0. 2. 0. 0. 0. 5. questo esempio mostra che Scilab distingue maiuscole e minuscole (b è diverso da B)

Estrarre la diagonale Funzioni su matrici Se applichiamo la funzione diag su una matrice otteniamo un vettore costituito dagli elementi della diagonale --> c = diag(b); c = [1. 2. 5.]

Matrici triangolari Funzioni su matrici Le funzioni triu (upper) e tril (lower) estraggono, risp., la parte triangolare sup ed inf di una matrice --> C = [1 2 3 4; 5 6 7 8; 9 10 11 12] --> U = triu(c); U = 1. 2. 3 4 0. 6. 7 8 0. 0. 11 12 --> L = tril(c); L = 1. 0 0 0 5. 6. 0 0 9. 10. 11 0

Matrice di numeri aleatori Funzioni su matrici La funz. rand permette di creare matrici con valori pseudo-casuali nell'intervallo [0,1[ --> M = rand(2,3) //è specificata dim matrice 2x3 M = 0.2113249 0.0002211 0.6653811 0.7560439 0.3303271 0.6283918

Operazioni elemento per elemento Per moltiplicare due matrici A e B delle stesse dimensioni elemento per elemento si utilizza l'operatore.* (./ per la divisione) A.*B è la matrice [a ij ij b ij ] E' possibile anche elevare a potenza si può utilizzare l'operatore postfisso.^ A.^p permette di ottenere la matrice [a ij ij p ]

Composizione di Matrici... Scilab unisce tra di loro matrici e vettori A = [1. 2. 3; 4. 5. 6; 7. 8. 9]; r = [10. 11. 12.] A = [A; r] A = 1 2 3 4 5 6 7 8 9 10 11 12

...Composizione di Matrici... L'operazione di concatenazione permette di assemblare più matrici in una Supponiamo di voler costruire la seguente matrice A suddivisa per blocchi 1 2 3 4 1 4 9 16 1 8 27 64 1 16 81 256

...Composizione di Matrici Definiamo leseguenti matrici --> A11 = 1; --> A12 = [ 2 3 4]; --> A21 = [1; 1; 1]; --> A22 = [4 9 16; 8 27 64; 16 81 256]; per ottenere A concateniamo i 4 blocchi --> A = [A11 A12; A21 A22]

Riferimenti a elementi di Matrice Per far riferimento agli elementi di una matrice si utilizzano gli indici fra parentesi tonde A33=A(3,3) x30=b(30,1)

Estrazione di elementi... --> A(:,2) // estrae la seconda colonna --> A(3,:) // estrae la terza riga --> A(1:3,1:2) // estrae la matrice principale // di ordine 2 --> A([1 3], [2 3]) estrae la matrice costituita dall'intersezione delle righe 1 e 3 e dalle colonne 2 e 3

...Estrazione di elementi Le matrici sono dei blocchi memorizzati colonna per colonna --> A(5) //restituisce il 1 el della 2 col. ans = 2 --> A(1:5) //restituisce gli el da 1 a 5 procedendo per colonna B = A --> B(1:5) = -1 //assegnamento -1 agli // elementi A(1:5)

Estrazione di Blocchi di Elementi da Matrice Estrazione delle righe da 1 a 3 della matrice A (lucido precedente) e tutte le colonne b = A(1:3,:) b = 1 2 3 4 5 6 7 8 9 Estrazione delle righe da 1 a 3 di A in ordine inverso e delle colonne 1 e 2 C = A(3:-1:1, [1 2]) C = 7 8 4 5 1 2

Dimensioni di una Matrice size(a,1) //numero righe di A (matr. Prec.) Ans = 4 size(a,2) //numero colonne di A Ans = 3 size(a) Ans = 4. 3. [numrow, numcol] = size(a) length(a = [1 2 3 4 5 6]) //num el vettore Ans = 6 length(a) Ans = 12 //num el matrice

Rimodellare una matrice ridimensionare una matrice --> B = [1 2 3; 4 5 6] --> B_new = matrix(b, 3, 2) B_New = 1 5 4 3 2 6 matrix(a,m,n) ridimensiona la matrice A ad mxn. A deve contenere mxn elementi matrix(b,2,2) //errore errore,, perchè B contiene più di 4 elementi

sum Funzioni primitive --> sum(1:6) //somma gli scalari 1+2+...+5+6 ans = 21 --> B = [1 2 3; 4 5 6] B = 1 2 3 4 5 6 -->sum(b, r ) // somma di colonne ans = 5 7 9 ---> [col1 col2 col3] = sum(b, r ) -->sum(b, c ) // somma di righe ans = [6; 15]

Funzioni primitive prod(1:5) //prod. primi 5 num 1*2*...*4*5 ans = 120 -->prod(b, r ) // prodotto di colonne ans = 4 10 18 -->prod(b, c ) // prodotto di righe ans = 6 120 --> prod(b) //prodotto tutti elem matrice ans = 720

cumsum e cumprod Funzioni primitive --> x = 1:6; ==> x = [1 2 3 4 5 6] --> cumsum(x) //1 1+2 3+3 6+4 10+5... ans = [1 3 6 10 15 21] --> cumprod(x) //1 1*2 2*3 6*4 24*5... ans = [1 2 6 24 120 720]

Funzioni primitive Per le matrici l'accumulazione viene fatta colonna per colonna --> x = [1 2 3; 4 5 6] Provare: --> cumsum(x) //somma cumulativa elementi procedendo per colonne --> cumsum(x, r ) //somma cumulativa el di ogni colonna --> cumsum(x, c ) //somma cumulativa el di ogni riga

Minimo e massimo --> x = rand(1,5) --> min(x) // restituisce il minimo --> [posmin, valmin] = min(x) restituisce valore e posizione --> y = rand(2,3) --> [ymin, imin] = min(y) --> [ymin, imin] = min(y, r ) --> [ymin, imin] = min(y, c ) Funzioni primitive

Media --> x = 1:6 --> mean(x) // restituisce la media --> st_deviation(x) --> y = rand(2,3) --> mean(y, r ) --> mean(y, c ) Funzioni primitive

Manipolazione e Matrici di Stringhe...

Manipolazione e Matrici di Stringhe Creazione di un vettore colonna di tipo stringa