Introducción

VARIABLES DE ARREGLO

 

Un vector de datos puede definirse como

 

x = [0, 0.1, 0.2, 0.3, 0.4, 0.5]

 

si se desea imprimir un dato en particular se teclea

 

x(3)

 

el cual imprimirá el número en la tercer posición del arreglo, el primer elemento se numera con el uno.

 

Una forma equivalente de definir la misma x es

 

clear;

for i=1:6

   x(i) = (i-1)*0.1;

end

 

x

x(3)

 

Otra forma de escribir un arreglo es

 

clear;

 

x = 2: -0.4: -2

 

pause;

 

Podemos definir arreglos en fila o columna

 

clear;

 

z = [0; 0.1; 0.2; 0.3; 0.4; 0.5]

 

z = [0, 0.1, 0.2, 0.3, 0.4, 0.5]'

 

 

podemos realizar operaciones entre arreglos fila o columna con

 

clear;

 

x = [1, 2, 3, 4]

y = [4, 3, 2, 1]

 

suma  = x + y

resta = x - y

mult  = x .* y

div   = x ./ y

 

Las operaciones de suma y resta son iguales que para el álgebra lineal. En cambio .* y ./ son operadores nombrados para la división de arreglos. Si se omite el punto el significado es diferente lo cual es equivalente a

 

clear;

 

x = [1, 2, 3, 4]

y = [4, 3, 2, 1]

 

Para la suma hacemos 

 

for i=1:4; suma(i)  = x(i) + y(i); end;

 

En la resta 

 

for i=1:4; resta(i) = x(i) - y(i); end;

 

Multiplicación

 

for i=1:4; mult(i)  = x(i) * y(i); end;

 

y División

 

for i=1:4; div(i)   = x(i) - y(i); end;

 

 

Propiedades de los arreglos

 

Concatenacion

 

clear;

 

x = [2, 3]

x = [x, 4]

 

 

en el caso de arreglos columna

 

clear;

 

y = [2, 3]'

y = [y; 4]

 

para extraer la una parte de un vector

 

clear;

 

y = [1,2,3,4,5,6,7,8,9]

w = y(3:6)

 

 

para obtener la longitud de un arreglo se utiliza

 

clear;

 

y = [1,2,3,4,5,6,7,8,9]

length(y)

 

 

La variables de cadena también puede tener caracteres

 

clear;

 

v = 'Hola Mundo'

 

w = ['H', 'o', 'l', 'a', ' ', 'M', 'u', 'n', 'd', 'o']

 

 

y podemos cambiar el orden de impresión haciendo

 

clear;

 

v = 'Hola Mundo'

v = v'

 

w = ['H', 'o', 'l', 'a', ' ', 'M', 'u', 'n', 'd', 'o']

w = w'

 

Ejemplo 1.

 

Dado un arreglo de datos calcular el promedio de este y el mayor de los valores.

 

x = [3 9 5 8 2]

n = length(x);

suma =0;

max = x(1);

for k=1:n

   suma = suma + x(k);

   if(max < x(k)); max = x(k); end;

end;

suma = suma/n;

 

fprintf('El promedio es = %5.2f\n', suma);

fprintf('El mayor es    = %5.2f\n', max);

 

Ejemplo 2.

 

Escribir un programa que verifique si una cadena de caracteres e un palíndromo.

 

x = '10011'

y = x(length(x):-1:1)

if(x == y)

   fprintf('Es palíndromo \n');

else

   fprintf('No es palíndromo \n');

end;

 

 

Arreglos Bidimensionales.

 

Para definir arreglos bidimensionales o matrices hacemos

 

m = [0.1, 0.2, 0.3; 0.4, 0.5, 0.6; 0.7, 0.8, 0.9]

 

otra manera de definirlos es utilizar

 

clear;

m(1,1) = 0.1;

m(1,2) = 0.2;

m(1,3) = 0.3;

m(2,1) = 0.4;

m(2,2) = 0.5;

m(2,3) = 0.6;

m(3,1) = 0.7;

m(3,2) = 0.8;

m(3,3) = 0.9;

 

Podemos listar columnas de la matriz haciendo

 

m(:,1)

m(:,2)

m(:,3)

 

o también renglones

 

m(1,:)

m(2,:)

m(3,:)

 

podemos realizar operaciones de +. -, * y / con matrices

 

a = [0.1, 0.2, 0.3; 0.4, 0.5, 0.6; 0.7, 0.8, 0.9]

b = [0.3, 0.4, 1.3; 0.6, -0.7, 1.0; -2.0, 1.8, 9]

 

suma  = a + b

resta = a - b

mult  = a .* b

div   = a ./ b

 

lo cual es equivalente a

 

a = [0.1, 0.2, 0.3; 0.4, 0.5, 0.6; 0.7, 0.8, 0.9]

b = [0.3, 0.4, 1.3; 0.6, -0.7, 1.0; -2.0, 1.8, 9]

 

for i=1:3

   for j=1:3

      suma(i,j) = a(i,j) + b(i,j);

   end

end

suma

 

for i=1:3

   for j=1:3

      resta(i,j) = a(i,j) - b(i,j);

   end

end

resta

 

for i=1:3

   for j=1:3

      mult(i,j) = a(i,j) * b(i,j);

   end

end

mult

 

for i=1:3

   for j=1:3

      div(i,j) = a(i,j) / b(i,j);

   end

end

div

 

pause;

 

también podemos utilizar el operador de potenciación en arreglos

 

clear;

 

a = [0.1, 0.2, 0.3; 0.4, 0.5, 0.6; 0.7, 0.8, 0.9]

 

g = a .^2

 

pause;

 

el cual es equivalente

 

a = [0.1, 0.2, 0.3; 0.4, 0.5, 0.6; 0.7, 0.8, 0.9]

 

for i=1:3

   for j=1:3

      g(i,j) = a(i,j)^2;

   end

end

 

 

cuando queremos realizar las operaciones del álgebra lineal de suma, resta, multiplicación y división hacemos

 

la suma y resta son iguales pero la multiplicación cambia

 

A = [0.1, 0.2, 0.3; 0.4, 0.5, 0.6; 0.7, 0.8, 0.9]

 

x = [1, 2, 3]'

 

b = A*x

 

para la división tendremos

 

A = [1, 4; 3, 5]

 

x = [2, 3]'

 

b = A\x

 

 

Regresar.