You are on page 1of 13

Ing. Ricardo G.

Ballesteros Rojo
Arreglo
Conjunto o grupo de datos guardados bajo
un mismo nombre.

Tipos de arreglos
 Unidimensional

 Bidimensional
Arreglo unidimensional
También conocido como vector, es un conjunto de datos
dispuestos en forma de lista.

Vector columna Vector fila

2.5
2.5 3.1 2.8 4.3
3.1
2.8
4.3
Para acceder a cada valor del vector, se hace mención de
la posición que guarda en la lista, indicándolo con un
subíndice:
Posición X
1 2.5 Si se requiere trabajar con el valor de X en la
posición 2 se representaría :
2 3.1
3 2.8 X2
4 4.3 se haría referencia al valor 3.1

X2 + X4  3.1 + 4.3
Si lo que se requiere es trabajar con la lista completa entonces se
sustituye el valor numérico por una variable:

Xi
Ahora se requiere que la variable subíndice (i) cambie su valor,
como debemos trabajar con todos los valores lo más recomendable
es usar un ciclo controlado por contador, donde el contador será el
subíndice del arreglo:

For i=valor inicial : valor final


comando X(i)
end
Donde:
valor inicial= valor de la primera posición de la lista
valor final = valor de la última posición de la lista
Ejemplo 1:
Calcular la temperatura promedio en °C, de un horno
a partir de 5 lecturas tomadas durante una jornada.

% Cálculo del promedio de 5 temperaturas Temperatura


clear i
°C
clc
sumatoria=0; 1 125.3
for i=1:5 2 135.4
t(i)=input(‘ingresa la temperatura [°C]’);
3 145.8
sumatoria=sumatoria+t(i);
end 4 137.4
promedio=sumatoria/5; 5 140.1
fprintf(‘promedio=%9.2f °C \n’,promedio);

Promedio= 136.8
Ejemplo 2:
Calcular el peso molecular promedio de una mezcla de “N” componentes
Utilizando la expresión:
N
PMp   X * PM
e 1
e e

%Cálculo del peso molecular promedio


% producto punto de dos vectores e X PM
clear,clc 1 0.79 28
PMp=0;
N=input('¿Cuántos componentes son?: '); 2 0.21 32
for e=1:N
X(e)=input(‘Ingresa la fracción mol’);
PM(e)=input(‘Ingresa el peso molecular’);
PMp=PMp+X(e)*PM(e);
end
fprintf(‘Peso molecular de la mezcla=%9.2f \n’,PMp);
Arreglos bidimensionales
Es un arreglo dispuesto en forma de tabla, donde la
posición de cada valor estará definida por dos
subíndices, número de fila y número de columna:

Matriz fila , columna

columnas

1,1 1,2 1,3


filas 2,1 2,2 2,3
3,1 3,2 3,3
1,1 1,2 1,3
4.2 4.5 4.3
2,1 2,2 2,3
4.0 4.7 4.5
3,1 3,2 3,3
4.3 4.2 4.6

A1,3  hace referencia al valor 4.3

Al igual que un vector si se requiere trabajar con todos y cada uno de los valores,
entonces los subíndices estarán definidos por variables.

En este caso dado que son 2 subíndices, es necesario usar dos ciclos anidados:

for i=número de fila inicial : número de fila final


for j=número de columna inicial : número de columna final
comando A(i,j);
end
end
Ejemplo 1:
Desarrollar un guión que lea e imprima una matriz de 3 filas y 3 columnas

% Lectura e impresión de una matriz


clear
clc
for i=1:3
for j=1:3
A(i,j)=input(‘ingresa el valor de la matriz: ’);
end
end
for i=1:3
for j=1:3 4.2 4.5 4.3
disp(A(i,j)); 4.0 4.7 4.5
end
end 4.3 4.2 4.6
Ejemplo 2:
Desarrollar un guión que lea 2 matrices y que genere una tercera con la
la suma de las 2 iniciales.

% Suma de matrices
clear
clc
disp(‘Leyendo matriz A’);
for i=1:3
for j=1:3
A(i,j)=input(‘ingresa el valor de la matriz: ’);
end
end
Matriz A
4.2 4.5 4.3
Ejemplo 2: continuación 4.0 4.7 4.5
4.3 4.2 4.6
disp(‘Leyendo matriz B’);
for i=1:3
Matriz B
for j=1:3
B(i,j)=input(‘ingresa el valor de la matriz: ’); 5.8 5.5 5.7
C(i,j)=A(i,j)+B(i,j); 6.0 5.3 5.5
end 5.7 5.8 5.4
end
clc
disp(‘Matriz resultado’);
disp(C); Matriz C
10.0 10.0 10.0
10.0 10.0 10.0
10.0 10.0 10.0
Ejemplo 3:
Desarrollar un programa que determine cuál es el elemento de mayor valor
entre los elementos de una matriz.

%Este programa determina el elemento de


%mayor valor en una matriz.
%
clear,clc clc
fil=input('¿Cuántas filas tiene la matriz?:'); disp('Matriz leida');
col=input('¿Cuántas columnas tiene la matriz?:'); for a=1:fil
disp('Leyendo la matriz') for b=1:col
for a=1:fil if b<col
for b=1:col fprintf('%5.1f ',mat(a,b));
fprintf('Dame el elemento(%i,%i)',a,b); else
mat(a,b)=input(''); fprintf('%5.1f\n',mat(a,b));
end end
end end
may=mat(1,1); end
for a=1:fil
for b=1:col fprintf('El elemento de mayor valor
if may<mat(a,b) es: %6.1f\n',may);
may=mat(a,b);
end
end
end

You might also like