Free Essay

Computer Introduction

In:

Submitted By tino89
Words 9607
Pages 39
MANUALE MATLAB

http://www.ciaburro.it info@ciaburro.it

Indice
1 Introduzione 1.1 Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Per iniziare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Fondamenti di Matlab 2.1 Capacit` di Matlab . . . . . . . . . . . . . a 2.2 Operazioni . . . . . . . . . . . . . . . . . 2.3 Espressioni . . . . . . . . . . . . . . . . . 2.4 Lavorare con le matrici . . . . . . . . . . . 2.5 Operazioni sui file . . . . . . . . . . . . . 2.6 Grafici . . . . . . . . . . . . . . . . . . . . 2.7 Operazioni sui grafici . . . . . . . . . . . . 2.8 Dati immaginari e complessi . . . . . . . . 2.9 Assi . . . . . . . . . . . . . . . . . . . . . 2.10 Alfabeto greco e caratteri speciali . . . . . 2.11 Immagini . . . . . . . . . . . . . . . . . . 2.12 Grafici di matrici . . . . . . . . . . . . . . 2.13 Help e Documentazione Online . . . . . . 2.14 L’Ambiente di MATLAB . . . . . . . . . 2.15 Ulteriori informazioni su Matrici ed Array 2.16 Strutture di controllo del flusso . . . . . . 2.17 Scripts e Funzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 5 7 7 9 10 13 21 23 26 29 30 32 33 35 37 40 42 46 49 56 56 59

3 Calcolo numerico 3.1 Polinomi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Risoluzione di sistemi di equazioni lineari . . . . . . . . . . . . . . . . . . . . . . . . . .

2

c Copyright ￿ 2000 di Giuseppe Ciaburro Tutti i diritti sono riservati.

Figura 1: Giuseppe Ciaburro

Il presente manuale pu` essere copiato, fotocopiato, riprodotto,a patto che il presente avviso non o venga alterato,la propriet` del documento rimane di Giuseppe Ciaburro.Per ulteriori informazioni si a prega di contattare l’autore all’indirizzo info@ciaburro.it.Il presente documento ` pubblicato sul sito e http://www.ciaburro.it.

3

Capitolo 1

Introduzione
1.1 Matlab

Che cosa ` Matlab? MATLAB ` un linguaggio ad alto rendimento per la computazione tecnica. Esso e e integra il calcolo, la visualizzazione e la programmazione in un ambiente di facile impiego in cui i problemi e le soluzioni sono espressi in notazione matematica familiare. E’ strutturato secondo il seguente schema: • Matematica e calcolo.

• Sviluppo di procedura.

• Modellistica, simulazione e prototyping. • Disegno industriale e scientifico.

• Analisi di dati,esplorazione e visualizzazione. • Sviluppo di applicazione, compreso la costruzione grafica dell’ interfaccia di utente. MATLAB ` un sistema interattivo in cui l’elemento di base ` un array quindi non richiede il die e mensioning.Ci` permette la risoluzione di molti problemi di calcolo tecnici, in particolare quelli con le o formulazioni vettorali e matriciali, attraverso algoritmi molto pi` semplici e snelli rispetto a quelli che u sarebbero necessari in un programma in linguaggio scalare non interattivo quali C o il fortran. Il nome MATLAB corrisponde al laboratorio della matrice.MATLAB era originalmente scritto per fornire facile accesso al software delle matrici;si ` sviluppato dal LINPACK e dal EISPACK, che rappresentano insiee me la punta del progresso software per il calcolo delle matrici. MATLAB si ` evoluto durante gli anni e con input da molti utenti.In ambienti universitari ` l’attrezzo didattico standard per corsi introduttivi e e corsi avanzati, nella matematica, nell’ingegneria e nella scienza. MATLAB caratterizza una famiglia delle soluzioni application-specific denominate toolboxes. Molto utile per la maggior parte degli utenti di MATLAB, toolboxes, fornisce le basi per applicare la tecnologia specializzata.I toolboxes sono collezioni complete di funzioni MATLAB (M-files)che estendono l’ambiente di MATLAB per risolvere particolari categorie di problemi.Gli ambienti in cui i toolboxes sono disponibili sono: • elaborazione dei segnali, • sistemi di controllo, • reti neurali, • wavelets, • logica incoerente, • simulazione e molti altri. 4

1.2

Per iniziare

Iniziare con MATLAB Questo tutorial ` teso ad aiutare chi inizia ad imparare MATLAB. Contiene un numero elevato di e esempi cos` da poter da subito utilizzare MATLAB ,e dovrebbe poi essere utile per il seguito. Per ı attivare MATLAB su un PC o Mac, basta un duplice scatto sull’icona di MATLAB. Per attivare MATLAB su un sistema UNIX, digitare matlab al prompt del sistema operativo. Per uscire da MATLAB in qualsiasi istante, digitare QUIT al prompt di MATLAB. Se si necessita di pi` assistenza, digitare u HELP al prompt di MATLAB, o cliccare sul menu dell’HELP su un PC o Mac. Matrici e Magic Squares Il migliore modo per iniziare con MATLAB ` quello di imparare a maneggiare le matrici, questa sezioe ne mostra come fare . Una matrice ` in MATLAB, un ordine rettangolare di numeri,significato speciale e qualche volta ` adottato per le 1 − by − 1 matrici che sono scalari, e per matrici con solamente una e riga o colonna che sono vettori. MATLAB ha altri modi di immagazzinare dati numerici e dati non numerici, ma all’inizio, di solito ` meglio pensare a tutto come una matrice. Le operazioni in MATLAB e sono destinate ad essere pi` naturali possibile. Dove gli altri linguaggi di programmazione lavorano u con numeri uno alla volta, MATLAB permette di lavorare facilmente e rapidamente con matrici di interi. Immettere le matrici Si possono registrare matrici in MATLAB in molti modi diversi. introdurre un elenco esplicito di elementi. caricare matrici da files di dati esterni. generare matrici utilizzando la funzione built-in. creare matrici con le proprie funzioni in M-files.

Cominciamo a registrare la matrice come un elenco dei suoi elementi. Si seguano a tal proposito solamente alcune convenzioni di base: - Separare gli elementi di una riga con spazi vuoti o virgole. - Usare un punto e virgola ”;” per indicare la fine di ciascuna fila. - Racchiudere l’elenco intero di elementi con parentesi quadrate , [ ]. Per registrare la matrice di D¨rer, semplicemente digitare: u A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1] MATLAB espone a video solo la matrice digitata, A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 Questo procedimento associa precisamente i numeri a porzioni di memoria. Una volta fornita la matrice, essa ` registrata automaticamente nel workspace di MATLAB. Ora si pu` indicarla semplicemente come e o A.Quindi si pu` sommare, trasporre, etc .Si ` probabilmente gi` consapevoli delle propriet` speciali di o e a a una matrice magic square con i vari modi di sommare i suoi elementi. Se si prende la somma lungo qualsiasi riga o colonna, o lungo una delle due diagonali principali, si ottiene sempre lo stesso numero. Verificare tutto ci` usando MATLAB. Il primo tentativo ` il seguente: o e sum(A) 5

MATLAB risponde con: ans = 34 34 34 34 Quando non si specifica una variabile di output, MATLAB usa la variabile ans, per immagazzinare i risultati di un calcolo. Si ` calcolato un vettore fila che contiene certamente le somme delle colonne e di A; ogni colonna ha la stessa somma, la somma magica, 34. Cosa si pu` dire sulle somme delle o righe? MATLAB ha una preferenza per lavorare con le colonne di una matrice, cos` il modo pi` facile ı u per ottenere le somme delle righe ` quello di trasporre la matrice,si calcoli la colonna somma della e trasposta, e poi si trasponga il risultato. L’operazione di trasposizione ` denotata da un apostrofo ’. e Cos` ı: A’ determina il risultato seguente: ans = 16 5 3 10 2 11 13 8 e sum(A ’) ’ produce un vettore colonna che contiene le somme delle righe: ans = 34 34 34 34 La somma degli elementi della digonale principale ` ottenuta facilmente con l’aiuto della funzione diag e che estrae solo gli elementi dellla diagonale. diag(A) produce: ans = 16 10 7 1 e sum(diag(A)) produce: ans = 34 L’altra diagonale, l’antidiagonale cos` chiamata non ` cos` importante MATLAB non ha cos` matematiı e ı ı camente, una funzione fatta apposta . Ma una funzione originariamente creata per uso in grafica, fliplr riporta una matrice da sinistra a destra. sum(diag(fliplr(A))) ans = 34 Si ` cos` verificato che la matrice di D¨rer ` davvero una magic square e, nel processo,si sono utilize ı u e zate operazioni sulle matrici di MATLAB. Le sezioni seguenti continuano a usare questa matrice per illustrazioni supplementari . 9 4 6 15 7 14 12 1

6

Capitolo 2

Fondamenti di Matlab
2.1
Pedici L’elemento in riga i e colonna j di A ` denotato con A(i,j). Per esempio: e A(4,2) ` il numero nella quarta riga e seconda colonna. Per la nostra magic square, A(4,2) ` 15. Cos` ` e e ı e possibile calcolare la somma degli elementi nella quarta colonna di A digitando: A(1,4) + A(2,4) + A(3,4) + A(4,4) Questo produce: ans = 34 ` ma non ` il modo pi` elegante di sommare una singola colonna. E anche possibile per assegnare gli e u elementi di una matrice utilizzare un singolo pedice, A(k). Questo ` il modo solito di citare vettori riga e e vettori colonna. Ma si pu` anche applicare ad una matrice bidimensionale in questo caso la matrice ` o e considerata come un vettore colonna, formato dalle colonne della matrice originale. Cos` per la nostra ı, magic square, A(8) ` un altro modo di assegnare il valore 15 immagazzinato nella posizione A(4,2), cio` e e quarta riga seconda colonna. Se si tenta di usare il valore di un elemento della matrice al di fuori di essa, si commette un errore: t = A(4,5) Index exceeds matrix dimensions (Messaggio di errore) D’altra parte, se si immagazzina un nuovo valore in un elemento della matrice, c’` un aumento e dell’ordine per accomodare il nuovo venuto: A(4,5) = 17 A = 16 3 2 13 0 5 10 11 8 0 9 6 7 12 0 4 15 14 1 17 L’operatore : (due punti) Il due punti,:, ` uno dei pi` importanti operatori di MATLAB. e u Si trova in molte forme diverse. L’espressione: 7

Capacit` di Matlab a

1:10 ` un vettore riga che contiene i numeri interi da 1 a 10 e 1 2 3 4 5 6 7 8 9 10 Per ottenere una sequenza, si deve specificare un incremento. Per esempio: 100:-7:50 ` e 100 93 86 79 72 65 58 51 cio` una sequenza di numeri da 100 a 50 con passo uguale a -7; e mentre 0:pi/4:pi ` e 0 0.7854 1.5708 2.3562 3.1416 Le espressioni sottoscritte che coinvolgono i due punti assegnano porzioni di una matrice. A(1:k,j) rappresenta i primi k elementi della colonna jth di A. Cos` ı: Sum(A(1:4,4)) calcola la somma della quarta colonna. Ma c’` un modo migliore . Il due punti assegna tutti gli elementi e in una riga o colonna di una matrice e la keyword END assegna l’ultima riga o colonna. Cos` ı sum(A(:,end)) calcola la somma degli elementi nell’ultima colonna di A. ans = 34 Perch` la somma della magic square ` uguale a 34? Se i numeri interi da 1 a 16 sono ordinati in quattro e e gruppi con somme uguali, quella somma deve essere: sum(1:16)/4 che, chiaramente, ` e ans = 34 Se si ha accesso al Symbolic Math Toolbox si pu` scoprire che la somma per un n-by-n magic square ` o e (n3 + n)/2. La funzione magic La funzione magic di MATLAB costruisce magic square di qualsiasi dimensione.Non a caso, questa funzione ` chiamata magic. e B = magic(4) B = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 8

2.2
1) 2) 3) 4) 5)

Operazioni

In MATLAB sono definite le seguenti operazioni aritmetiche: addizione + sottrazione moltiplicazione * divisione / elevamento a potenza ˆ

Quando l’espressione da valutare ` troppo lunga per stare su di un’unica riga di comando,` possibile e e utilizzare un carattere di continuazione dato da . . . (tre punti). Ad esempio, >> 1 + 1/4 + ... 1/8 ans = 1.375 E’ possibile verificare che poich` in MATLAB non vi ` alcuna distinzione tra variabili intere, reali o e e complesse, il risultato dell’operazione di elevamento a potenza nel caso di esponenti frazionari pu` non o corrispondere a quello naturalmente atteso. Ad esempio, volendo calcolare la radice cubica di -5, si ottiene: >> (-9)^(1/5) ans = 1.2555 + 0.9122i e non un numero reale. Il problema ` dovuto al fatto che MATLAB, lavorando in notazione complessa, e calcola come prima radice cubica di -9 una delle due con parte immaginaria non nulla. Anche in MATLAB ` possibile alterare le precedenze classiche delle operazioni aritmetiche mediante l’uso opportuno e delle parentesi tonde. Ad esempio, se nel caso precedente si fosse scritto ( - 9) 1 /5 si sarebbe ottenuto il valore -l.8000 ossia, giustamente, - 9/5. Per quanto riguarda i vettori, le operazioni elementari si estendono (quando ben definite) in modo del tutto naturale, con l’eccezione delle operazioni di divisione e di elevamento a potenza. Ad esempio, >> a = [1:4]; >> b = [1:3]; >> c = [3 2 6 -1] ; >> a+c (somma di vettori riga) ans = 4 4 9 3 >> a-c ans = -2 (differenza di vettori riga)

O

-3

5

>> a+b ??? Errar using ==> + Matrix

dimension must agree.

>>a*c ??? Errar using ==> * Inner matrix

dimension must agree.

Le ultime istruzioni ci indicano che, le operazioni fra vettori sono valide solo se le dimensioni sono consistenti. Infatti, dato un vettore riga s di dimensione n (ossia una matrice 1 * n) ed un vettore colonna d di dimensione m, si potr` eseguire il prodotto scalare s*d solo se m=n (ottenendo in tal caso a uno scalare). >> s=[1:4]; >> d=[1;2;3;4]; 9

>> s*d ans= 30 Quindi d*s fornir` una matrice m*n. a >> s=[1:4]; >> d=[1;2;3;4]; >> M=d*s M= 1 2 2 4 3 6 4 8 5 10

3 6 9 12 15

4 8 12 16 20

2.3

Espressioni

Come altri linguaggi di programmazione, MATLAB prevede espressioni matematiche, ma queste espressioni coinvolgono matrici intere. Il blocco di espressioni `: e • Variabili • Numeri • Operatori • Funzioni Variabili MATLAB non richiede alcuna dichiarazione del tipo della dimensione. Quando MATLAB incontra un nome variabile nuovo, crea automaticamente la variabile e stanzia l’ammontare adatto in deposito. Se la variabile gi` esiste, MATLAB cambia i suoi contenuti e, se necessario, effettua un nuovo deposito. a Per esempio elenco = 30 crea una 1-by-1 matrice di nome elenco e immagazzina il valore 30 come suo singolo elemento. I nomi delle variabili consistono di una lettera, seguita da qualsiasi numero di lettere, cifre o sottolinea. MATLAB usa solamente i primi 31 caratteri di un nome di una variabile. MATLAB ` case sensitive; e distingue tra uppercase e lowercase . A ed a non sono la stessa variabile. Per vedere la matrice assegnata a ciascuna variabile, semplicemente digitare il nome della variabile. Numeri MATLAB usa notazione decimale e convenzionale, con un punto decimale e opzionale ed indicando quantit` positive o il segno meno, per numeri negativi. La notazione scientifica usa la lettera e per a specificare la potenza decimale.I numeri immaginari usano i o j, come un suffisso. Degli esempi di numeri legali sono: 3 9.6397238 1i -99 1.60210e-20 -3.14159j 10 0.0001 6.02252e23 3e5i

Tutti i numeri che usano il format long specificato dall’IEEE sono immagazzinati internamente con lo standard floating-point. I numeri floating-point hanno una precisione limitata di 16 cifre decimali significative e una serie limitata da 10^-308 a 10^308+. (Il computer di VAX usa una configurazione diversa, ma la sua precisione e serie sono quasi le stesse.) Operatori Le espressioni usano operatori di aritmetica familiari e le regole della precedenza. + * / \ Addizione Sottrazione Moltiplicazione Divisione Left division

(sono descritte nella sezione su matrici e Algebra Lineare in MATLAB) ^ ’ () potenza Asse coniugato complesso trasposto Valutazione specifiche di ordine.

Funzioni MATLAB prevede un gran numero di funzioni matematiche standard,incluso abs, sqrt, exp, e sin. La radice quadrata o il logaritmo di un numero negativo non ` un errore; il risultato complesso ` prodotto e e automaticamente. MATLAB prevede anche funzioni matematiche molto pi` avanzate, incluso Bessel u e gamma function. La maggior parte di queste funzioni accettano argomenti complessi. Per un elenco delle funzioni matematiche elementari, digitare: help elfun Per un elenco pi` avanzato delle funzioni matematiche e delle matrici digitare: u help specfun help elmat Alcune delle funzioni, come sqrt e sin, sono calcolate al momento. Loro sono parte del cuore di MATLAB quindi sono molto efficienti, ma i dettagli della computazione non sono prontamente accessibili. Le altre funzioni, come gamma e sinh sono perfezionate in M-files. Si pu` vedere il codice originario che le valuta o ed eventualmente anche cambiarlo . Molte funzioni speciali prevedono valori di costanti utili.Infinito ` generato dividendo un valore diverso da zero per zero, o valutando bene espressioni matematiche e e definite che tendono all’infinito. Not-a-number ` generato tentando di valutare espressioni tipo 0/0 e ` o Inf-Inf che non hanno valori matematici ben definiti. I nomi delle funzione non sono riservati. E possibile utilizzare alcuni di tali nomi con una nuova variabile, come: eps = 1.e-6 e poi usare quel valore in calcoli susseguenti. La funzione originale pu` essere ripristinata con : o clear eps Alcuni nomi sono associati a precisi valori, come ad esempio: pi : 3.14159265... i : unit` Immaginaria, a j : come i

11

eps : Floating-point con precisione, 2 -52 realmin : il pi` piccolo floating-point, 2 -1022 u realmax : il pi` grande floating-point,(2-e)2 1023 u Inf : Infinito NaN : Not-a-number. Abbiamo gi` ha visto molti esempi di espressioni di MATLAB. Qui ci sono altri esempi, ed i valori a che ne risultano. rho = (1+sqrt(5)) /2 rho = 1.6180 a = abs(3+4i) a = 5 z = sqrt(besselk(4/3,rho-i)) z = 0.3730+ 0.3214i huge= l’exp(log(realmax)) huge = 1.7977e+308 toobig = il pi*huge toobig = Inf.

12

2.4

Lavorare con le matrici

Questa sezione presenta altri modi di creare matrici. Generazione di matrici MATLAB prevede quattro funzioni che generano matrici di base. Degli esempi sono: Z = zeros(2,4) Z = 0 0 0 0 0 0 0 0 F = 5*ones(3,3) F = 5 5 5 5 5 5 5 5 5 N = fix(10*rand(1,10)) N = 4 9 4 4 8 5 2 6 8 0 R = randn(4,4) R = 1.0668 0.2944 -0.6918 -1.4410 0.0593 -1.3362 0.8580 0.5711 -0.0956 0.7143 1.2540 -0.3999 -0.8323 1.6236 -1.5937 0.6900 zeros All zeros ones All ones rand Uniformly distributed random elements randn Normally distributed random elements. Manipolare le matrici Poniamo l’attenzione su alcune funzioni che consentono di manipolare matrici e vettori. • abs Applicata ad una matrice reale, produce la matrice dei valori assoluti. Applicata ad un numero complesso, ne calcola il modulo. Esempio: z=3+i*4 z = 3.0000+ 4.0000i abs(z) ans = 5

13

• tril (oppure triu) Estraggono da una matrice la parte triangolare inferiore(superiore). Indicando un numero positivo o negativo come secondo argomento ` possibile estrarre le altre diagonali della matrice. Ad esempio: e A=[1 2 3;4 5 6;7 8 9] A = 1 4 7 triu(A) ans = 1 0 0 triu(A,-1) ans = 1 4 0 triu(A,1) ans = 0 0 0 • diag Applicata ad una matrice ne estrae la diagonale,applicata ad un vettore crea una matrice diagonale. A=[5 6 ; 7 8] A = 5 7 diag(A) ans = 5 8 6 8 2 0 0 3 6 0 2 5 8 3 6 9 2 5 0 3 6 9 2 5 8 3 6 9

14

diag(ans) ans = 5 0 • sum Applicata ad una matrice fornisce un vettore che contiene le somme per colonna degli elementi della matrice; applicata ad un vettore fornisce uno scalare dato dalla somma degli elementi del vettore. A=[0 1 2 ;3 4 5 ;6 7 8 ] A = 0 3 6 sum(A) ans = 9 B=[0 1 2] B = 0 sum(B) ans = 3 • max (oppure min) Se applicata ad un vettore calcola il massimo (rispettivamente il minimo) degli elementi di un vettore. Se applicata ad una matrice produce un vettore che contiene il massimo degli elementi della matrice per colonne. • norm Calcola la norma 2 di un vettore o di una matrice. Inoltre, norm (A, inf) calcola la norma infinito di A, mentre norm (A, 1) calcola la norma 1 di A. • cond Calcola il numero di condizionamento in norma 2 di una matrice A. • eig 15 1 2 12 15 1 4 7 2 5 8 0 8

calcola gli autovalori di una matrice quadrata. Se richiamata nel modo seguente [X, D] =eig (A) produce una matrice diagonale D che contiene gli autovalori di A e la matrice X le cui colonne sono gli autovettori di A. A=[0 1 2 ;3 4 5 ;6 7 8 ]; [X,D]=eig(A) X = 0.7997 0.1042 -0.5913 -0.1648 -0.5058 -0.8468 0.4082 -0.8165 0.4082

D = -1.3485 0 0 0 13.3485 0 0 0 0.0000

Funzioni intrinseche matematiche Riportiamo un elenco di alcune funzioni matematiche predefinite in MATLAB. Molte di queste funzioni, presentate qui nella loro versione scalare, possono essere applicate anche a variabili matriciali. Indicando con x ed y due numeri reali e z un numero complesso, ricordiamo le seguenti funzioni: sqrt(x) round(x) fix(x) sign(x) sin(x) cos(x) tan(x) sinh(x) cosh(x) tanh(x) asin(x) acos(x) atan(X) exp(x) log(x) \sqrt{x} arrotondamento: x = 3.6 ----> 4 troncamento: x = 3.6 ----> 3

segno di x(vale 1,0 o -1) sinx cosx tanx sinh x coshx tanhx arcsinx arccosx arctanx e^x log x (logaritmo naturale di x) 16

log10(x) real(z) imag(z) conj(z) Load

log10 x (logaritmo in base lodi x) parte reale di z parte immaginaria di z z* (complesso coniugato di z)

Il comando load legge file binari che contengono matrici, generati da precedenti sessioni di MATLAB, o legge file di testo contenenti dati numerici. I file di testo dovrebbero essere organizzati come una tabella rettangolare di numeri,separata da spazi vuoti con una riga per linea, e un numero uguale di elementi in ciascuna fila. Per esempio,se al di fuori di MATLAB si crea un file di testo che contiene queste quattro linee: 16.0 5.0 9.0 4.0 3.0 2.0 10.0 11.0 6.0 7.0 15.0 14.0 13.0 8.0 12.0 1.0

Immagazzinando poi il file sotto il nome matrice.dat, attraverso il comando load matrice.dat

si legge il file e si crea un variabile, matrice, contenente la nostra matrice d’esempio. M-Files Si possono creare matrici utilizzando M-files che sono file di testo contenenti codici MATLAB.Per fare questo basta creare un file che contiene lo stesso statement che si desiderava digitare al prompt di MATLAB,e salvare il file sotto un nome che finisce in .m. Per accedere ad un editor di testo su un PC o Mac, scegliere OPEN o NEW dal menu file o pigiare il bottone adatto sul toolbar. Per accedere ad un editor di testo sotto UNIX, usare il simbolo ! seguito dal comando desiderato. Per esempio, creiamo un file che contiene queste cinque linee: A = [... 16.0 3.0 5.0 10.0 9.0 6.0 4.0 15.0 2.0 13.0 11.0 8.0 7.0 12.0 14.0 1.0];

immagazziniamo il file sotto il nome matrice.m. Poi digitiamo lo statement matrice che legge il file e crea un variabile, A, contenente la nostra matrice d’esempio. Concatenazione La Concatenazione ` il processo di congiunzione di piccole matrici per fare matrici pi` grandi.Infatti,la e u prima matrice ` stata creata concatenando i suoi elementi individuali. La parentesi quadrata, [ ], ` e e l’operatore della concatenazione.Per un esempio, si parta con la 4-by-4 magic square, A, e si formi: B = [A A+32; A+48 A+16] Il risultato ` una matrice 8-by-8 , ottenuta congiungendo le quattro submatrici. e 17

B = 16 5 9 4 64 53 57 52 3 10 6 15 51 58 54 63 2 11 7 14 50 59 55 62 13 8 12 1 61 56 60 49 48 37 41 36 32 21 25 20 35 42 38 47 19 26 22 31 34 43 39 46 18 27 23 30 45 40 44 33 29 24 28 17

Questa matrice mostra un altro modo per ottenere una magic square. I suoi elementi sono un riordinamento dei numeri interi 1:64, le somme delle colonne forniscono il valore corretto per una 8-by-8 magic square. sum(B) ans = 260 260 260 260 260 260 260 260 Ma la somma delle righe , sum(B ’) ’, non fornisce lo stesso risultato. Come cancellare Righe e Colonne Si possono cancellare righe e colonne da una matrice utilizzando solo un paio di parentesi quadrate. Cominciamo con: X = A; Poi, per cancellare la seconda colonna di X, usare: X(:,2) = [ ] Questo cambia X in X = 16 2 13 5 11 8 9 7 12 4 14 1 Se si cancella un singolo elemento da una matrice, il risultato non ` pi` una matrice.Cos` e u ı, X(1,2) = [ ] produce un errore. Comunque,un singolo pedice cancella un singolo elemento, o sequenza di elementi, e rifoggia gli elementi che rimangono in un vettore riga. Quindi: X(2:2:10) = [ ] fornisce: X = 16 9 2 7 13 12 1. La Finestra di Comando Finora, si ` usato la linea di comando di MATLAB, digitando comandi espressioni, e vedendo i risultati e stampati nella finestra di comando.Questa sezione descrive alcuni modi di alterare l’area della finestra di comando. Se il sistema permette di selezionare la fonte per la finestra di comando o lo stile dei caratteri, si raccomanda di utilizzare una fonte dall’ampiezza fissa,come Fixedsys o Courier, per fornire una spaziatura corretta.

18

Il Comando FORMAT Il comando format controlla la configurazione numerica dei valori esposta da MATLAB. Il comando regola solamente come i numeri sono esposti, non come MATLAB li calcola o li salva. Di seguito sono indicati diversi formati,insieme con l’output che ne deriva, prodotto da un vettore x con componenti di dimensioni diverse. x = [4/3 1.2345e-6] format short 1.3333 0.0000 1.3333 0.0000 format short e 1.3333e+000 1.2345e-006 format short g 1.3333 1.2345e-006 format long 1.33333333333333 0.00000123450000 format long e 1.333333333333333e+000 1.234500000000000e-006 format long g 1.33333333333333 1.2345e-006 format bank 1.33 0.00 format rat 4/3 1/810045 format hex 3ff5555555555555 3eb4b6231abfd271 . Se il pi` grande elemento di una matrice ` pi` grande di 103 o pi` piccolo di 10−3 , MATLAB applica u e u u un fattore di scala comune per i format short e long. Inoltre, sopprime molte delle linee bianche che appaiono nell’output.Questo le lascia vedere pi` informazioni sullo schermo o finestra. Se si vuole pi` u u controllo sull’output, usare le funzioni sprintf e fprintf. Eliminazione dell’output a video Se si digita semplicemente uno statement e poi si digita RETURN o Enter, MATLAB automaticamente mostre i risultati sullo schermo.Se invece si termina la linea con un punto e virgola, MATLAB compie il calcolo ma non espone alcuno output. Questo ` particolarmente utile quando si generano matrici e grandi. Per esempio: A = magic(100); non mostra a video la matrice A. Linee di Comando lunghe Se un’asserzione non va bene su una linea,si usi l’operatore tre punti,..., seguito da Return o Enter per indicare che l’asserzione continua sulla prossima linea. Per esempio: 19

s = 1 -1/2 + 1/3 -1/4 + 1/5 - 1/6 + 1/7... - 1/8 + 1/9 - 1/10 + 1/11 - 1/12; Spazi vuoti intorno ai seguenti operatori =, +, e - sono opzionali, ma migliorano la leggibilit`. a Editing da Linea di comando Le varie frecce e chiavi di controllo sulla tastiera permettono di richiamare, compilare, e correggere comandi digitati in precedenza. Per esempio, supponga di digitare per sbaglio la seguente riga: rho = (1 + sqt(5)) /2 E’ sbagliata l’ortografia di sqrt. MATLAB risponde con: Undefined function or variable ’sqt’. Invece di ribattere la linea intera, semplicemente pigi il tasto freccia su. Il comando errato ` in questo e modo richiamato e pu` essere corretto.Usi le frecce dx e sx per trasportare il cursore su t per inserire o la r mancante . L’uso ripetuto della freccia su richiama le linee digitate in precedenza,digitando un carattere e poi il tasto freccia su trova una linea precedente che comincia con quel carattere. L’elenco dei comando di linea disponibile ` diverso a seconda del computer. Sperimenti quale delle chiavi seguenti e ` disponibile sulla sua macchina. (Molte di queste chiavi saranno familiari agli utenti di EMACS.) e freccia su freccia giu freccia sx freccia dx ctrl+freccia dx ctrl+freccia sx home end esc del backspace oppure oppure oppure oppure oppure oppure oppure oppure oppure oppure oppure ctrl-p ctrl-n ctrl-b ctrl-f ctrl-r ctrl-l ctrl-a ctrl-e ctrl-u ctrl-d ctrl-h ctrl-k -Richiamano linea precedente -Richiamano linea seguente -Trasportano indietro di un carattere -Trasportano in avanti di un carattere -Trasportano alla destra della parola -Trasportano alla sinistra della parola -Porta all’inizio della linea -Porta alla fine della linea -Ripulisce la linea -Cancellano il carattere sul cursore -Cancellano carattere dopo il cursore -Cancella fino alla fine della linea.

20

2.5

Operazioni sui file

• Salvare in un file Vediamo come salvare dei dati su un archivio di testo.Si voglia salvare i risultati della funzione exp(x) entro l’intervallo(1; 2) con passo 0.1. Si costruisca dapprima il vettore seguente: x = 1 : 0.1 : 2 ; e quindi si valuta una matrice A nel modo seguente: A = [ x ;exp(x) ]; Decidiamo che il nome esterno del file su cui si vuole salvare la matrice A sia file.txt ; esso dovra’ essere posto entro apici perche’ e’ una stringa. Apriamo il file in scrittura con ’wt’ assegnandogli il nome interno nomefile. L’istruzione e’ la seguente: nomefile = fopen ( ’file.txt’ , ’wt’); Si deposita nell’archivio nomefile la matrice A scrivendo le due colonne di numeri decimali: la prima colonna con 6 cifre di cui 2 decimali la seconda colonna 8 cifre di cui 4 decimali. Si osservi che fprintf e’ un acronimo di file print formatted. fprintf ( nomefile , ’%6.2g %8.4g\n’ , A); Si noti che per primo si mette il nome interno: nomefile per secondo si mette il formato per terzo si mette la matrice: A Quindi si chiude il file con il comando: fclose (nomefile); Se si vuole analizzare il file cosi’ creato lo si puo’ fare con un editor di testo qualsiasi. • Caricare un file Vediamo come leggere dati da un archivio di testo.Il nome esterno del file sia ”file.txt” che e’ generato con un programma esterno. Il nome deve essere posto entro apici perch` ` una stringa. Per iniziare si apre il file assegnandogli un ee nome interno, ad esempio nomefile, in lettura ( ’r’ che sta per ”read” ). nomefile = fopen ( ’file.txt’ , ’r’); Si preleva dall’archivio nomefile la matrice A leggendo le due colonne di numeri in formato ”%g”. A = fscanf ( nomefile , ’%g %g’ , [2 inf] ); A = A’;

21

Si noti che per primo si mette il nome interno: (nomefile) per secondo si mette il formato (’%g%g’) per terzo si mette il numero di elementi per riga(2) e, non sapendo quante righe sono, si mette inf il tutto entro parentesi quadre per indicare la matrice da prelevare. Per ultimo si chiude il file: fclose (nomefile); Ricapitoliamo i comandi utilizzati: aprire =⇒ fopen (...) chiudere =⇒ fclose (...) scrivere =⇒ fprintf (...) leggere =⇒ fscanf (...)

22

2.6

Grafici

• Grafici MATLAB ha estesioni facilitate per esporre vettori e matrici come grafici, cos` da poter annotare e ı stampare questi grafici. Questa sezione descrive alcune delle funzioni grafiche pi` importanti e contiene u esempi di alcuni applicazioni tipiche. • Creare un diagramma La funzione PLOT ha forme diverse, dipendendo dagli argomenti di entrata. Se y ` un vettore, plot(y) e produce un grafico lineare degli elementi di y contro l’indice degli elementi di y. Se specifica due vettori come argomenti, plot(x,y) produce un grafico di y contro x. Per esempio, per diagrammare il valore della funzione seno da 0 a 2π, uso:

t = 0:pi/100:2*pi; y = sin(t); plot(t,y) Ottenendo cos` il seguente tracciato: ı

1

0.8

0.6

0.4

0.2

0

−0.2

−0.4

−0.6

−0.8

−1

0

1

2

3

4

5

6

7

Figura 2.1: Funzione seno Diverse coppie di x-y creano grafici multipli con una singola chiamata . MATLAB automaticamente traccia i diversi grafici attraverso un predefinito (ma settabile dall’utente) elenco di colori che permette 23

di distinguere ciascuna collezione di dati. Per esempio, queste asserzioni tracciano quattro funzioni di t, ciascuna curva in un colore diverso: y2 = y3 = y4 = sin(t - .40); sin(t - .8); sin(t - 1.2);

plot(t,y,t,y2,t,y3,t,y4)

1

0.8

0.6

0.4

0.2

0

−0.2

−0.4

−0.6

−0.8

−1

0

1

2

3

4

5

6

7

Figura 2.2: Grafici Multipli ` E possibile specificare colore, stile della linea, e marcatori, con segnali positivi o cerchi, attraverso il seguente comando: plot(x,y, ’marcatore-stile-colore’) dove il marcatore-stile-colore ` costiutito da una sequenza di 1 , 2 , o 3 caratteri (separati da e virgolette)che rappresentano un colore, uno stile di linea , ed un tipo di marcatore; tipi di colore sono: ’c’, ’m’, ’y’, ’r’, ’g’, ’b’, ’w’, e ’k’ Questi corrispondono a cyan, magenta, giallo, rosso, verde, azzurro, bianco, e nero. Stringhe di Linestyle sono: ’-’ per la linea continua ’- -’ per la linea tratteggiata 24

’:’ per una linea a puntini ’-.’ per una linea a puntini e tratteggio ’none’ senza linea. Tipi di marcatore comuni sono: ’+’, ’o’, ’*’, ’x’ Per esempio, l’asserzione: plot(x,y, ’ y:+ ’) traccia in giallo una linea a puntini e pone un marcatore + a ciascun dato. Se specifica un tipo di marcatore ma non un linestyle, MATLAB disegna solamente il marcatore.

25

2.7

Operazioni sui grafici

• Finestre della figura La funzione plot apre automaticamente una nuova finestra della figura se non c’` ne sono gia sullo e schermo. Se una finestra della figura esiste, plot usa tale finestra di default. Per aprire una finestra nuova e renderla la finestra corrente digitare: figure Per trasformare una figura esistente in finestra corrente , digitare figure(n) dove n ` il numero nella barra del titolo della figura. e • Aggiunta di un tracciato ad un Grafico Esistente Il comando HOLD permette di aggiungere tracciati ad un grafico esistente. Quando si digita : hold on MATLAB non rimuove il grafico esistente; aggiunge i dati nuovi al grafico corrente, e riscala se necessario. Per esempio, questa asserzione prima crea un tracciato della funzione sin in colore blu e con il marcatore *, poi sovrappone un tracciato per la funzione cos in colore rosso e con il marcatore o:

t = 0:pi/100:2*pi; y = sin(t); plot(t,y,’*’) z=cos(t); hold on plot(t,z,’r:o’) Il comando hold on fa si che il primo tracciato sia combinato col secondo tracciato in figura .

26

1

0.8

0.6

0.4

0.2

0

−0.2

−0.4

−0.6

−0.8

−1

0

1

2

3

4

5

6

7

Figura 2.3: Marcatori • Subplots La funzione subplot permette di esporre tracciati multipli nella stessa finestra o li stampa sullo stesso pezzo di carta,digitando: subplot(m,n,p) trasforma la finestra della figura in un m-by-n matrice di piccoli subplots e seleziona il pth subplot come plot corrente.I tracciati (plot) sono numerati prima lungo la prima fila della finestra della figura, poi la seconda fila e cos` via. Per esempio, scomporre il tracciato di dati in quattro subregions diversi ı della finestra della figura, nell’esempio trattato si tracciano i grafici delle seguenti funzioni: sin, cos, tan, atan;

t = 0:pi/10:2*pi; y = sin(t); subplot(2,2,1) plot(t,y) y1=cos(t); subplot(2,2,2) plot(t,y1) y2=tan(t); subplot(2,2,3) plot(t,y2) y3=atan(t); subplot(2,2,4) plot(t,y3) print -dbmp16m figura.bmp

27

1

1

0.5

0.5

0

0

−0.5

−0.5

−1

0
16

2

4

6

8

−1

0

2

4

6

8

2

x 10

1.5

1.5 1 1 0.5 0.5

0

0

2

4

6

8

0

0

2

4

6

8

Figura 2.4: Subplot L’ultima istruzione salva la figura nel file figura.bmp (24-bit .BMP file format) il quale potr` essere a inserito in documenti html.

28

2.8

Dati immaginari e complessi

• Dati immaginari e Complessi Quando i dati da plottare sono complessi,la parte immaginaria ` ignorata eccetto quando il tracciato e ` dato da un singolo argomento complesso.Per questo caso speciale, il comando ` shortcut per tracciare e e la parte reale contro la parte immaginaria. Perci`, o plot(Z) dove Z ` un vettore complesso o matrice, ` equivalente a: e e plot(real(Z),imag(Z)) Per esempio

t = 0:pi/8:2*pi; plot(exp(i*t), ’ -o ’) traccia un poligono di 16 lati con cerchietti ai vertici.
1

0.8

0.6

0.4

0.2

0

−0.2

−0.4

−0.6

−0.8

−1 −1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Figura 2.5: Dati Immaginari e complessi

29

2.9
• Assi

Assi

La funzione axis ha un numero di opzioni per personalizzare la misurazione in scala, l’orientamento, ed il rapporto d’aspetto dei tracciati. Ordinariamente,MATLAB trova i massimi e minimi dei dati e sceglie una plot-box adatta ed identifica gli assi con delle label. La funzione axis ha la priorit` di default, per a personalizzare i limiti degli assi si digita: axis([xmin xmax ymin ymax]) axis accetta anche un numero di keywords per il controllo degli assi. Per esempio: axis square impone che i due assi abbiano la stessa lunghezza axis equal impone che gli incrementi per ogni marchio su x e y siano uguali. Cos` ı: plot(exp(i*t)) seguito da axis square o axis equal, trasforma l’ovale in un corretto cerchio; axis auto restituisce l’asse in scala default, in maniera automatica. • Titolo ed etichette degli assi Le funzioni xlabel, ylabel, e zlabel aggiungono etichette agli assi x , y , z. La funzione title aggiunge un titolo in cima alla figura e la funzione text inserisce testo dovunque nella figura. Un sottoinsieme di notazione di Tex produce lettere greche, simboli matematici, e fonti alternate. L’esempio seguente usa \leq per B, A< B o A == B ` vero per e tutti gli elementi e cos` l’altra clausola ` eseguita. ı e if A > B ’greater’ elseif A < B 46

’less’ elseif A == B ’equal’ else error(’Unexpected situation’) end Molte funzioni sono utili per ridurre i risultati di paragoni tra matrici e condizioni scalari attraverso l’uso dell’IF, includendo le seguenti: isequal isempty all any • switch e case L’asserzione switch esegue gruppi di asserzioni basati sul valore di un variabile o espressione. La keywords case e otherwise delinea i gruppi. Solamente il primo caso ` eseguito. Ci deve essere sempre una e fine per lo statement switch . La logica dell’algoritmo delle magic square pu` essere descritta anche con: o switch (rem(n,4)==0) + (rem(n,2)==0) case 0 M = odd_magic(n) case 1 M = single_even_magic(n) case 2 M = double_even_magic(n) otherwise error(’This is impossible’) end Diversamente dal linguaggio C, lo switch di MATLAB non sbaglia. Se la prima asserzione del case ` e vera, il restante case statement non ` eseguito. Cos` break statement non sono richiesti. e ı, • for statement Il loop for ripete un gruppo di asserzioni un numero fisso di volte . Un END statement termina le asserzioni. for n = 3:32 r(n) = rank(magic(n)); end r Il punto e virgola che termina l’asserzione sopprime la stampa ripetuta, e il termine r dopo il loop espone ` a il risultato finale. E una buona idea per ordinare i loop al fine di una discreta leggibilit`, identare il testo ad esempio: for i = 1:m for j = 1:n H(i,j) = 1/(i+j); 47

end end • while statement Il ciclo while ripete un gruppo di asserzioni un numero indefinito di volte attraverso il controllo di una condizione logica. Un END delinea le asserzioni. Di seguito ` riportato un programma completo, e illustrando while, if, else, e end, il quale programma utilizza il metodo della bisezione per trovare uno zero di un polinomio. a = 0; fa = -Inf; b = 3; fb = Inf; while b-a > eps*b x = (a+b)/2; fx = x^3-2*x-5; if sign(fx) == sign(fa) a = x; fa = fx; else b = x; fb = fx; end end x Il risultato ` la radice del polinomio x3 − 2x − 5, vale a dire: e x = 2.09455148154233 • break statemant L’asserzione break lascia che si esca velocemente da un loop FOR o WHILE.In un ciclo innestato,break esce dal ciclo interno solamente .Qui c’` un miglioramento sull’esempio fornito nella sezione precedente. e a = 0; fa = -Inf; b = 3; fb = Inf; while b-a > eps*b x = (a+b)/2; fx = x^3-2*x-5; if fx == 0 break elseif sign(fx) == sign(fa) a = x; fa = fx; else b = x; fb = fx; end end x

48

2.17

Scripts e Funzioni

MATLAB ` un linguaggio di programmazione potente, cos` come un ambiente computazionale interate ı tivo.I Files che contengono codice MATLAB sono chiamati M-files. Dopo aver creato un M-file usando un qualsiasi editor di testo, tale file pu` essere usato come un comando od una funzione MATLAB. Ci o sono due generi di M-file: • Scripts che non accettano argomenti d’entrata o argomenti di uscita. Loro operano su dati nel workspace. • Functions che possono accettare argomenti d’entrata e argomenti di uscita. Una variabile interna ` locale alla funzione. e Se sei un nuovo programmatore di MATLAB,crea gli M-file di prova e posizionali nella directory corrente. In seguito gli M-file,potranno essere organizzati in altre directory e toolboxes personali che potrai aggiungere al percorso di ricerca di MATLAB. Se si duplicano nomi di funzioni, MATLAB esegue quello che viene prima nel percorso di ricerca. Per vedere i contenuti di un M-file, per esempio myfunction.m, posso digitare: myfunction • Script Quando si richiama uno script, MATLAB esegue semplicemente i comandi presenti nel file.Gli Script possono operare su dati esistenti nel workspace, o loro possono creare dati nuovi su cui operare. Sebbene gli script non forniscano dati di output, qualsiasi variabile che loro creano rimane nel workspace, per essere usata in calcoli susseguenti. Inoltre, gli script possono produrre dei grafici, usando funzioni come plot. Per esempio, creiamo un file chiamato rango.m che contiene questi comandi MATLAB: % Determinazione del rango della magic squares r = zeros(1,32); for n = 3:32 r(n) = rank(magic(n)); end r bar(r) Digitando l’asserzione: rango imponiamo a MATLAB di eseguire i seguenti comandi: 1)calcola il rango delle prime 30 magic squares 2)traccia il grafico del risultato Si ottiene cos` il grafico seguente: ı

49

35

30

25

20

15

10

5

0

0

5

10

15

20

25

30

35

Figura 2.10: Rango delle magic squares Dopo l’esecuzione del file , le variabili n e r rimangono nel workspace. • Funzioni Le Funzioni sono M-file che possono accettare argomenti d’entrata e forniscono argomenti di uscita. Il nome dell’M-file e della funzione deve essere lo stesso. Le Funzioni operano su variabili definite nel workspace proprio, separato dal workspace a cui si accede all’ingresso di MATLAB, cio` le variabili e usate all’interno della funzione sono locali. Vediamo come scrivere una una funzione con parametri in ingresso e parametri in uscita. Si voglia costruire una funzione che, dati i lati ”a” e ”b” di un rettangolo fornisca l’area ”A”, il perimetro ”p” e la diagonale ”d”. Indichiamo con (a; b) la lista d’ingresso (parentesi tonde) e con [A; p; d] la lista d’uscita (parentesi quadre) (si noti la virgola fra i parametri). function [ A , p , d ] =rettang ( a , b ) A = a * b; p = 2 * ( a + b ); d =sqrt ( a^2 + b^2 ); Si noti che non c’e’ confusione tra la lettera A e la a perche’ MATLAB distingue le lettere maiuscole dalle minuscole. Questa function, salvata con il nome rettang.m puo’ essere richiamata da un altro modulo o direttamente dalla finestra comandi ad esempio con il comando: [area; perim; diag] =rettang(2; 3) Quindi la sintassi e’ la seguente: function [lista d’uscita] = nome (lista d’ingresso)

50

Un buono esempio ` fornito dalla funzione rank. L’M-file rank.m ` disponibile nella directory toole e box/matlab/matfun Si pu` lanciare il file digitando: o rank Il file in questione ` il seguente. e function r = rank(A,tol) % RANK Matrix rank. % RANK(A) provides an estimate of the number of linearly % independent rows or columns of a matrix A. % RANK(A,tol) is the number of singular values of A % that are larger than tol. % RANK(A) uses the default tol = max(size(A)) * norm(A) * eps. s = svd(A); if nargin==1 tol = max(size(A)) * max(s) * eps; end r = sum(s > tol); La prima linea di una funzione M-file comincia con la funzione keyword.La quale da il nome alla funzione ed ordina gli argomenti. In questo caso,ci sono due argomenti di input ed uno di output. Le righe seguenti,che iniziano con il simbolo %, rappresentano dei commenti per un aiuto, non vengono considerate nell’applicazione. Queste linee si stampano quando si digita: help rank La prima linea del testo di aiuto ` la H1 line che MATLAB espone quando si ricerca aiuto digitando e help on nella directory che contiene la funzione. Il resto del file rappresenta codice eseguibile MATLAB definendo la funzione. La variabile s presente nel corpo della funzione, cos` come le variabili sulla prima fila r, A e tol, sono del tutto locali alla ı funzione; sono indipendenti e separate da qualsiasi variabile nel workspace di MATLAB. Questo esempio illustra un aspetto delle funzioni di MATLAB, che ordinariamente non si trova negli altri linguaggi di programmazione , un numero variabile di argomenti. La funzione rank pu` essere usata in molti modi o diversi: rank(A) r = rank(A) r = rank(A,1.e-6) Molti M-file lavorano cos` Se nessuno argomento di output ` fornito, il risultato ` immagazzinato in ı. e e ans. Se il secondo argomento di input non ` fornito, la funzione calcola un valore di default. Fra il corpo e della funzione, due quantit` chiamate nargin e nargout sono disponibili,le quali ci dicono il numero di a argomenti di input e di output coinvolti in ciascun uso della funzione. La funzione rank usa nargin, ma non ha bisogno di usare nargout. • Variabili globali Se si vuole che pi` di una funzione condivida una singola copia di una variabile, basta semplicemente u dichiarare la variabile come globale in tutte le funzioni. Si faccia la stessa cosa alla linea di comando 51

se si desidera che ad essa acceda anche il workspace. La dichiarazione globale deve essere posizionata prima che la variabile sia usata in una funzione. Sebbene non sia richiesto, usando lettere maiuscole per i nomi di variabili globali ci si aiuta a distingurle dalle altre variabili. Per esempio, creiamo un M-file chiamato falling.m: function h = falling(t) global GRAVITY h = 1/2*GRAVITY*t.^2; Poi interattivamente introduciamo le asserzioni: global GRAVITY GRAVITY = 32; y = falling((0:.1:5)’); Le due asserzioni globali danno il valore assegnato a GRAVITY al prompt di comando nella funzione. Si pu` cambiare poi GRAVITY interattivamente per ottenere soluzioni nuove senza compilare alcun o file. • Dualit` Command/Function a Comandi di MATLAB sono : load help Molti comandi accettano modificatori che specificano operandi. load giuseppe.dat help magic type rank Un metodo alternato di approvvigionare i modificatori di comando fornisce una sequenza di argomenti di funzioni. load(’giuseppe.dat’) help(’magic’) type(’rank’) Questa ` la ”dualit` tra command/function” di MATLAB. Qualsiasi comando della forma: e a command argument pu` essere scritto anche nella forma funzionale: o command(’argument’) Il vantaggio dell’approccio funzionale viene quando l’argomento della sequenza ` costruito dagli altri e pezzi. L’esempio seguente processa files multipli, August1.dat, August2.dat e cos` via.In esso si usa la ı funzione int2str, che converte un numero intero in una sequenza di caratteri, per aiutare alla costruzione del nome del file. for d = 1:31 s = [’August’ int2str(n) ’.dat’] load(s) % Process the contents of the d-th file end

52

• La funzione eval La funzione eval lavora con variabili di testo per rendere pi` agevole l’uso delle macro. L’espressione u o asserzione: eval(s) usa l’interprete di MATLAB per valutare l’espressione o eseguire l’asserzione contenuta nella sequenza del testo s. L’esempio della sezione precedente potrebbe essere fatto anche col codice seguente, sebbene questo risulta meno efficiente perch´ coinvolge il pieno interprete, non solo una chiamata alla funzione. e for d = 1:31 s = [’load giuseppe’ int2char(n) ’.dat’] eval(s) % Process the contents of the d-th file end • Vettorizzazione ` E importante una vettorizzazione per ottenere la pi` alta velocit` di MATLAB, nell’eseguire gli alu a goritmi contenuti negli M-file. Dove gli altri linguaggi di programmazione userebbero cicli for o do , MATLAB pu` usare operazioni su vettori o matrici. Un semplice esempio si ottiene creando una tavola o di logaritmi. x = 0; for k = 1:1001 y(k) = log10(x); x = x + .01; end Agli utenti di MATLAB esperti piace dire ”La Vita ` troppo corta per spenderla scrivendo dei cicli.” e Una versione vettorizzata dello stesso codice `: e x = 0:.01:10; y = log10(x); Per codici pi` complicati, le opzioni di vettorizzazione non sono sempre cos` ovvie. Quando la velocit` u ı a ` importante, si dovrebbe sempre cercare di vettorizzare i propri algoritmi. e • Preallocation Se non si pu` vettorizzare un pezzo di codice, si pu` fare velocizzare un ciclo FOR preallocando o o qualsiasi vettore o array nei quali sono immagazzinati i risultati di output. Per esempio, questo codice usa la funzione zeros per preallocare il vettore creato nel ciclo FOR. Questo fa s` che il ciclo sia eseguito ı pi` velocemente. u r = zeros(32,1); for n = 1:32 r(n) = rank(magic(n)); end Senza la preallocation nell’esempio precedente, l’interprete di MATLAB allarga il vettore r di un elemento ad ogni ciclo. La vector preallocation elimina questo passo ed il risultato ` una esecuzione pi` e u veloce. 53

• Funzioni di funzione Una classe di funzioni, chiamate ”funzioni della funzione,” lavora con funzioni nonlineari di una variabile scalare . Ovvero, una funzione lavora su un altra funzione. Le funzioni della funzione includono: • Ricerche di zeri • Ottimizzazioni • Quadrature

MATLAB rappresenta le funzioni nonlineari attraverso una M-file funzione. Per esempio, qui c’` una e versione semplificata della funzione humps dalla directory matlab/demos: function y = humps(x) y = 1./((x-.3).^2 + .01) + 1./((x-.9).^2 + .04) - 6; Valutare questa funzione per un set di valori nell’intervallo seguente: x = 0:.002:1; y = humps(x); Poi tracciare il grafico della funzione con: plot(x,y) si ottiene il seguente grafico:
100

• Equazioni differenziali ordinarie

90

80

70

60

50

40

30

20

10

0

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Figura 2.11: Funzione di funzione Il grafico mostra che la funzione ha un minimo locale vicino ad x= 0.6. La funzione fmins trova il minimo valore di x . Il primo argomento di fmins ` il nome del funzione di cui deve essere trovato il e minimo, il secondo argomento ` una supposizione grezza dell’ubicazione del minimo. e 54

p = fmins(’humps’,.5) p = 0.6370 Per valutare la funzione in corrispondenza del minimo digitare: humps(p) ans = 11.2528 Analisti numerici usano i termini quadratura ed integrazione per distinguere tra approssimazione numerica di un integrale definito ed integrazione numerica di equazioni differenziali. Le routine di quadratura di MATLAB sono quad e quad8. L’asserzione: Q = quad8(’humps’,0,1) calcola l’area sotto la curva nel grafico e fornisce Q = 29.8583 Finalmente, il grafico mostra che la funzione non `mai zero su questo intervallo. Cos` se si cerca uno e ı, zero con z = fzero(’humps’,.5) lo si trover` fuori dell’intervallo a z = -0.1316.

55

Capitolo 3

Calcolo numerico
3.1 Polinomi

In Matlab un polinomio ` rappresentato da un vettore. Per creare un polinomio ` sufficiente immettere e e i coefficiente del polinomio in un vettore in ordine decrescente. Per esempio, consideriamo il seguente polinomio: x5 + 10x4 + 0.6x3 + 12x2 − 7x + 5 Per inserirlo nel Matlab, ` sufficiente registrarlo come un vettore nel modo seguente: e x = [1 10 0.6 12 -7 5] x = 1 10 0.6 12 -7 5 Il Matlab pu` interpretare un vettore di lunghezza n+1 come un polinomio di ordine n. Per i coefficienti o non presenti nel polinomio si deve inserire lo zero nella corrispondente posizione del vettore. Per esempio, x5 − 7x + 5 in Matlab deve essere rappresentato come: y = [1 0 0 0 -7 5] Si pu` calcolare il valore del polinomio usando la funzione polyval. Per esempio, per trovare il valore o del precedente polinomio per s=2, z = polyval([1 0 0 0 -7 5],2) z = 23 E’ anche possibile estrarre le radici di un polinomio. Ci` ` utile quando si ha un ordine elevato del o e polinomio, come x5 + 10x4 + 0.6x3 + 12x2 − 7x + 5 Per trovare le radici basta semplicemente inserire il seguente comando: 56 (3.3) (3.2) (3.1)

roots([1 10 0.6 12 -7 5])

ans = -10.0662 -0.3251 + 1.1240i -0.3251 - 1.1240i 0.3582 + 0.4843i 0.3582 - 0.4843i La moltiplicazione tra due polinomi ` data dalla convoluzione dei loro coefficienti. La funzione usata e dal Matlab ` conv. e x = [1 2]; y = [1 4 8]; z = conv(x,y) z = 1 6 16 16 La divisione di due polinomi viene realizzata con la funzione deconv che restituisce il resto e il risultato. Dividere z per y equivale ad ottenere x, secondo quanto fatto sopra: [xx, R] = deconv(z,y) xx = 1 R = 0 0 0 0 Come si pu` vedere, questo ` il polinomio x cercato. Se z non fosse un multiplo di y, il vettore del resto o e avrebbe alcuni elementi diversi da zero. Per sommare due polinomi dello stesso ordine, come gi` visto, basta eseguire z=x+y (i due vettori a devono avere la stessa lunghezza). Nel caso generale,e cio` quando i due polinomi sono di grado diverso, e puoi usare la funzione da definire, polyadd. function[polinom]=polyadd(polin1,polin2) %La funzione polyadd(polin1,polin2) somma due polinomi con dimensioni diverse if length(polin1) < length(polin2) corto=polin1; lungo=polin2; else corto=polin2; lungo=polin1; end diff=length(lungo)-length(corto); if diff > 0 polinom=[zeros(1,diff),corto]+lungo; else polinom=lungo+corto; end Per usare polyadd, copia la funzione in un m-file, cos` da poterla utilizzare come una qualsiasi funzione ı del toolbox del Matlab. Assumendo che la funzione sia stata creata, il comando ` copletato aggiungendo e i polinomi x e y (osserva che in questo esempio i polinomi hanno grado diverso): z = polyadd(x,y) x = 1 2 57 2

y = 1 z = 1 5 10 4 8

58

3.2

Risoluzione di sistemi di equazioni lineari

In questa lezione impareremo a risolvere un sistema di equazioni lineari con matlab.Supponiamo di e integrare un sistema di N × N equazione e cio` un sistema di N equazione in N incognite, ed indichiamo con A la matrice dei coefficienti delle incognite e con B in vettore contenente i termini noti; ad esempio se il sistema ` il seguente: e 2x + 3y = 11 (3.4) x + 5y = 16 allora sar`: a A = [2 3; 1 5]; (3.5) B = [11 16]; Il sistema precedente in notazione matriciale viene indicato come: A∗X =B dove X rappresenta il vettore soluzione e cio` il vettore: e X = [x y]; La soluzione del sistema (3.6) ` data da: e X = inv(A) ∗ B; L’m-file che effettua tale operazione ` riportato di seguito: e %----------------------------------------------------------%Soluzione di un sistema lineare a Cura di Giuseppe Ciaburro %----------------------------------------------------------%Sia A la matrice dei coefficienti delle incognite e %B il vettore termine noti%Bisogna prima immettere nel promt di matlab A e B %Valutiamo l’inversa di A C=inv(A); %Determiniamo la trasposta C=C’; %Calcoliamo il vettore soluzione X=B*C; disp(’Il vettore delle soluzioni `’) e X Come si vede ` necessario effettuare la trasposta della matrice inversa perch` matlab esegue solo il e e prodotto di un vettore per una matrice e non il prodotto di una matrice per un vettore . Effettuiamo allora tali calcoli con matlab: (3.8) (3.7) (3.6)

59

C=inv(A) C = 0.7143 -0.1429 -0.4286 0.2857

effettuiamone la trasposta: C=C’ C = 0.7143 -0.4286 -0.1429 0.2857

Calcoliamo infine il vettore soluzione: X=B*C X = 1.0000 3.0000

60

Similar Documents

Premium Essay

Introduction of Computer

...UNIT 1 A Introduction to computers Unit 1 WUC 117/03 Introduction to Computing and Internet Introduction to Computers B WAWASAN OPEN UNIVERSITY WUC 117/03 Introduction to Computing and Internet COURSE TEAM Course Team Coordinator: Mr. Kevin Tan Pooi Soo Content Writer: Ms. Parasathy Daivasigamani Instructional Designer: Ms. Jeanne Chow Academic Members: Mr. Chandarasageran a/l Natarajan and Mr. Ishan Sudeera Abeywardena COURSE COORDINATOR Mr. Kevin Tan Pooi Soo EXTERNAL COURSE ASSESSOR Associate Professor Norhaziah Md Salleh PRODUCTION Editor: Mr. Terence Too Yang-Yau In-house Editor: Ms. Jeanne Chow Graphic Designers: Ms. Patsy Yap and Ms. Leong Yin Ling Wawasan Open University is Malaysia’s first private not-for-profit tertiary institution dedicated to adult learners. It is funded by the Wawasan Education Foundation, a tax-exempt entity established by the Malaysian People’s Movement Party (Gerakan) and supported by the Yeap Chor Ee Charitable and Endowment Trusts, other charities, corporations and members of the public. The course material development of the university is funded by Yeap Chor Ee Charitable and Endowment Trusts. © 2008 Wawasan Open University First revision S1 2011 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without prior written permission from WOU. Wawasan Open...

Words: 26839 - Pages: 108

Premium Essay

Introduction to Computer

...Topics: Chapter 1 – Working Together Computers are everywhere. Watching television, driving a car, using a charge card, ordering fast food, and the more obvious activity of typing a term paper on a personal computer, all involve interaction with computers. For one day, have each member of your team make a list of every computer he or she encounters (be careful not to limit yourselves just to the computers you see). Meet with the members of your team and combine your lists. Consider how each computer is used. How were the tasks the computers perform done before computers? Use PowerPoint to create a group presentation and share your findings with the class. Chapter 2 – Working Together This chapter lists 12 types of Web sites: portal, news, informational, business/marketing, educational, entertainment, advocacy, blog, wiki, online social network, content aggregator, and personal. Working as a team, use the Internet to find at least two examples of each type of Web site. For each Web site, identify the Web address, the multimedia elements used, the purpose of the Web site, and type of Web site. Explain why you classified each site as you did. Then, keeping in mind the purpose of each Web site, rank the sites in terms of their effectiveness. Share your findings in a report and/or a PowerPoint presentation with the class. Chapter 3 – Working Together In any software application, each program is not exactly the same. Different spreadsheet programs, for example...

Words: 539 - Pages: 3

Premium Essay

Essential Introduction Computer

...Essential Introduction to Computers 1. Define the term computer and discuss the four basic computer operations: input, processing, output, and storage 2. Define data and information 3. Explain the principle components of the computer and their use 4. Describe the use and handling of floppy disks and hard disks 5. Discuss computer software and explain the difference between system software and application software 6. Identify several types of personal computer application software 7. Discuss computer communications channels and equipment and the Internet and World Wide Web 8. Explain how to purchase, install, and maintain a personal computer, a notebook computer, and a handheld computer 9. Define e-commerce 1. Computer: Input, Processing, Output, and Storage In today's world, computers are used for almost every task imaginable. Routine activities such as paying bills, buying groceries, or communicating with a friend can be done with a computer. That is why it is important not only to know how to use a computer, but also to understand the components of a computer and what they do. Recent studies report that almost 40% of homes surveyed have personal computers, and this number is growing. Given the widespread use of computers, computer literacy - a knowledge and understanding of computers and computer uses - has become an essential ingredient in the recipe for success in today's world. Florida was the first state to demand computer literacy...

Words: 2855 - Pages: 12

Premium Essay

Introduction to Computer Security

...Introduction to Computer Security CSE 3482 Introduction to Information/Computer Security Instructor: N. Vlajic, Winter 2014 Learning Objectives Upon completion of this material, you should be able to: • Describe the key security requirements of confidentiality, integrity and availability (CIA). • Describe the CNSS security model (McCumber Cube). • Identify today’s most common threats and attacks against information. • Distinguish between different main categories of malware. Required Reading Computer Security, Stallings: Chapter 1 Computer Security, Stallings: Chapter 6 Introduction • Information Technology – technology involving development & use of computer systems & networks for the purpose of processing & distribution of data  in many organizations, information/data is seen as the most valuable asset categories of IT jobs:  IT administrator - installs, maintains, repairs IT equipment  IT architect - draws up plans for IT systems and how they will be implemented  IT engineer - develops new or upgrades existing IT equipment (software or hardware)  IT manager - oversees other IT employees, has authority to buy technology and plan budgets  Introduction (cont.) • Information System – entire set of data, software, hardware, networks, people, procedures and policies that deal with processing & distribution of information in an organization  each component has its own strengths, weaknesses, and its own security requirements information...

Words: 1194 - Pages: 5

Free Essay

Introduction to Computer Addiction

...Since my freshman year of high school, I have used a computer for at least an hour (a conservative minimum) virtually every single day. At one point I would return from soccer practice at 6pm, shower, eat dinner, and then play about three hours of computer games before beginning my homework. My friends and I would plan computer game matches during 4 th period calculus rather than pay attention. My vision has declined since then from 20/20 to 20/25. I can easily spend hours on the computer, but I often tell myself that I do not have time to go running. The first thing I do when I return to my apartment is check my email. When I experience “writer's block” while using Microsoft Word, I have an overpowering urge to sign onto AOL Instant Messenger. Once “online,” I find it extremely difficult to sign off. Help me, Dr. Phil. The inspiration of this project is based on the following assumptions: A significant amount of college students share my experience of computer abuse. They find themselves staying on their computers longer than expected and sacrificing their daily objectives as a consequence. Because time is a scarce resource, computer use must be replacing other activities. Also, as the technology sector grows, jobs are becoming less physically demanding. Many employees sit down for hours, whether they are secretaries, programmers, researchers, administrative officials, etc, concentrating on small characters on their computer monitors. Not only is this substituting more active...

Words: 361 - Pages: 2

Free Essay

Introduction to Computer Security

...CSS150-1302B-04 Introduction to Computer Security Phase 3: Discussion Board 3 Networks, Cryptography, and Malicious Activity Professor: Shawn Murray June 5, 2013 In this paper I will discuss a malicious computer worm that spread rather quickly and affected thousands of people and targeted a company in Utah. I will discuss how the worm spread in detail. Lastly, I will discuss how to prevent / defend against such worms. On January 26, 2004 MyDoom, also known as W32.MyDoom@mm, Novarg, Mimail.R and Shimgapi was a computer worm that affected Microsoft Windows (wildammo.com, 2010). MyDoom in 2004 had set the record for spreading the fastest through email. It was said to be started by e-mail spammers through junk mail being sent. That was one way the worm was sent. MyDoom was also sent out as failure sent messages. One of the messages that MyDoom had sent out was “Andy; I’m just doing my job, nothing personal, sorry.” (wildammo.com, 2010). With messages such as that and sent failure / system error messages, one whom was not knowledgeable of such worms would foolishly open it. These messages including but not limited to the one mentioned above brought suspicion to a lot of people and it was believed that the maker of the worm was paid. To date, the author of MyDoom is not known. It is thought though that MyDoom was created in Russia by a programmer (wildammo.com, 2010). In the result of MyDoom globally internet access had slowed down...

Words: 622 - Pages: 3

Premium Essay

Introduction to Computer Viruses

...The person might have a computer virus infection when the computer starts acting differently. For instance getting slow or when they turn the computer on, it says that all the data is erased or when they start writing a document, it looks different, some chapters might be missing or something else ubnormal has happened. The next thing usually the person whose computer might be infected with virus, panics. The person might think that all the work that have been done is missing. That could be true, but in most cases viruses have not done any harm jet, but when one start doing something and are not sure what you do, that might be harmful. When some people try to get rid of viruses they delete files or they might even format the whole hard disk like my cousin did. That is not the best way to act when the person think that he has a virus infection. What people do when they get sick? They go to see a doctor if they do not know what is wrong with them. It is the same way with viruses, if the person does not know what to do they call someone who knows more about viruses and they get professional help. If the person read email at their PC or if they use diskettes to transfer files between the computer at work and the computer at home, or if they just transfer files between the two computers they have a good possibility to get a virus. They might get viruses also when they download files from any internet site. There was a time when people were able to be sure that some sites...

Words: 366 - Pages: 2

Premium Essay

An Introduction to the Computer Security Problem

...Essay 1 What Is There to Worry About? An Introduction to the Computer Security Problem Donald L. Brinkley and Roger R. Schell This essay provides an overview of the vulnerabilities and threats to information security in computer systems. It begins with a historical presentation of past experiences with vulnerabilities in communication security along with present and future computer security experiences. The historical perspective demonstrates that misplaced confidence in the security of a system is worse than having no confidence at all in its security. Next, the essay describes four broad areas of computer misuse: (1) theft of computational resources, (2) disruption of computational services, (3) unauthorized disclosure of information in a computer, and (4) unauthorized modification of information in a computer. Classes of techniques whereby computer misuse results in the unauthorized disclosure and modification of information are then described and examples are provided. These classes are (1) human error, (2) user abuse of authority, (3) direct probing, (4) probing with malicious software, (5) direct penetration, and (6) subversion of security mechanism. The roles of Trojan horses, viruses, worms, bombs, and other kinds of malicious software are described and examples provided. In the past few decades, we have seen the implementation of myriads of computer systems of all sizes and their interconnection over computer networks. These systems handle and are required to protect...

Words: 13185 - Pages: 53

Premium Essay

Introduction to Computers - Key Terms

...Chapter 1 - Introduction to Computers - Key Terms (pages 1-15) Barcode - (p. 7, 294) used to index documents scanned within a document management systems. Bit - (p. 294) the level of voltage (low or high) in a computer that provides the binary states of 0 and 1 that computers use to represent characters. Bluetooth port - (p. 294) technology that uses radio waves to provide hands-free cellular phone communications. Blu-Ray disc - (p. 294) storage device, similar to CDs and DVDs, but are able to store even larger amounts of data. Bus network - (p. 294) computers networked together that are lined up on a single cable. Byte - (p. 294) eight bits treated as a single unit by a computer to represent a character. Cache memory - (p. 294) a type of memory located on the central processing unit (CPU) that can also be on a part of the processor. Central processing unit (CPU) - (p. 295) the brain of the computer, or the circuits that make the electrical parts function. Client/server network - (p. 295) large networks that could run hundreds of computers in various counties or states. Compact disc (CD) - (p. 296) discs that use a finely focused laser beam to write and read data. Computers on wheels (COWs) - (p. 296) term used to refer to notebook computers mounted on carts and moved with the user. Daisy chain network - (p. 296) the easiest way to add more computers into a network by connecting each computer to the next in a series. Device driver - (p. 297) a specific type of...

Words: 1585 - Pages: 7

Free Essay

Introduction to Computer and Network Hardware:

...Best Device for Your Needs Introduction to Computer and Network Hardware: ITCO103 - 1401A – 01 IP 1 Best Device for Your Needs Many people are updating their smartphones, laptops and desktops. There are so many options to choose from brand, size and performance. This paper will discuss and compare some of today’s best bargain laptops and computers that will also offer some of today’s most updated software and features. I will also discuss two of the most popular smartphones comparing and contrasting each devices features. While shopping on the internet for the best computer system I had hundreds of choices. I decided to narrow my choices down by picking a device that had all the features I needed in a computer system, but had a reasonable price tag for a full time worker and a part time student budget. The best option for me is the Dell Inspiron 660, and the Canon PIXMA MG2220 all-n-one printer it has all the features and needs that I would need in a personal home desktop system. The price point for this desktop is around $529.00. This device can be purchased at Wal-Mart, Best Buy, and Hhgreeg making it accessible to most for in store purchase. This desktop is also available for purchase online as well from the dell website directly for the price listed above. The system software consists of OS Provided Microsoft Windows 7 Home Premium 64-bit Edition. The system setup specs...

Words: 1468 - Pages: 6

Premium Essay

Introductions Into Computers

...In the world of technology and computers, there has always been a way to make programs applications more advanced more simplistic and better than ever before with updates. When everything also is made into the way of life of computers, there’s always one thing to provide out the details and the simplistic trails of operating systems. Without the limitations of these operating systems, many would wonder as a society what could have happened if the operating system was never invented. Without operating systems and computers, things could and would have proceeded into the complications of today and things might not have changed if it wasn’t for the internet and different frustrations of doing many things by hand, but in the ways of introducing technology now is very simplistic. Using computers now in the present have been used as a daily important part of our lives to stay communicated to the world and to the rest of the others in real time. Running on computers have been of choice running operating systems to stay on top of programs and applications to get and take care of the other particles of tasks needed to be done or just for leisure and entertainment. Using operating systems known in short terms for “OS” is all on the society’s choice running what they think is the best for what they can get for the computer. There is all but one OS out of the major ones that is running for free without price, and that would be Linux. In today’s society, there’s a lot that Linux can do...

Words: 309 - Pages: 2

Free Essay

Introduction to Computers

...Introduction to Computers and the Internet 2 1) Basic browser buttons: The same picture is blown up twice below, so that the labels are easier to read. 2) Favorites: A favorite (or a bookmark, depending on your browser) is a link to a page that you store in your web browser. This makes it easier to pull up that page because you do not have to remember its full address, search for it, or click through links on a page to get to it. If there is a page you want to remember or like to go to a lot, you may want to add it to your favorites. Here you can see the pages that are currently saved on your computer or add a new one. 3) Home Page(s): The home page is the page or pages that the browser pulls up when you first open it. You can set it to open more than one, and you can choose what it opens first. To do this, you will want to use the “home” icon. [pic] Clicking on the icon will make the browser pull up the home page, but by clicking on the arrow immediately to the left of it, you can set a new home page. Here you can see the current home page highlighted and the options to change or remove home pages. If you choose to add or change, you will see this: You can either make the page you are currently on the home page, or tell the browser to bring it up in addition to the page(s) it is already opening. If you find that you have too many home pages, you may want to remove some, like this: 4)...

Words: 355 - Pages: 2

Free Essay

Introduction to Personal Computers Homework Chapter 3

...Introduction to personal computers Homework January 9, 2015 Chapter 1, review questions 1-15 Chapter 2, review questions 1-15 Chapter 3, review questions 1-17 Presented by: Bolivar Antonio Taveras Chapter 1 review questions 1-15 Which of the following is an example of a PC? Colossus ENIAC 8088 Von Neumann Who is credited with the patent for the first computer? Eckert and Mauchly Atanasoff Microsoft Intel In the Von Neumann architecture, what two components make up the CPU? (select the two best answers) Control unit Processor Arithmetic unit Memory What technology alleviates the problem of the “Von Neumann bottleneck”? Cache Main memory CPU Hard disk drive Which of the following are groups within the Von Neumann architecture? Working storage Monitor Output devices Permanent storage Keyboard What are the three main connections in a transistor? (select the three best answers) Gate N-type silicon Source Drain Conductor MOSFET is the most common type of what electronic component? Vacuum tube CPU Integrated circuit Transistor Approximately how many transistors are incorporated into today’s Intel processors? Hundreds Thousands Millions Billions What made the 8088 Intel CPU special compared to its predecessors? 1MB address limit 33 MHz processor 64KB address limit 1MHz processor What does Moore’s law state? Whatever can go wrong with computers will. ...

Words: 1114 - Pages: 5

Premium Essay

Introduction to Computer

...GRAPHICS Road  safety Everyday many people are involved in road accidents. Some are killed. Many more are injured or maimed. So it is important for us to learn to use the roads properly and safely. No sane person would like to be involved in an accident. As the roads are very busy nowadays, we should be very careful when crossing one. It is safer to use a pedestrian crossing or an overhead bridge whenever one is available. Never cross a road by dashing across it. That is inviting trouble. If there are no crossings, then we must look carefully right and left and cross only when it is safe to do so. Some of us take the bus to school. It is important that we do not try to get on or off a bus while it is still moving. I tried to get on a moving bus once. It dragged me a short distance and nearly ran over me. I was lucky to escape with only some scratches on my legs. Also we must not fool around while in the bus. A suddenly lurch can send us knocking our heads against something hard. Using a bicycle can be dangerous too. We must pay attention on the road and never cycle too far out to the middle of the road. We must obey all traffic rules. Also we must make sure our bicycles are in good condition with working brakes, lights etc. These are some things we can do to avoid accidents. However there is no guarantee that we will never be involved in one. The important thing is to stay alert at all times while using the roads. We must know what is happening around us. In that way we can...

Words: 636 - Pages: 3

Free Essay

Introduction to Computer

...1) A computer is unique compared to any other machine because of its ability to ________. process large amounts of information simultaneously process complex math functions change its programming use many different types of software Score: 1 2) Bits are used to measure ________. storage capacity data transfer and Internet connection rates the size of files the amount of time a user is connected to the Internet Score: 1 3) The smallest, most lightweight, and inexpensive computer is the ________. notebook laptop netbook client Score: 0 4) Distributed computing distributes ________. the processing of tasks across a group of computers power ability across all users Internet usage across the entire network disk storage for all computer users Score: 1 5) Smartphones use ________ technology, allowing users to perform several functions with one device. embedded design invisible computing convergence grid computing Score: 1 6) The intersection of a row and a column in a spreadsheet is called a ________. field text cell record Score: 1 7) Shaynia has been working with her colleagues on a Word...

Words: 2580 - Pages: 11