vuoi
o PayPal
tutte le volte che vuoi
Modalità di apertura del flusso di comunicazione
Il parametro "r" apre un file esistente in lettura.
Il parametro "w" apre un file esistente o crea un nuovo file in scrittura.
Il parametro "a" apre un file esistente o crea un nuovo file in scrittura, posizionando il cursore alla fine del file.
Quanto già presente nel file viene mantenuto, ma in modalità testuale.
Per diagrammi a tre dimensioni con z = una funzione, si utilizza il comando "plot3(x, y, z)".
Per diagrammi di superfici con z = f(x, y), si utilizza il comando "mesh(xx, yy, zz)" dove xx e yy sono variabili indipendenti da x e y.
La sintassi per la sequenza di comandi è la seguente:
comando1 comando2 comando3 ...
Un comando può avere un nome, può essere invocato (cioè può essere richiesto l'esecuzione) e può ricevere dei parametri che ne influenzano il risultato.
Sono matrici e si ottengono mediante la funzione nome(input1, input2, ...)
.
Come ma in modalità testuale 'wt'
: 'w' mediante la funzione testata()
.
Come ma in modalità testuale 'at'
: 'a' e come ma si può anche scrivere nel file 'r+'
o 'rt+'
: 'r'/'rt'
[xx, yy] = meshgrid(x, y)
, a partire dai vettori, x e y, che... corpo è la parte eseguibile.
Come ma si può anche leggere dal 'w+'
o 'wt+'
: 'w'/'wt' contengono i valori delle ascisse e delle ordinate.
Come 'at+'
: 'a'/'at' ma si può anche leggere dal file 'a+'
per memorizzare una funzione per ottenere zz.
status = fclose(fid)
determina la chiusura del flusso di output.
La lista dei risultati della funzione, il nome è
Il nome della comunicazione con il file identificato da fid
della funzione e l'input è la variabile in ingresso. Se ho z=f(x,y)
restituisce 0 se la chiusura è avvenuta senza errori. Il valore input
serve per trasferire dati alla funzione dal workspace-1. In caso di problemi corrente, le variabili del workspace non sono disponibili. status = fclose('all')
chiude tutti i file zz=f(xx,yy)
all'interno di funzione, deve essere importato tutto ciò che cont = fwrite(fid, array, 'formato')
serve. Per più input: 1) separati da virgole 2) l'ordine è cont
che indica il numero di valori effettivamente scritti nel file. Sostituisco xx
a x
e yy
a y
nella funzione importante. fid
è l'identificatore del file su cui scrivere (NB: il file deve essere stato in precedenza aperto in scrittura ('w' o 'a'). L'output è utilizzato per restituire al workspace i risultati della funzione. Output multipli: 1) separati da virgola dentro
visualizzare la funzione DEVE essere lo stesso della funzione. Nel la porzione della parabola in verde.nome non possono essere contenuti spazi e DEVE essere per il significato di cont, fid e formato si veda fwrite
, i dati diverso dal nome della variabili in uso.vengono memorizzati in array indica il colore ‘g’size è la dimensione dei file da leggere:
- N: legge N
- B: se l’input viene inserito da tastiera la funzione non ha esattamente N valori (array sarà un vettore colonna parametri di input mesh(xx, yy, zz,’FaceColor’,’lettera per il colore’,contenente questi N valori)
- inf: legge fino alla fine del file
function [output1 output2 = nome()…] 0.3);‘EdgeAlpha’,(array sarà un vettore colonna ontenente tutti i valori letti)
- [n m]: legge esattamente nxm valori (array sarà una per colorare grafici 3D‘FaceColor’matrice nxm contenente tutti i valori letti) degli
spigoli‘EedgeAlpha’’spessorecont = fprintf(fid, format, val1, val2, ...)
intput DIAGRAMMIformattato, poermette di scrivere all’interno del file aperto 3 indicano lo spessore delle linee‘LineWidth’,con fopen plot(x, y) disegna diagramma cartesiano dei punti chehanno valori delle ascisse in x, delle oridnate in y e li grid on aggiunge una griglia la graficoa parte l’identificatore del file fid, è come la fprintf già vista congiunge con una linea, per dare continuità al grafico figure(N) crea una nuova finestra di immagine ele assegnaxlabel(‘nome’) dare nome all’asse delle ascisse l’identificativo Nii = ii + 1;more = input('vuoi inserire altri valori? (s/n)');ESERICIZI IMPORTANTI endEstrarre tutte le sottomatrici 2x2 di Afor row=1:2:size(A,1)for col=1:2:size(A,2) jj = 1;disp(A(row:row+1, col:col+1))end for ii = 1:length(arch)end % attenzione: la condizione dell’if deve essere
scrittasulla stessa linea…Porre tutti gli elementi di A maggiori o ugualiai corrispondenti elementi di B pari alla differenza tra A e if arch(ii).latitudine >= 10 && arch(ii).latitudine <= 80B; &&indici = A>=B;A(indici) = A(indici)-B(indici) arch(ii).longitudine >= 30 &&arch(ii).longitudine <= 60elemSelez(jj) = arch(ii).altitudine;jj = jj + 1;endenddisp(['la media degli elementi selezionati e` 'num2str(mean(elemSelez))]);
PROGRAMMAZIONESi sviluppi un programma che acquisisca da tastiera i dati relativi a rilievi altimetrici e stampi a In MATLAB, i cicli FOR e WHILE si comportano in manieravideo l’altitudine media di tutti i rilievi che hanno identica al C ma con una sintassi è diversalatitudine compresa tra 10 e 80 e longitudine tra30 e 60 FORfor indice = espressione (ex. 1:n)istruzionimore = input('vuoi inserire valori altimetrici? (s/n)'); endii = 1; WHILEwhile more == 's' while
condizionearch(ii).altitudine = input('altitudine: ');
istruzioniendarch(ii).longitudine = input('longitudine: ');
IF ELSEarch(ii).latitudine = input('latitudine: ');
If condizione A or A and B = A – quanto vale, approssimativamente, 2^17
risposta: "128 mila"
istruzioni legge dell'elemento 1:
infatti 2^17 =2^(7+10)=2^7 +×2^10 = 128 K
elseif condizione not A or A = 1 NB: l'approssimazione è per difetto (ha sempre un erroreistruzioni <10%) amche su valori molto grandi
else ARITMETICA DEL CALCOLATORE
istruzioni numeri binari con n bit codificano 2^n numeri da 0 a (2^n)- Conversioni rapide bin decend 1 10^n = 2^(10*n/3)conversione bin dec:ALGEBRA DI BOOLE ED ELEMENTI DI Σ b(i)*2^i (con i da 0 a n-1) ex. 11101 = 1*2^4 + 1*2^3 + ex. 10^9 = 2^(10*9/3) = 2^301*2^2 + 0*2^1 + 1*2^0 = 29LOGICA aumento e riduzione dei bit in binconversione dec bin:a b a AND b a OR b NOT a a XOR b aumento dei bit:aggiungendp in
modo progressivo un bit 0metodo dei resti:0 0 0 0 1 0 a sinistra il valore del numero non muta0 1 0 1 1 1 1. decidere se il numero è pari (resto 0) oppure dispari riduzione dei bit: cancellando in modo progressivo un bit 01 0 0 1 0 1 (resto 1), e annotare il resto a sinistra, il valore del numero non cambia, ma bisogna1 1 1 1 0 0 arrestarsi quando si trova un bit 12. dimezzare il numero (N r)/2– numeri binari interi (positivi e negativi) in modulo ePrecedenza: l’operatore NOT precede l’operatore AND, che a 3. ripartire dal punto 1. fino a ottenere 0 come risultato della segno (m&s) il primo bit asua volta precede l’operatore OR divisione sinistra rappresenta il segno del numero (bit disegno), i bitrimanenti rappresentano il valoreA and not B or B and C = (A and (not B)) or (B and C) 4. il numero in binario sarà la sequenza di numeri ottenuta 0 per il segno positivo 1 per il segnoPer ricordarlo, si pensi OR come (più), AND
come "+" e "x" letta in senso contrario a partire da 1:2 fino a N:2 negativo (per) e NOT come "−" (cambia segno) ex. 19:2 1 → (In modulo e segno, il numero zero ha due rappresentazioni equivalenti (00..0, 10..0)) 9:2 1 → tautologia: espressione logica sempre vera, per qualunque combinazione di valori delle variabili ex. a OR NOT a 4:2 0 → 2:2 0 → contraddizione: espressione logica sempre falsa per ex. con n = 9 (8 bit + un bit per il segno) 1:2 1 → qualunque combinazione di valori delle variabili ex. a AND 0 NOT a 100001000 m&s = −1*2^3 = −8 dec due espressioni logiche si dicono equivalenti (e si indica con 19 in binario è: 10011 NB: il bit di segno non ha significato numerico e se ⇔) se hanno la medesima tabella di verità distaccato i bit rimanenti rappresentano il valore assoluto conversioni rapide bin dec → del numero PROPRIETA' DELL'ALGEBRA DI BOOLE In binario si definisce una notazione abbreviata.sullaleggi di De Morgan falsariga del sistema metrico-decimale: COMPLEMENTO A 2 (C2)not (A and B) = not A or not B (1a legge) K = 2^10 = 1.024 ≈ 10^3 (Kilo) il C2 è un sistema binario, ma il primo bit (quello a sinistra, ilnot (A or B) = not A and not B (2a legge) M = 2^20 = 1.048.576 ≈ 10^6 (Mega) più significativo) ha peso negativo, solo il primo bit, mentrePROPRIETA’ SIMILI ALL’ALGEBRA TRADIZIONALE tutti gli altri bit hanno peso positivoG = 2^30 = 1.073.741.824 ≈ 10^9 (Giga) Il bit più a sinistra è ancora chiamato bit di segno ma faproprietà associativa: T = 2^40 = 1.099.511.627.776 ≈ 10^12 (Tera) • parte dei n bit (ex C2 a 8 bit ha 8 numeri non 9 come nelA or (B or C) = (A or B) or C (idem per AND) In base 2 hanno valori molto prossimi ai corrispondenti segno pre