%%%% Codice Matlab per operazioni elementari %%% il carattere % e' utilizzato per i commenti clear all; %cancella tutte le variabili definite nel workspace di matlab; close all; %chiude tutte le figure aperte %%% definizione di variabili ed operazioni elementari a = 2; b = 2 % senza punto e virgola il dato viene scritto nel workspace c = [ 2 4 5 1] %vettore riga d = [ 2 ; 4; 5; 1] %vettore colonna e = c' % trasposizione di vettore o matrice. in questo caso il vettore riga c viene trasformato in vettore colonna f = [ 1 3 4 ; 1 1 2; 1 3 3] %matrice 3x3 il carattere ";" indica una nuova riga g = zeros(2,4) % genera una matrice 2righex4colonne help zeros % help da informazioni sul comando o funzione specificata h = c*d %moltiplicazione vettoriale di una matrice 1x4 per una matrice 4x1 equivalente ad una matrice 1x1 (scalare) % le dimensioni delle matrici devono essere opportune mxn % moltiplica nxp i = eye(3) %matrice identita' di dimensione 3 l = inv(f) %inversa di una matrice m = exp(4) %esponenziale n = expm(f) %esponenziale di una matrice o = linspace(0,10,250) % vettore riga di 250 punti equispaziati tra 0 e 10 % crea vettore riga tramite ciclo for for j= 1:15 p(1,j)=j^2 end i = 2 %riassegna la variabile i q = 1 + 4*i % genera il numero q = 1+4*2=9 clear i; %cancella la variabile i q = 1 + 4*i %crea numero complesso con parte reale 1 e parte immaginaria 4. %ATTENZIONE che se la variabile i puo' essere utilizzata come sopra e puo' portare ad errori r = sqrt(4) %radice quadrata s = sqrt(-1) % crea numero complesso s=0+i t = 1 + 4*sqrt(-1) %metodo sicuro per creare numero complesso w = real(t); % parte reale x = imag(t); % parte immaginaria u = abs(t) % modulo di un numero anche per numeri complessi v = angle(t) % fase di un numero complesso tra -pi e pi v = v*180/pi z = pi %pi greco %%% crea if-else if a == 0 % ATTENZIONE a non scrivere a=0 b=1 else b=0 end c= log(3) % logaritmo naturale c = log10(3) %logartimo base 10 %%% grafico di una figura t = linspace(0,10,100) %vettore y = sin(t) %screa un vettore calcolando il seno di ogni elemento del vettore ingresso figure(1) %figura plot(t,y,'k') % grafico colore nero (sistema linearizzato) , 'r' per rosso xlabel('tempo [sec]') ylabel('tensione e [V]') title('Risposta a ingresso i a gradino unitario con ingresso \phi = 2') hold on; %tiene tutti grafici nella figura z = y/4 plot(t,z,'r') %%%%% salvataggio dei dati save dati a b y z % salva solamente a b y z nel file dati.mat save dati % salva tutti i dati nel workspace di matlab nel file dati.mat whos % mostra la variabili attualmente disponibili in matlab e il loro formato clear all % cancello tutti i dati whos load dati % carica tutti i dati che arano in dati.mat whos %%%% dimensioni dati n=length(y) %dimensione del vettore m = size(f,1) %numero righe della matrice f k = size(f,2) %numero colonne della matrice f last = y(end) %ultimo elemento di y dy = diff(y) %dy(i)=y(i+1)-y(i) notare che dy e' di dimensione inferiore di un elemento rispotto a y %%%%% altro a = [1 2 3 4]; b = [2 3 4 4]; c = a.*b %prodotto termine a termine c(i) = a(i)*b(i) d = b.^2 %quadrato termine a termine %%%%% operazioni con polinomi %y1 = s^2+3s+2 y2 = s^2+6 y3=y1*y2 y1 = [1 3 2]; y2 = [ 1 0 6]; y3 = conv(y1,y2) %% poli complessi coniugati p1= a-i*b e p2=a+i*b y4=(s-a+i*b)*(s-a-i*b) y4 = conv([1 2-i*3],[1 2+i*3])