Clase 2: Operaciones con matrices en Matlab

Transcripción

Clase 2: Operaciones con matrices en Matlab
Clase 2: Operaciones con matrices en Matlab
Hamilton Galindo
UP
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
1 / 37
Outline
1
Definición de matrices desde teclado
2
Operaciones con matrices
3
Tipos de datos
Datos numéricos
Datos lógicos
Caracteres y cadena de caracteres
Estructuras
Vectores o matrices de celdas
4
Variables y expresiones matriciales
5
Otras formas de definir matrices
6
Operadores relacionales
7
Operadores lógicos
8
Ejercicios
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
2 / 37
Definición de matrices desde teclado I
Las matrices y vectores son variables que tienen nombres.
Sugerencia: utilizar letras mayúsculas para matrices y letras minúsculas
para vectores y escalares.
1
Las matrices se definen por filas y se usan conchetes [...] para
definirlas.
2
vector fila: cuando los números están separados por espacios en
blanco o comas.
Vector fila
Fila = [1 2 3]
3
vector columna: cuando los números están separados por enters o
punto y coma.
Vector columna
Columna = [1; 2; 3]
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
3 / 37
Definición de matrices desde teclado II
4
Los elementos de una misma fila están separados por espacios en
blanco o comas, mientras que las filas están separadas por una
pulsación enter o por punto y coma.
Matriz
A = [Fila1 ; Fila2]
A = [1 2 3; 4 5 6]
Se obtiene:
1 2 3
A=
4 5 6
5
Cuando “el resultado de una operación” no ha sido asignado a una
variable, MATLAB utiliza un nombre de variable por defecto (ans, de
answer), que contiene el resultado de la última operación.
6
Para acceder a los elementos de un vector se coloca el nombre del
vector seguido de la ubicación entre parentesis: v(3); muestra el tercer
elemento del vector “v”.
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
4 / 37
Definición de matrices desde teclado III
7
Para una matriz: A(i,j) muestra el elemento que se encuentra en la
i-ésima fila y en la j-ésima columna de la matriz “A”.
8
Importante: las matrices se almacenan por columnas (aunque se
introduzcan por filas), entonces se puede acceder a cualquier
elemento de una matriz con un sólo subı́ndice


1 2 3
A = 4 5 6
7 8 9
A(3, 2) = A(6) = 8
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
5 / 37
Operaciones con matrices
En Matlab existe tres principales operaciones con matrices:
operadores aritméticos
operadores para la solución de sistema de ecuaciones lineales
operadores elemento a elemento
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
6 / 37
Operadores aritméticos I
Operaciones con matrices
+
*
’
ˆ
/
suma
resta
multiplicación
transpuesta
potenciación
división derecha
1
Matriz y escalar: los operadores anteriores se pueden aplicar entre
un escalar y una matriz; en este caso, la operación con el escalar se
aplica a cada uno de los elementos de la matriz.
2
División derecha: se usa para dividir por un escalar todos los
elementos de una matriz o vector.
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
7 / 37
Operadores para la solución de sistema de ecuaciones lineales I
Operaciones con matrices
1
División izquierda (\): este operador se usa para la solución de
sistema de ecuaciones lineales como el siguiente:
Ax = b
Donde, x y b son vectores columna y A es una matriz invertible.
2
La solución de este sistema se puede escribir en dos formas:
x = inv (A) ∗ b
x = A\b
3
Este operador equivale a pre-multiplicar por la inversa de la matriz.
4
Este operador es aplicable aunque la matriz no tenga inversa e incluso
no sea cuadrada, en cuyo caso la solución se obtiene por medio del
método de mı́nimos cuadrados.
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
8 / 37
Operadores para la solución de sistema de ecuaciones lineales II
Operaciones con matrices
5
Costo del operador: Matlab debe de emplear cierto tiempo en
determinar las caracterı́sticas de la matriz (triangular, simétrica, etc.).
6
También se puede usar el operador división derecha es el siguiente
caso:
xA = b
x = b ∗ inv (A)
x = A/b
7
En este caso el operador división derecha equivale a post-multiplicar
por la inversa de la matriz.
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
9 / 37
Operadores elemento a elemento
Operaciones con matrices
.*
./ y .\
.ˆ
Hamilton Galindo (UP)
producto elemento a elemento
división derecha-izquierda elemento a elemento
potenciación elemento a elemento
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
10 / 37
Tipos de datos
15 TIPOS DE DATO
Lógico
(logical)
Texto
(char)
Numérico
(numeric)
Referencia de
función
(function handle)
Enteros
Con signo
Punto
flotante
Sin signo
(int8)
<=8 bit=>
(uint8)
(int16)
<=16 bit=>
(uint16)
(int32)
<=32 bit=>
(uint32)
(int64)
<=64 bit=>
(uint64)
Hamilton Galindo (UP)
Sola
precisión
(single)
Contenedor
heterogéneo
Estructura
(struct)
Vector de celdas
(cell)
Doble
precisión
(double)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
11 / 37
Datos numéricos I
Por default Matlab almacena los valores numéricos como punto flotante
de doble precisión.
[1] Enteros:
Matlab dispone de 8 tipos de datos para números enteros: 4 con
signo y 4 sin signo.
Con signo: permite trabajar con números negativos y positivos, pero
el rango de números (positivos) que considera es limitado en
comparación con los enteros sin signo. Esto se debe a que el entero
con signo utiliza un bite para el signo.
Sin signo: utilizan un mayor rango de números que los enteros con
signo, pero esta limitado a valores positivos y al cero.
[2] Punto flotante:
Es una forma de representar los números con decimales (no enteros)
Bajo esta forma un número se representa mediante un exponente y
una mantisa
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
12 / 37
Datos numéricos II
x = 23456.789
En Matlab: x = 2.3457e+004
Donde: 2.3457 es la mantisa y “e” es la base (igual a 10).
Precisión simple (single): el formato para los números de precisión
simple es de 32 bits:
Signo Exp. con signo Mantisa
1 bit
8 bits
23 bits
Precisión doble (double): el formato para los números de precisión
doble es de 64 bits:
Signo Exp. con signo Mantisa
1 bit
11 bits
52 bits
Infinito: Matlab utiliza inf y -inf para representar el infinito positivo y
negativo.
NaN: con esta expresión Matlab representa valores que no son
números reales ni complejos. NaN significa Not a Number (no es una
número).
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
13 / 37
Datos lógicos
Los datos lógicos son aquellos que resultan de la comparación de dos
expresiones númericas o de otro tipo.
Su resultado es 1 (verdadero) o 0 (falso).
El resultado puede ser un escalar, vector o matriz.
Ejemplo
[30 40 50 60] > 40
ans=
0011
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
14 / 37
Cadena de caracteres I
1
Caracterı́sticas:
I
I
I
I
Los caracteres de una cadena se almacenan en un vector, con un
caracter por elemento.
Las cadenas de caracteres van entre apóstrofos o comillas simples
x = ‘miguel‘
Una matriz de caracteres es una matriz cuyos elementos son
caracteres, o una matriz cuyas filas son cadenas de caracteres.
z = [‘miguel‘; ‘javier‘; ‘raquel‘]
z=
miguel
javier
raquel
Donde “z” es una matriz de 3x6
Todas las filas de una matriz de caracteres debe de tener el mismo
número de elementos, las filas más cortas se completan con espacios en
blanco.
z = [‘miguel‘; ‘juan ‘; ‘raquel‘]
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
15 / 37
Cadena de caracteres II
donde se ha dejado 2 espacios en blanco en “juan”
2
Funciones para operar con cadenas de caracteres:
char(v)
char(c1,c2)
deblank(c)
disp(c)
strcmp(c1,c2)
s=[s,‘ y más‘]
Hamilton Galindo (UP)
convierte un vector de números v en una cadena de caracteres
crea una matriz de caracteres, completando con blancos las
cadenas más cortas
elimina los blancos al final de una cadena de caracteres
imprime el texto contenido en la variable c
comparación de cadenas. Si las cadenas son iguales devuelve
un uno, y si nolo son, devuelve un cero
concatena cadenas, añadiendo la segunda a continuación de
la primera
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
16 / 37
Estructuras I
1
Definición:
Es una agrupación de diferentes tipos de datos bajo un mismo
nombre. Estos datos se llaman campos (miembros). Una estructura
es un nuevo tipo de dato, del que luego se pueden crear muchas
variables (objetos).
2
Creación:
Se desea crear una estructura alumno con dos campos: nombre y
edad
I
Directa:
alumno.nombre = ‘Miguel‘
alumno.edad = 24
Se accede a los campos de una estructura por medio del operador
punto (.), que une el nombre de la estructura y el nombre del campo
(por ejemplo: alumno.nombre).
Al escribir alumno en el command windows se obtiene:
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
17 / 37
Estructuras II
>> alumno
nombre: ‘Miguel‘
edad: 24
I
3
Usando una función:
alumno = struct(‘nombre‘,‘Miguel‘,‘edad‘,24)
Vectores y matrices de estructuras:
Para crear un vector de estructuras se hace lo siguiente:
alumno(10) = struct(‘Nombre‘,‘‘,‘Edad‘,‘‘)
Esto crea un vector de 10 estructuras tipo alumno. Para acceder a
la estructura cinco se escribe alumno(5).
Para llenar el campo “nombre” de la estructura cinco:
alumno(5).nombre = Miguel
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
18 / 37
Estructuras III
4
Funciones para operar con estructuras:
fieldnames()
isfield(ST,s)
isstruct(ST)
rmfield(ST,s)
getfield(ST,s)
setfield(ST,s,v)
5
devuelve un vector de celdas con cadenas de caracteres que recogen los nombres de los campos de una
estructura
permite saber si la cadena s es un campo de una
estructura ST
permite saber si ST es o no una estructura
elimina el campo s de la estructura ST
devuelve el valor del campo especificado. Si la estructura es un array hay que pasarle los ı́ndices como
cell array (entre llaves {}) como segundo argumento
da el valor v al campo s de la estructura ST. Si la estructura es un array, hay que pasarle los ı́ndices como
cell array (entre llaves {}) como segundo argumento
Estructuras anidadas:
Una estructura anidada es una estructura con campos que son otras
estructuras.
clase=struct(’curso’,’primero’,’grupo’,‘A’,‘alumno’,
struct(‘nombre’,’Juan’, ‘edad’, 19))
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
19 / 37
Estructuras IV
Para acceder a los campos de la estructura más interna se utiliza dos
veces el operador punto (.), como puede verse en el ejemplo, en el que
la estructura clase contiene un campo que es una estructura alumno.
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
20 / 37
Vectores o matrices de celdas I
Cell Arrays
1
Definición:
Es un vector (matriz) cuyos elementos son cada uno de ellos una
variable de cualquier tipo. En un vector de celdas, el primer elemento
puede ser un número, el segundo una matriz, el tercero una
estructura, etc.
2
Creación:
Un vector de celdas se crea usando llaves {}. Es importante que el
nombre del vector de celda no haya sido utilizado anteriormente por
otra variable, sino Matlab arroja un error.
Ejemplo: a continuación se crea el vector de celda “vc”.
I
I
I
Primer elemento: un vector
vc(1) = {[1 2 3]} o vc{1} = [1 2 3]
Segundo elemento: un cadena de caracteres
vc(2) = {‘mi nombre’} o vc{2} = ‘mi nombre’
Tercer elemento: una matriz
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
21 / 37
Vectores o matrices de celdas II
Cell Arrays
vc(3) = {eye(3)} o vc{3} = eye(3)
Tambien se puede crear “vc” de forma directa:
vc = { [1 2 3] ‘mi nombre‘ eye(3)}
3
Funciones para operar con vectores (matrices) de celdas:
MATLAB dispone de las siguientes funciones para trabajar con cell
arrays (ca):
cell(m,n)
crea un cell array vacı́o de m filas y n columnas
celldisp(ca)
muestra el contenido de todas las celdas de ca
cellplot(ca)
muestra una representación gráfica de las distintas
celdas
iscell(ca)
indica si ca es un vector de celdas
num2cell()
convierte un array numérico en un cell array
cell2struct() convierte un cell array en una estructura
struct2cell() convierte una estructura en un cell array
4
Conversión entre estructuras y vectores de celdas:
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
22 / 37
Vectores o matrices de celdas III
Cell Arrays
I
−
De vector de celdas →
a estructura:
F
Sea el vector de celda “vc”:
F
vc = {[1 2 3], ‘Juan‘, eye(3)}
El cual retorna un vector vc de 1x3
La función de conversión:
st = cell2struct(vc,{‘vector‘,‘nombre‘,‘matriz‘},2)
Donde: el número 2 indica que es la segunda dimensión del cell array la
que va a dar origen a los campos de la estructura.
I
−
De estructura →
a vector de celdas:
Se usa la siguiente función de conversión
vvc = struct2cell(st)
Se transpone para obtener una fila
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
23 / 37
Variables y expresiones matriciales I
Variable
Una variable es un nombre que se da a una entidad numérica (matriz,
vector o escalar).
1
2
La forma normal de cambiar el valor de una variable es colocandola a
la izquierda del operador de asignación (=)
Si una expresión termina en punto y coma su resultado se calcula,
pero no se escribe en pantalla. Esto es importante por:
I
I
Evita la escritura de resultados intermedios
Evita la impresión en pantalla de grandes cantidades de números
cuando se trabaja con matrices de gran tamaño.
3
Si se desea que una expresión continue despues de colocar enter, se
debe de colocar tres puntos “...” antes de pulsar enter.
4
Matlab distingue entre mayúsculas y minúsculas en los nombres de las
variables.
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
24 / 37
Variables y expresiones matriciales II
5
Los nombres de las variables siempre debe de empezar con una letra y
pueden constar de hasta 63 letras y números.
6
El caracter guión bajo ( ) se considera como una letra.
7
Comando Who y Whos
Ambos permiten obtener la relación de variables que se
está utilizando. Whos proporciona mayor información (tamaño,
cantidad de memoria ocupada y el carácter real o complejo de cada
variable).
8
Comando Clear
clear
clear
clear
clear
clear
global
A,b
functions
all
Hamilton Galindo (UP)
elimina todas las variables creadas previamente (excepto las
variables globales).
borra las variables globales.
borra las variables indicadas.
borra las funciones.
borra todas las variables, incluyendo las globales y las funciones.
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
25 / 37
Otras formas de definir matrices I
1
Matrices predefinidas
I
I
I
I
I
I
I
I
I
I
eye(n): matriz identidad de tamaño n
zeros(n,m): matriz de ceros de tamaño nxm
zeros(n): matriz cuadrada (nxn) de ceros
ones(n): matriz cuadrada (nxn) cuyos elementos son 1
ones(n,m): matriz nxm cuyos elementos son 1
rand(n): matriz cuadrada (nxn) de números aleatorios entre 0 y 1, con
distribución uniforme
rand(n,m): matriz nxm de números aleatorios entre 0 y 1, con
distribución uniforme
randn(n): matriz cuadrada (nxn) de números aleatorios, con
distribución normal de valor medio 0 y varianza 1
magic(n): matriz cuadrada (nxn) cuyos elementos son 1,2,3...nxn; con
la propiedad de que todas las filas y columnas suman lo mismo
kron(n,m): produce una matriz que se obtiene del producto Kronecker
de n y m
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
26 / 37
Otras formas de definir matrices II
2
Formación de matrices a partir de otras
Sea la matriz A de orden nxm y el vector kx1, en base a ella en
Matlab se pueden contruir otras matrices:
I
I
I
I
I
I
[n, m] = size(A); devuelve el número de filas y columnas de la matriz A
size(A,1): indica el número de filas de la matriz A
size(A,2): indica el número de columnas de la matriz A
n = lenght(x); devuelve el número de elementos de una vector x
B = diag(x); forma una matriz diagonal B con los elementos del vector
x
y = diag(A); forma un vector y con los elementos de la diagonal de la
matriz A
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
27 / 37
Otras formas de definir matrices III
I
Concatenación de matrices: concatenar matrices es el proceso de
unir una o más matrices para crear una nueva.
Concatenación horizontal
Sea A una matriz 2x2 y B 2x5, entonces:
C = [A B]
“C” será una matriz de 2x7 (notar que A y B tienen el mismo número de filas)
Concatenación vertical
Sea A una matriz 2x5 y B 4x5, entonces:
C = [A; B]
“C” será una matriz de 6x5 (notar que A y B tienen el mismo número de
columnas)
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
28 / 37
Otras formas de definir matrices IV
Ejemplo:
A = rand(3)
B = diag(diag(A))
C = [A, eye(3); B, zeros(3)]
Esta matriz “C” 6x6 se forma por composición de 4 matrices de 3x3. Donde las
filas se han separado por “;” y los elementos de cada fila por “,”
3
Extraer elementos de una matriz y vector a partir de vectores
I
Vectores para filas y columnas
F
F
F
vector para filas: a = [1 3 5], fila 1,3 y 5
vector para columnas: b = [1 2], columna 1 y
Sea la matriz: A = magic(6)

35 1
6 26 19
 3 32 7 21 23

31 9
2 22 27

 8 28 33 17 10

30 5 34 12 14
4 36 29 13 18
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
2

24
25

20

15

16
11
Marzo 2014
29 / 37
Otras formas de definir matrices V
F
A(a,b) nos dará:

35
31
30
I
Un solo vector
F
F
F
F
F
I
Dado que los elementos de una matriz estan numerados de arriba hacia
abajo
Se puede obtener elementos particulares de la matriz por medio de un
vector que indique la posición de dichos elementos
A = magic(6), por tanto a tiene 36 elementos
Sea c = [1 3 14]
A(c), nos dará en un vector el elemento A(1), A(3) y A(14)
Utilizando corchetes [] directamente
F
A([1 2 4],[2 3])

32
28
5
4

1
9
5

7
33
34
Operador dos puntos (:)
I
Produce vector fila o columna
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
30 / 37
Otras formas de definir matrices VI
F
F
I
Extrae elementos de una matriz
F
F
F
F
5
Sea x=a:n:b, este comando produce un vector fila iniciando en “a” y
terminando en “b”. El parámetro “n” indica el incremento (positivo o
negativo)
Ejemplo:
x=1:2:10
Crea el vector:
x = 1 3 5 7 9
Sea la matriz A = magic(6)
Extraer los 4 primeros elementos de la 5ta fila:
x = A(1:4,5)
Extraer todos los elementos (:) de la 3era fila:
x = A(3,:)
Extraer la última fila (end) de matriz A:
x = A(end,:)
Matriz vacia (borrado de filas o columnas)
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
31 / 37
Otras formas de definir matrices VII
I
I
Para Matlab una matriz definida sin ningún elemento entre los
corchetes es una matriz que existe pero que está vacı́a; es decir, tiene
dimensión cero.
Utilidad:
A = magic(3)

8
3
4
1
5
9

6
7
2
Sea: A(:,3) = []
Esto eliminará la tercera columna de A:


8 1
3 5
4 9
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
32 / 37
Operadores relacionales I
Operadores relacionales
Matlab dispone de los siguientes operadores relacionales:
<
>
<=
>=
==
∼=
menor que
mayor que
menor o igual que
mayor o igual que
igual que
distinto que
1
En Matlab los operadores relacionales se pueden aplicar a vectores y
matrices.
2
Si una comparación se cumple el resultado es 1 (true), mientras que
si no se cumple es 0 (false).
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
33 / 37
Operadores relacionales II
3
Cuando estos operadores se aplican a vectores y matrices del mismo
tamaño, la comparación se realiza elemento a elemento, y el resultado
es otra matriz de unos y ceros del mismo tamaño.
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
34 / 37
Operadores lógicos
Operadores lógicos
Los operadores lógicos de Matlab son los siguientes:
&
&&
|
||
∼
and (función equivalente: and(A,B)). Se evalúan siempre
and breve: si el primer operando es false ya no se evalúa
el segundo, pues el resultado final ya no puede ser más
que false.
or (función equivalente: or(A,B)). Se evalúan siempre
ambos operandos, y el resultado es false sólo si ambos
son false.
or breve: si el primer operando es true ya no se evalúa
el segundo, pues el resultado final no puede ser más que
true.
negación lógica (función equivalente: not(A))
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
35 / 37
Ejercicios I
1
Crear las siguientes matrices:
I
I
I
I
I
I
A = matriz identidad 5x5
B = matriz 5x4 cuyos elementos son unos
C = matriz 4x5 de números aleatorios entre 0 y 1 con distribución
uniforme
D = matriz 4x4 de números aleatorios con distribución normal (media
0 y varianza 4)
E = matriz que contiene a “B” y “D”
F = matriz inversa de “D”
2
Crear el vector de celda con nombre “encabezado” y que contenga:
nombre1, nombre2,...,nombre4
3
Convierta la matriz F en una matriz de celda y llamela “G”
4
Concatenar G y “nombre” en una sola matriz llamada “Datos”
Concatenar “C” y “D” en una matriz llamada “M”
5
I
I
Extraer las filas 1,3 y 4 de M
Extraer las columnas 2,5 y 7 de M
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
36 / 37
Ejercicios II
I
I
Construya una nueva matriz cuyos elementos esten determinados por
las filas 1,2,3 y por las columnas 3,7,8,9 de M
Construya una matriz que contenga las 3 primeras filas y 5 primeras
columnas de M
6
Construya un vector fila (“x”) cuyos elementos sean números
consecutivos del 1 al 100
7
Construya un vector columna (“y”) cuyos elementos sean números
que descienden de 2 en 2 desde el 200 hasta el 10
8
Eliminar desde la columna 12 a la última del vector x
9
Crear una estructura (Alumno) con tres campos (nombre,edad,nota)
Hamilton Galindo (UP)
Clase 2: Operaciones con matrices en Matlab
Marzo 2014
37 / 37

Documentos relacionados