Operatori Relazionali in MATLAB. Logica e relazioni
|
|
|
- Berta Lillo
- 9 anni fa
- Visualizzazioni
Transcript
1 Logica e relazioni Operatori Relazionali in MATLAB Operatori relaizonali Vettori logici e indirizzamento Operatori logici Funzioni logiche (find, ecc ) A operatore B A e B possono essere: Variabili, costanti o espressioni da valutare Scalari o Vettori (dimensioni compatibili!) Numerici o stringhe Operatori: > > = = = < < = ~ = Il risultato è vero () o falso () anche vettore 2 Altri esempi espressione risultato 5 < 7 [ ] > = [ 2 ] max( :6 ) < = 7 [3 pi -2 ] > 'Tom' = = 'Bob' 'Tom' = = 'm' Note: I vettori logici possono ancora essere usati come numerici! Possiamo usare il risultato per fare un calcolo: es. Quante lettere s in una parola? 3 I vettori e le stringhe devono avere le stesse dimensioni! Questi sono valori logici!! v. Workspace 4
2 STRCMP e vettori di celle STRCMP: esempio Per cercare una parola in un vettore di celle contenente stringhe non possiamo usare l operatore == perché non è definito per le celle. Si può usare la funzione strcmp Per altre funzioni sulle stringhe digitare: help strfun 5 6 Non confondiamo = = e = La precisione finita può fregare il ~ = sind() = = sind(8) = = Per i numeri piccoli usiamo eps! abs( sind(8) ) < = eps Selezionare elementi di vettori usando i vettori logici Quando utilizziamo un vettore logico come indice per un array, vengono estratti gli elementi corrispondenti ai valori del vettore logico. Quindi se digitiamo A(j), dove j è un vettore logico della stessa dimensione di A, otteniamo i valori di A corrsipondenti agli indici degli del vettore j. N.B.Per creare un vettore logico NON basta creare un vettore di e (numeri), bisogna convertirlo con la funzione logical. 7 8
3 9 >> A = :5 A = >> i = [,,,,]; i = >> j=logical(i) j = >> A(j) 5 >> A(i)??? Index into matrix is negative or zero. See release notes on change to logical indices. Gli operatori relazionali possono essere usati direttamente per selezionare gli elementi di un vettore. Per esempio, se x = [6,3,9] e y = [4,2,9], digitando z = x(x<y) Troviamo tutti gli elementi di x che sono minori del corrispondente elemento in y. Il risultato sarà: z = 6. Operatori logici Operatori base: and & or xor not ~ A operatore B A e B possono essere: Logici o Numerici Variabili, costanti o espressioni da valutare Scalari o Vettori (dimensioni compatibili!) A e B, se sono numerici, verranno interpretati come logici (binari): Il numero viene interpretato come falso Tutto il resto viene interpretato come vero Il risultato è vero () o falso () anche vettore A B A&B tabella di verità A B xor(a,b) ~A Operatore unario 2
4 Esempi: Hai tra 25 e 3 anni? siamo in inverno? (eta>=25) & (eta<=3) (mese==2 & giorno>=22) (mese==) (mese==2) (mese==3 & giorno<=2) Con i vettori: Score = [ 7, 55, 88, 98, 8, 73, 9 ] C = (Score > 7) & (Score < 8) C = [ ] Utile per contare quanti elementi soddisfano una condizione: B_grades = sum( Score<9 & Score>8 ) 3 4 Esempio con testo: 'Tom'= ='m' 'Tom'= ='o' name = input('enter name','s'); name = = 'Tom' name = = 'Bob' Lancio di un dado: roll = sum(ceil(6*rand(,2))); roll = = 7 roll = = Precedenza degli operatori (da sinistra a destra). Parentesi ( ) 2. Trasposta (') and potenza (.^) 3. Negativo (-) e negazione logica (~) 4. moltiplicazione (.*) e divisione (./), 5. Addizione (+) sottrazione (-) 6. Operatore due punti (:) 7. Operatori relazionali (<, <=, >, >=, = =, ~=) 8. AND logico (&) 9. OR logico ( ) 5 6
5 Gli operatori aritmetici +, -, *, /, e \ hanno la precedenza rispetto agli operatori relazionali. Quindi il comando z = 5 > è equivalente a z = 5 >(2+7) e dà come risultato z = (logical). Possiamo usare le parentesi per cambiare l ordine di precedenza; per esmpio, z = (5 > 2) + 7 restituisce z = 8 (numero) Altri operatori logici: Estendere ed & da op.binari a vettoriali : any(x) all(x) Per verificare dimensioni, valori e tipi dei vettori: isempty(a) isinf(a) isnan(a) ischar(a) isnumeric(a) Per trovare i valori per cui è vera una condizione: find( ) 7 8 La funzione find La funzione find e gli operatori logici 9 find(a) [u,v,w] = find(a) Restituisce una matrice contenenti gli indici degli elementi non nulli del vettore A. Restituisce i vettori u e w contenteni l indice di riga e di colonna degli elementi non nulli della matrice A e la matrice w (opzionale) contenente i valori degli elementi non nulli 2 Vediamo la sessione: >>x = [5, -3,,, 8];y = [2, 4,, 5, 7]; >>z = find(x&y) z = 2 5 Notate che find ritorna gli indici e non i valori degli array!!! (continua )
6 La funzione find e gli operatori logici Nella seguente sessione notate la differenza tra il risultato di y(x&y) e quello di find(x&y) nel lucido precedente. >>x = [5, -3,,, 8];y = [2, 4,, 5, 7]; >>values = y(x&y) values = Altri operatori logici Estensione di e & ai vettori: any(x) all(x) Per verificare la dimensione: isempty(a) Per verificare il valore: isinf(a) isnan(a) finite(a) Per verificare il tipo di dati: ischar(a) isnumeric(a) isreal(a) 2 22 Funzione logica Definizione Funzione logica Definizione 23 all(x) all(a) any(x) any(a) isempty(a) Ritorna uno scalare: se tutti gli elementi del vettore x sono non nulli, altrimenti. Ritorna un vettore riga, con lo stesso numero di colonne della matrice A, che contiene o, in funzione del fatto che la corrispondente colonna di A contenga tutti elementi non nulli oppure no. Ritorna uno scalare: se almeno un elemento del vettore x è non nullo, altrimenti. Ritorna un vettore riga, con lo stesso numero di colonne della matrice A, che contiene o, in funzione del fatto che la corrispondente colonna di A contenga almeno un elemento non nullo oppure no. Ritorna se A è vuoto, altirmenti. 24 isinf(a) isnan(a) finite(a) Ritorna un vettore (o matrice) delle stesse dimensioni di A con dove gli elementi di A sono inf, altrove. Ritorna un vettore (o matrice) delle stesse dimensioni di A con dove gli elementi di A sono NaN, altrove. ( NaN sta per not a number, cioè risultato indefinito) Ritorna un vettore (o matrice) delle stesse dimensioni di A, con dove gli elementi di A sono finiti, altrove.
7 Funzione logica ischar(a) isnumeric(a) Definizione Ritorna se A è un array di caratteri, altrimenti. Ritorna se A è un vettore numerico, altrimenti. Appendice: Vettori di celle (precisazioni) Vengono usati di solito per contenere stringhe di diversa lunghezza. Si usano le parentesi graffe per crearli isreal(a) Ritorna se A ha solo elementi con parte immaginaria nulla, altrimenti. >> nomi={'tim','tom','carl'} nomi = 'tim' 'tom' 'carl' Possono anche essere matrici di celle >> nomi={'tim','smith' 'tom','jones' 'carl','lee'} nomi = 'tim' 'smith' 'tom' 'jones' 'carl' 'lee' L indicizzazione è come per le matrici: >> nomi(,2) 'smith' N.B. Quello che otteniamo dall indicizzazione è ancora una cella, non una stringa! >> x=nomi(,2) x = 'smith' >> x=='smith'??? Error using ==> == Function '==' is not defined for values of class 'cell'. Si converte in stringa con la funzione char!!! >> char(x)=='smith' L abbiamo usato anche nella funzione fprintf! 27 28
8 Per concatenare si usano le parentesi quadre, come per i vettori! Per trovare un nome in un elenco è molto comoda la strcmp! >> nomi={'tim','tom','carl'} >> nomi={'tim','tom','carl'} nomi = nomi = 'tim' 'tom' 'carl' 'tim' 'tom' 'carl' >> strcmp(nomi,'tom') >> [nomi,'john']??? Error using ==> horzcat Conversion to cell from char is not possible. 29 >> [nomi,{'john'}] 'tim' 'tom' 'carl' 'john' Dobiamo mettere le graffe attorno al nuovo nome, per convertirlo in cella! 3 >> nomi(ans) 'tom' Possiamo usare questo Vettore logico per Indirizzare.
Matlab: Strutture di Controllo. Informatica B
Matlab: Strutture di Controllo Informatica B Tipo di dato logico È un tipo di dato che può avere solo due valori true (vero) 1 false (falso) 0 I valori di questo tipo possono essere generati direttamente
MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA
MATLAB I/O Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA Funzione input valore = input( inserisci un valore ); Matlab stampa a video la stringa inserisci un valore ed aspetta di ricevere
MATLAB: Strutture di controllo. Informatica B Prof. A. Morzenti
MATLAB: Strutture di controllo Informatica B Prof. A. Morzenti Tipo di dato logico È un tipo di dato che può avere solo due valori true (vero) 1 false (falso) 0 I valori di questo tipo possono essere generati
Introduzione a Matlab
INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi
MATLAB parte II. Array
MATLAB parte II MATLAB parte II C. Guerrini 1 Array Tutte le variabili sono array (matrici) Un array è una struttura dati, cioè memorizza più dati all interno di una struttura identificata da un singolo
Foglio Elettronico Lezione 1
- Introduzione - Celle e riferimenti - Formule - Approfondimenti - Funzioni logiche Sommario Introduzione - Foglio elettronico o foglio di calcolo - Cos'è? Strumento per raccogliere dati organizzati in
VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
Page Rank. Guerra Stefano. 1. DESCRIZIONE DEL PROBLEMA "Page Rank" 2. DESCRIZIONE DELL ALGORITMO. Pagina 2
1. DESCRIZIONE DEL PROBLEMA "" Realizzare un Function file che implementa (l algoritmo PageRank di Google per l ordinamento dei siti web). Parametri di input: G matrice sparsa di adiacenze relativa ad
Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.
Scilab Corso di Informatica CdL: Chimica Introduzione a Scilab - Vettori Claudia d'amato [email protected] Scilab Introduzione Ambiente matematico e di simulazione numerica sviluppato per la realizzazione
Costanti e Variabili
Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli
Linguaggio C Espressioni e operatori
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing.DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Espressioni e operatori 2001 Pier Luca Montessoro - Davide
Algoritmi stabili e instabili
Algoritmi stabili e instabili Laboratorio di Calcolo Numerico 13 Marzo 2018 Vettori in MATLAB Finora abbiamo pensato alle variabili utilizzate come semplici valori numerici (variabili scalari). In realtà,
FONDAMENTI DI INFORMATICA. Prof. Alfredo Accattatis Slide (rielaborate) del prof. Emiliano Casalicchio
FONDAMENTI DI INFORMATICA Prof. Alfredo Accattatis Slide (rielaborate) del prof. Emiliano Casalicchio Fondamenti di Informatica a.a. 15/16- A. Accattatis 2 Dimensioni (Size) di vettori e matrici Problema:
CORSO DI LABORATORIO DI INFORMATICA
CORSO DI LABORATORIO DI INFORMATICA Corso di Laurea Triennale in Ingegneria Elettrica a.a. 2015/2016 Docente: Ing. Domenico Amalfitano Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione
Fogli Elettronici. Idoneità Informatica Prof. Mauro Gaspari
Fogli Elettronici Idoneità Informatica Prof. Mauro Gaspari Cosa è un foglio elettronico. Strumento per raccogliere dati organizzati in tabelle e farci delle operazioni: Le celle contengono numeri o altri
Formule e funzioni. Fondamenti di informatica. Formule e funzioni. Formule e funzioni - errori. Formule e funzioni - errori
Fondamenti di informatica Formule e funzioni Formule e funzioni u Una formula/funzione si distingue da un dato iniziando con un segno di uguale (=) Principali Operatori + Somma - Sottrazione * Moltiplicazione
Vettori e Matrici. Vettori. Vettori e matrici: dati. Vettori di caratteri Polinomi. Dimensione (Size) numero di righe e di colonne della matrice
Vettori e Matrici Vettori e matrici: Creazione Matrici particolari Vettori regolarmente intervallati Coordinate Operatori utili Vettori di caratteri Polinomi Vettori Unità fondamentale in Matlab Tutte
INTRODUZIONE A MATLAB
INTRODUZIONE A MATLAB INTRODUZIONE A MATLAB MATLAB (MATrix LABoratory) è un linguaggio di programmazione per applicazioni scientifiche (elaborazione numerica dei segnali, progetto di simulatori, sintesi
3. Matrici e algebra lineare in MATLAB
3. Matrici e algebra lineare in MATLAB Riferimenti bibliografici Getting Started with MATLAB, Version 7, The MathWorks, www.mathworks.com (Capitolo 2) Mathematics, Version 7, The MathWorks, www.mathworks.com
Fondamenti di Informatica
Fondamenti di Informatica Introduzione a MATLAB Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 Introduzione a MATLAB Avviso per le Prossime Lezioni
EXCEL software Excel .xlxs, La cella intestazione della colonna intestazione di righe l indirizzo della cella testo numeri formule
EXCEL Il software Excel appartiene alla categoria dei fogli elettronici. Ogni foglio è composto da 1.048.576 righe per 16.384 colonne suddivise in celle che è possibile collegare tra loro: in tal modo
ESERCITAZIONE MATLAB
ESERCITAZIONE MATLAB Di seguito sono ripostati alcuni esercizi da eseguire in ambiente MatLab. Gli esercizi sono divisi per argomenti. Ogni esercizio è preceduto da una serie di esempi che aiutano nello
Corso di Fondamenti di Informatica Il sistema dei tipi in C++
Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout
Qualsiasi programma in C++ segue lo schema:
Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni
Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili, Bisezione
Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili, Bisezione Claudia Zoccarato E-mail: [email protected] Dispense: Moodle Dipartimento ICEA 22 Marzo 2017 Vettori in
VBA Principali Comandi
VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,
Caratteristiche di un linguaggio ad alto livello
Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono
METODI ITERATIVI DI JACOBI E GAUSS-SEIDEL
1. DESCRIZIONE DEL PROBLEMA Function file che implementa: L algoritmo di Jacobi o di Gauss Seidel per la risoluzione di un sistema lineare Ax=b con A sparsa (generata dall utente con il comando sparse).
MATLAB Elementi di grafica Costrutti di programmazione
MATLAB Elementi di grafica Costrutti di programmazione Operazioni punto Le operazioni punto agiscono su array che abbiano le stesse dimensioni:.* prodotto elemento per elemento./ divisione elemento per
MICROSOFT EXCEL FORMULE E FUNZIONI
MICROSOFT EXCEL FORMULE E FUNZIONI Lezione 1.2 a.a. 2016-2017 Ing. Giulia Fiscon Sommario Introduzione Microsoft Excel Lavorare con i fogli di calcolo Riferimenti di cella Formule e Funzioni Funzioni logiche
FOGLIO DI CALCOLO. Funzionalità -- > Effettuare calcoli ripetitivi in automatico e visualizzare i risultati in forma grafica
FOGLI (Google Docs) FOGLIO DI CALCOLO Funzionalità -- > Effettuare calcoli ripetitivi in automatico e visualizzare i risultati in forma grafica Cartella di lavoro -> uno o più fogli di calcolo Foglio di
La codifica. dell informazione
La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero
Introduzione al MATLAB c Parte 3 Script e function
Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell
Lena Cota Guido Corso di Informatica - II livello. Excel 2003 Formule. Imparare a usare le formule con la pratica
Excel 2003 Formule Imparare a usare le formule con la pratica 1 Cosa sono Uno degli obiettivi principali dei fogli di calcolo è fornire il risultato di operazioni matematiche, dalla semplice somma alle
