Anda di halaman 1dari 16

Herramientas computacionales para la

matemática
MATLAB: Arreglos

Verónica Borja Macías

Marzo 2013

1
Matlab
Arreglos: hipermatrices

 Hasta el momento hemos estudiado la


generación de vectores y matrices, es decir,
hemos manejado un máximo de dos
dimensiones.
 Las hipermatrices son matrices que manejan
tres o más dimensiones.
 Para entender esto pondremos como ejemplo
la hipermatriz T, de 3 dimensiones.

2
Matlab
Arreglos: hipermatrices

3
Matlab
Arreglos: hipermatrices

 La representación anterior nos


sugiere que esta hipermatriz se
trata del conjunto de matrices
de iguales dimensiones una
sobre la otra.
 Los elementos de una
hipermatriz pueden ser
números, caracteres, estructuras
y vectores o matrices de celdas.

4
Matlab
Arreglos: hipermatrices

 La representación de más de 3 dimensiones se vuelve


más compleja y difícil de representar gráficamente en 2
dimensiones.
 Nuestros sentidos no están preparados para manejar
más de 3 dimensiones; sin embargo, en diversos
campos como la ingeniería siempre se tienen
problemas que requieren del manejo de n-
dimensiones.
 MATLAB, con las hipermatrices nos puede ayudar
haciendo cálculos sobre estructuras de mas de dos
dimensiones.
5
Matlab
Arreglos: creación de hipermatrices

Ejemplo
>> T(:,:,1) = [1 2 3; 4 5 6]; % definimos la primera capa
>> T(:,:,2) = [7 8 9; 10 11 12] % definimos la segunda capa
>> T(:,:,3)=[0 0 0; 0 0 6] % definimos la tercera capa
T(:,:,1) =
1 2 3
4 5 6
T(:,:,2) =
7 8 9
10 11 12
T(:,:,3) =
0 0 0
0 0 6

6
Matlab
Arreglos: creación de hipermatrices
Ejemplo
>> A(:,:,1)=[linspace(1,3,3);4 5 6] ;
>> A(:,:,2)=zeros(2,3);
>> A(:,:,3)=ones(2,3);
>> A
A(:,:,1) =
1 2 3
4 5 6
A(:,:,2) =
0 0 0
0 0 0
A(:,:,3) =
1 1 1
1 1 1
7
Matlab
Arreglos: creación de hipermatrices

 Algunas funciones para generar matrices admiten más


de dos subíndices y pueden ser utilizadas para generar
hipermatrices como rand, randn, zeros y ones.
Ejemplo
>> A=rand(2,3,3)
A(:,:,1) =
0.4898 0.6463 0.7547
0.4456 0.7094 0.2760
A(:,:,2) =
0.6797 0.1626 0.4984
0.6551 0.1190 0.9597
A(:,:,3) =
0.3404 0.2238 0.2551
0.5853 0.7513 0.5060

8
Matlab
Arreglos: creación de hipermatrices

 También se pueden emplear con hipermatrices las


funciones size y reshape entre otras.
Ejercicio
>> A=rand(2,3,3);
>> reshape(A,3,3,2)
ans(:,:,1) =
0.4898 0.7094 0.6797
0.4456 0.7547 0.6551
0.6463 0.2760 0.1626
ans(:,:,2) =
0.1190 0.3404 0.7513
0.4984 0.5853 0.2551
0.9597 0.2238 0.5060

 La función cat permite concatenar matrices según las


distintas “dimensiones”.
9
Matlab
Arreglos: creación de hipermatrices

Ejemplo
>> A = zeros (2,3); B = ones (2,3); % definimos dos matrices de las
mismas dimensiones
>> cat (1,A,B) % las concatena una debajo de la otra
ans =
0 0 0
0 0 0
1 1 1
1 1 1
>> cat (2,A,B) % las concatena una al lado de la otra
ans =
0 0 0 1 1 1
0 0 0 1 1 1

10
Matlab
Arreglos: creación de hipermatrices

Ejemplo
>> A = zeros (2,3); B = ones (2,3); % definimos dos matrices de las
mismas dimensiones
>> cat (3,A,B) % las concatena como distintas capas de una
hipermatriz
ans(:,:,1) =
0 0 0
0 0 0
ans(:,:,2) =
1 1 1
1 1 1

11
Matlab
Arreglos: creación de hipermatrices

Ejemplo
>> A = zeros (2,3); B = ones (2,3); % definimos dos matrices de las
mismas dimensiones
>> cat (3,A,B) % las concatena como distintas capas de una
hipermatriz
ans(:,:,1) =
0 0 0
0 0 0
ans(:,:,2) =
1 1 1
1 1 1

12
Matlab
Arreglos: funciones aplicadas a hipermatrices

 Las funciones que operan sobre escalares, como sin,


cos, etc., se aplican sobre hipermatrices elemento a
elemento .
 Las funciones que operan sobre vectores, como sum,
max, etc., se aplican a matrices e hipermatrices según
la primera dimensión, resultando un array de una
dimensión inferior.
 Las funciones matriciales propias del álgebra lineal,
como det, inv, etc., no se pueden aplicar a
hipermatrices, para aplicarlas habría que extraer las
matrices correspondientes.

13
Matlab
Arreglos: creación de hipermatrices

Ejemplo
>> A=rand(2,3,2)
A(:,:,1) =
0.6991 0.9593 0.1386
0.8909 0.5472 0.1493
A(:,:,2) =
0.2575 0.2543 0.2435
0.8407 0.8143 0.9293
>> sin(A)
ans(:,:,1) =
0.6435 0.8188 0.1382
0.7776 0.5203 0.1487
ans(:,:,2) =
0.2547 0.2516 0.2411
0.7451 0.7272 0.8012

14
Matlab
Arreglos: creación de hipermatrices

Ejemplo
>> A=rand(2,3,2)
A(:,:,1) =
0.6991 0.9593 0.1386
0.8909 0.5472 0.1493
A(:,:,2) =
0.2575 0.2543 0.2435
0.8407 0.8143 0.9293
>> sum(A)
ans(:,:,1) =
1.5900 1.5065 0.2879
ans(:,:,2) =
1.0982 1.0686 1.1728

15
Matlab
Arreglos: creación de hipermatrices

Ejemplo
>> A=rand(2,2,2)
A(:,:,1) =
0.3500 0.2511
0.1966 0.6160
A(:,:,2) =
0.4733 0.8308
0.3517 0.5853
>> det(A)
??? Undefined function or method 'det' for input arguments of type 'double'
and attributes 'full 3d real'.
>> det(A(:,:,1)), det(A(:,:,2))
ans =
0.1662
ans =
-0.0152
16

Anda mungkin juga menyukai