%% prog arreglos 1D clearvars; close all; clc; %% arreglos 1D tipo fila - horizontal %este tipo de arreglos ordena los elementos de manera fila/horizontal %mediante la siguiente sintaxis %nombre_arreglo = [num1, num2, ...,numN]; arreglo 1D fila de dimensiones (1XN) %nombre_arreglo = [num1 num2 ... numN]; arreglo 1D fila de dimensiones (1XN) Vfil01 = [1,2,3,4]; %arreglo 1D fila de dimensiones (1X4) Vfil02 = [8.8 9.9 7.7 5.5]; %arreglo 1D fila de dimensiones (1X4) %% arreglos 1D tipo columna - vertical %este tipo de arreglos ordena los elementos de manera columna/vertical %mediante la siguiente sintaxis %nombre_arreglo = [num1; num2; ...;numN]; arreglo 1D columna de dimensiones (NX1) Vcol01 = [5;6;7;8;9]; %arreglo 1D columna de dimensiones (5X1) Vcol02 = [1.1; 2.2; 3.3; 4.4]; %arreglo 1D columna de dimensiones (4X1) %% indexacion %permite utilizar elementos del arreglo de forma aislada a partir de numeros %naturales (1,2,3,4,....etc) para indexar no se puede usar numeros con decimales %o bien ceros o números negativos x01 = Vfil01(2); %llamo al segundo elemento en el arreglo Vfil01 y lo asigno a la variable x01 x02 = Vcol01(4); %llamo al cuarto elemento en el arreglo Vcol01 y lo asigno a la variable x02 %podemos realizar operaciones aritmeticas simples dentro de los índices siempre y cuando %no den numeros mayores que el tamanho del arreglo o den numeros negativos ceros etc n1 = 1; n2 = 2; x03 = Vfil01(n1+n2); x04 = Vcol01(4 - n1 + n2); %no se puede hacer %x04 = Vfil01(4 - n1/10 - 40*n2); %% creacion de arreglos usando for N = 10; for n = 1:N Vfil03(1,n) = n + sqrt(n); %vector 1D fila Vfil04(1,n) = n; %vector 1D fila Vcol03(n,1) = n^2 - log10(n+1); %vector 1D columna Vcol04(n,1) = 1/n; %vector 1D columna end; %% operaciones aritmeticas directas %se requiere que ambos vectores sean del mismo tamanho y del mismo tipo Vfil05 = Vfil03 + Vfil04; %suma elemento a elemento Vfil06 = Vfil03 - Vfil04; %resta elemento a elemento Vfil07 = Vfil03.* Vfil04; %multiplicacion elemento a elemento Vfil08 = Vfil03./ Vfil04; %division elemento a elemento Vcol05 = Vcol03 + Vcol04; %suma elemento a elemento Vcol06 = Vcol03 - Vcol04; %resta elemento a elemento Vcol07 = Vcol03 .* Vcol04; %multiplicacion elemento a elemento Vcol08 = Vcol03 ./ Vcol04; %division elemento a elemento %% operaciones aritmeticas indirectas %estas se realizan mediante la adecuada indexación for n = 1:N Vfil09(1,n) = Vfil08(1,n) + Vcol08(n,1); end; %podemos generar operaciones especiales modificando indices y tipos de vectores for n = 2:N-1 Vcol09(1,n) = Vcol07(n,1) + Vfil07(1,n-1); end; %% transposicion convierte fila en columna y columna en fila Vfil10 = Vfil08 + transpose(Vcol08); %% otras funciones matematicas %las funciones como sin() cos() log() log10() funcionan elemento a elemento Vfil11 = sin(Vfil10); Vcol11 = log10(Vcol08); Vfil12 = cos(Vfil08) + transpose(tan(Vcol08)); Vcol12 = transpose(cos(Vfil08)) + tan(Vcol08); %% funciones elevado a elemento a elemento Vfil13 = Vfil12.^2; Vcol13 = Vcol12.^(2/3); %% prelocalizacion %sirve para acelerar el programa N = 10; %usando for podemos hacer un arreglo for n = 1:N num01(1,n) = n; end; %pero podemos prelocalizar el arreglo usando el comando num02 = 1:N; num03(1,1:N) = 1; %fila de numeros uno (1 X N) num04(1:N,1) = 0; %columna de ceros (N X 1) num05 = ones(N,1);%columna de numeros uno (N X 1) num06 = zeros(1,N);%fila de ceros (1 X N) %otro ejemplo de prelocalizacion f = 2000; fs = 44100; NN = 44100 + 1; %sin prelocalizacion for n = 1:NN t1(n) = (n-1)/fs; %tiempo de cero a un segundo ft1(n) = sin(2*pi*f*t1(n)); %onda senoidal de frecuencia 2000 (Hz) end; %con prelocalizacion t2 = (0:NN-1)/fs; %tiempo de cero a un segundo ft2 = sin(2*pi*f*t2); %onda senoidal de frecuencia 2000 (Hz) %% hacer sonar sound(ft1,fs); %% dibujar figure(1) %abre ventana de grafico plot(t1,ft1) %dibuja las variables title('mi primer grafico'); %titulo xlabel('tiempo t(s)'); %nombre el eje x ylabel('presion sonora p(t) (Pa)'); %nombre el eje y legend('p(t)'); %leyenda axis([0, 1, -1.1, 1.1]); %tamaño de los ejes grid on; %grilla box on; %caja o marco