Documente Academic
Documente Profesional
Documente Cultură
LABORATORIO DE MATEMÁTICA
1. Crear la función Datos que no recibe dato de entrada ni envia dato de salida.Imprima
su informacion personal.(Nombre, Apellido,Semestre,email, Carrera, etc.)
1 f u n c t i o n Datos ( )
2 sofia
3 yumisaca
4 tercero
5 espe
>> Datos()
ans =
>>
Explicación
La función datos, no ingresa datos de entrada, sólo permite mostrar en el compilador lo que se
encuentra entre comillas simples.
2. Crear la función Cuenta que recibe dos datos de entrada(cadenas de caracteres)y
no envı́a dato de salida. El primer dato es su nombre y el segundo datos es su
apellido.La función deberá imprimir el número de letras que tiene su nombre y el
número de letras que tiene su apellido.
1 f u n c t i o n Cuenta ( a , b )
2 l=s i z e ( a )
3 m=s i z e ( b )
>> nombre=’Sofia’
nombre =
Sofia
>> apellido=’Yumisaca’
apellido =
Yumisaca
>> Cuenta(nombre,apellido)
numero_de_letras_Nombre =
numero_de_letras_Apellido =
2
Sec. 1 Ejercicios 3
Explicación
Esta es una función con dos datos de entrada, antes de determinar el numero de letras se debe
determinar el tamaño de cada dato, con el comando size(), y luego guardarlo en una nueva
variable, para que se muestre en pantalla el tamaño de cada dato ingresado, hay que tomar en
cuenta que los caracteres deben ser ingresados con comillas simples.
3. Crear la función ParImpar que tome como dato de entrada una matriz de orden NxM
Y que envı́e como dato de salida el valor cero 0 si la suma de todos los elementos de
la matriz es impar o que envı́e como dato de salida uno 1 si la suma de los elementos
de la matriz es par.
1 f u n c t i o n ParImpar (w)
2 x=sum (w) ;
3 suma=sum ( x )
4 z=mod( suma , 2 ) ;
5 y=suma / 2 ;
6 i f z==0
7 1
8 else 0
9 end
>> w=[1 2 ;4 5 ;7 8 ]
w =
1 2
4 5
7 8
>> ParImpar(w)
suma =
27
ans =
>>
Explicación
En la matriz NxM se usa el comando suma para determinar la
4. Crear una función variables, que tome como dato de entrada dos variables y que
imprima en pantalla la suma, resta, multiplicación y la división entre las variables.
Ejecute el programa usando variables simples(enteros, flotantes), vectores y matri-
ces. Agregar validaciones(IF) en los casos que sean necesarios.
1 function variables (a , b)
2 %v a r i a b l e s s i m p l e s
3 m=s i z e ( a ) ;
4 n=s i z e ( b ) ;
3
4 Programación en Matlab
5 i f 1==m( 2 )&&1==n ( 2 )
6 suma=a+b
7 r e s t a=a−b
8 m u l t i p l i c a c i o n=a ∗b
9 d i v i s i o n=a /b
10 else
11 i f m( 1 )==n ( 1 )&& m( 2 )==n ( 2 )
12 suma=a+b
13 r e s t a=a−b
14 m u l t i p l i c a c i o n=a . ∗ b
15
16 else
17 d i s p ( ’MATRICES INCOMPATIBLES ’ )
18 d i s p ( ’FAVOR INGRESAR MATRICES DEL MISMO ORDEN ’ )
19
20 end
21 end
22 %m a t r i c e s
>> a=12
a =
12
>> b=34
b =
34
>> variables(a,b)
suma =
46
resta =
-22
multiplicacion =
408
division =
0.3529
>> a=12.45
4
Sec. 1 Ejercicios 5
a =
12.4500
>> b=45.78
b =
45.7800
>> variables(a,b)
suma =
58.2300
resta =
-33.3300
multiplicacion =
569.9610
division =
0.2720
a =
1 2 3
4 5 6
7 8 9
>> b=[0 1 1; 9 8 7; 6 5 4]
b =
0 1 1
9 8 7
6 5 4
>> variables(a,b)
suma =
1 3 4
5
6 Programación en Matlab
13 13 13
13 13 13
resta =
1 1 2
-5 -3 -1
1 3 5
multiplicacion =
0 2 3
36 40 42
42 40 36
>> a=[1 2 3]
a =
1 2 3
>> b=[5 6 4]
b =
5 6 4
>> variables(a,b)
suma =
6 8 7
resta =
-4 -4 -1
multiplicacion =
5 12 12
>> a=[1 2; 3 4; 4 5]
a =
1 2
3 4
4 5
6
Sec. 1 Ejercicios 7
>> b=[1 2; 3 4; 5 6; 2 1]
b =
1 2
3 4
5 6
2 1
>> variables(a,b)
>> a=[1 2; 3 4; 5 6; 2 1]
a =
1 2
3 4
5 6
2 1
>> b=[2 3; 4 5]
b =
2 3
4 5
>> variables(a,b)
MATRICES INCOMPATIBLES
FAVOR INGRESAR MATRICES DEL MISMO ORDEN
>>
Explicación
Para este ejercicio se tomó en cuenta muchos aspectos, cuando los datos son enteros o flotantes se
realizan los cálculos sin problemas, sin embargo, cuando son vectores y matrices se debe validar
que el tamaño de estos sea el mismo, porque las operaciones no se pueden realizar si no cumplen
esta condición.
5. Manipulación de matrices
Investigue como funciona el comando mod().
Crear una matriz de orden nxm, extraer la cuarta fila de la matriz.
Crear una matriz de orden nxm, extraer la segunda columna de la matriz.
Dada la matriz de orden nxm, extraer una matriz de orden 4x4.
Dada una matriz de orden nxn cualesquiera, use los siguientes comando: suma,
prod.Escriba al menos dos ejemplos de uso.
1 f u n c t i o n e x t r a e r (w)
2 x=s i z e (w) ;
3 i f x ( 1 )>=4
4 f i l a 4 =w ( 4 , : )
5 else
7
8 Programación en Matlab
w =
1 2 3 4 5
6 7 8 9 10
9 8 7 6 5
4 3 2 1 2
>> extraer(w)
fila4 =
4 3 2 1 2
columna2 =
2
7
8
3
matriz4x4 =
1 2 3 4
6 7 8 9
9 8 7 6
4 3 2 1
MATRIZ NO CUADRADA
>> w=[1 2 3; 4 5 6; 7 8 9]
w =
8
Sec. 1 Ejercicios 9
1 2 3
4 5 6
7 8 9
>> extraer(w)
el numero de filas debe ser mayor a 3
columna2 =
2
5
8
suma =
12 15 18
producto =
28 80 162
>> w=[1 2 3 4 5; 6 7 8 9 0; 0 9 8 7 6; 5 4 3 2 1; 2 3 4 5 6]
w =
1 2 3 4 5
6 7 8 9 0
0 9 8 7 6
5 4 3 2 1
2 3 4 5 6
>> extraer(w)
fila4 =
5 4 3 2 1
columna2 =
2
7
9
4
3
matriz4x4 =
9
10 Programación en Matlab
1 2 3 4
6 7 8 9
0 9 8 7
5 4 3 2
suma =
14 25 26 27 18
producto =
>>
Explicación
Se utilizó una funcion para la extraccion de las filas y columnas que se piden, al ponerla en
una función este código sirve para cualquier tipo de matriz ingresada a través de la ventana de
comandos.
Crear una función que permita calcular la media, la varianza y la desviación
estándar de una serie de datos que están almacenados en un matriz.
1 f u n c t i o n c a l c u l a r (w)
2 l=s i z e (w)
3 d i s p ( ’ La media de l a m a t r i z e s : ’ )
4 s=sum ( sum (w) ) ;
5 Media=s / ( l ( 1 ) ∗ l ( 2 ) )
6 d i s p ( ’ La v a r i a n z a e s : ’ )
7 n=(w−Media ) . ˆ 2 ;
8 d=sum ( sum ( n ) ) ;
9 V a r i a n z a=d / ( l ( 1 ) ∗ l ( 2 ) )
10 d i s p ( ’ La d e s v i a c i o n e s t a n d a r e s : ’ )
11 D e s v i a c i o n=s q r t ( V a r i a n z a )
>> w=[1 2 3; 4 5 6]
w =
1 2 3
4 5 6
>> calcular(w)
La media de la matriz es:
Media =
3.5000
La varianza es:
10
Sec. 1 Ejercicios 11
Varianza =
2.9167
Desviacion =
1.7078
>>
Explicación
Para esta función se utilizo el dato de entrada que es una matriz de cuaquier orden, y genera los
calculos de la media, la varianza y la desviación estándar, para el cálculo de la media solamente
se aplico dos veces el comando ”sum()”para sumar todos los elementos de la matriz y dividirlo
para el número de elementos, para la varianza se aplicó la sumatoria de la diferencia de los
cuadrados de la resta entre los elementos de la matriz y la media, todo eso divido para el número
de elementos de la matriz y finalmente el cálculo de la desviación estándar que es la raı́z cuadrada
de la varianza.
6. Investigue para que sirven los siguientes comandos de Matlab. Que datos sirven
como entrada y cual es la salida o resulado que envı́a el comando.
mod()
a=[3,4,-6,7];
>> b=2;
>> c=mod(a,b)
c =
1 0 0 1
diag()
El comando diag() lo que hace es generar un vector a partir de una matriz, dicho vector
es la diagonal principal de la matriz. Los datos de entrada son solamente matrices y en la
salida entrega un vector.
N =
3 5 2 1 4 6
1 5 10 9 0 1
11
12 Programación en Matlab
4 2 7 6 5 0
3 2 9 8 5 1
5 3 1 6 2 1
3 2 1 0 6 9
>> s=diag(N)
s =
3
5
7
8
2
9
real()
Z = 2+3*i;
X = real(Z)
X =
imag()
Z = 2+5*i;
>> imag(Z)
ans =
round()
V=[4.66,3.2,6.2,7.5];
>> round(V)
12
Sec. 1 Ejercicios 13
ans =
5 3 6 8
fix()
redondea cada elemento de un vector o matriz al número entero más cercano hacia cero.
Ejecución del programa
V=[4.66,3.2,6.2,7.5];
>> fix(V)
ans =
4 3 6 7
floor()
ans =
ans =
-5
ans =
7.0000 + 2.0000i
ceil
Redondea cada elemento de una matriz al número entero más próximo mayor o igual que
ese elemento
Y =
13
14 Programación en Matlab
sign()
Este comando tiene como dato de entrada un array y como dato de salida un array del
mismo orden que el primero pero entregando lo siguiente:
D=[3,-2,0,6,-1,0];
>> sign(D)
ans =
1 -1 0 1 -1 0
log()
Devuelve el logaritmo de un numero en base natural, incluso los números negativos, usando
valor absoluto.
log(4)
ans =
1.3863
log10()
Devuelve el logaritmo de un numero en base 10, incluso los números negativos, usando valor
absoluto.
log(4)
ans =
1.3863
>> log10(-5)
ans =
14
Sec. 1 Ejercicios 15
0.6990 + 1.3644i
exp()
exp(3)
ans =
20.0855
linspace()
Devuelve un vector fila de 100 puntos uniformemente espaciados entre dos los dos datos de
ingreso. Ejecución del programa
y=linspace(-2,2)
y =
Columns 1 through 12
Columns 13 through 24
Columns 25 through 36
Columns 37 through 48
Columns 49 through 60
Columns 61 through 72
Columns 73 through 84
15
16 Programación en Matlab
Columns 85 through 96
magic()
Devuelve una matriz nxn construida a partir de los enteros 1 a n2 con sumas iguales de fila
y columna. El orden n debe ser un escalar mayor o igual a 3.
U=magic(4)
U =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
inv ()
B =
3 2 1 5
7 3 5 4
1 5 2 3
6 2 5 1
>> Y=inv(B)
Y =
>> I=Y*B
16
Sec. 1 Ejercicios 17
I =
Estos comandos devuelven los resultados de las funciones trigonométricas seno, seno inver-
tido, seno hiperbólico, coseno, coseno invertido y coseno hiperbólico, ingreso de datos en
radianes.
ans =
>> asin(x)
ans =
>> sinh(x)
ans =
>> cos(x)
ans =
>> acos(x)
ans =
>> cosh(x)
ans =
17
18 Programación en Matlab
Pruebe los comandos y pegue en su documento la corrida tal como se explicó anteriormente.
7. Dadas dos variables A y b; donde A es matriz y b vector, use el comando max(),min().
1 f u n c t i o n m a t r i z 1 (A, b )
2 x=max(A)
3 y=min ( b )
>> A=[5 4 2; 9 3 0]
A =
5 4 2
9 3 0
>> b=[9;6;5]
b =
9
6
5
>> matriz1(A,b)
x =
9 4 2
y =
>>
Explicación
El comando max() en una matriz extrae el número mayor o máximo de cada columna que lo
forma. Mientras que el comando min() extrae el menor valor o mı́nimo del vector ingresado.
8. Dada una matriz NxN agregar una columna en la posición n − 1
1 f u n c t i o n A=columna (M)
2 [ n1 n2 ]= s i z e (M) ;
3 i f n1==n2
4 v=rand ( 1 , n1 ) ;
5 M=[M’ ; v ] ’ ;
6 A=M;
7 A ( : , n2+1)=M( : , n2 ) ;
8 A ( : , n2 )=M( : , n2+1)
9 else
10 d i s p ( ’ l a m a t r i z no e s cuadrada ’ )
11 end
18
Sec. 1 Ejercicios 19
columna(S,N)
A =
1 3 5
4 7 6
9 2 1
B =
2
4
5
vec =
1 3 2 5
4 7 4 6
9 2 5 1
Explicación:
La función valida si es que la matriz ingresada tiene mas de dos columnas, luego une la matriz
con el vector, para finalmente hacer el cambio entre la ultima y la penultima posición.
9. Dada una matriz NxN agregar una fila al principio y al final de la matriz
1 f u n c t i o n a g r e g a r (w)
2 m=s i z e (w)
3 i f m( 1 )==m( 2 )
4 z=rand ( 1 ,m( 2 ) )
5 x=rand ( 1 , m( 2 ) )
6 w=[ z ; w ; x ]
7 else
8 d i s p ( ’ orden d i s t i n t o ’ )
9 end
>> w=[1 2 3; 4 5 6; 7 8 9]
w =
1 2 3
4 5 6
7 8 9
>> agregar(w)
m =
19
20 Programación en Matlab
3 3
z =
x =
w =
>>
Explicación
Para este ejercicio se usó el comando rand() para generar valores aleatorios que conformen un
vector fila, luego se reordeno la nueva matriz con los vectores filas obtenidos.
10. Investigue el o los comandos para ordenar los elementos de un vector (ascendente y
descendente).
1 f u n c t i o n m a t r i z 2 (w)
2 a s c e n d e n t e=s o r t (w)
3 d e s c e n d e n t e= f l i p l r ( a s c e n d e n t e )
w =
-11 9 1 0 -7
>> matriz2(w)
ascendente =
-11 -7 0 1 9
descendente =
9 1 0 -7 -11
20
Sec. 1 Ejercicios 21
>>
Explicación
En este ejercicio se usó el comando sort() para ordenar los elementos de un vector de forma
ascendente (de menor a mayor) y el comando fliplr() para obtener un vector con sus valores
descendentes (mayor a menor).
11. Dada una matriz NxM, ordenar ascendentemente la primera columna de la matriz.
1 f u n c t i o n or den 2 (A)
2 % A e s una m a t r i z de orden NxM
3 A
4 C=A( : , 1 ) ;
5 CORD=s o r t (C) ;
6 A( : , 1 )=CORD;
7 d i s p ( ’ Primera columna ordenada a s c e n d e n t e m e n t e ’ )
8 A
orden2(B)
A =
3 2 1 5
7 3 5 4
1 5 2 3
6 2 5 1
A =
1 2 1 5
3 3 5 4
6 5 2 3
7 2 5 1
Explicacion:
La función extrae los elementos de la matriz y los ordena ascendentemente.
12. Dada una matriz MxN, ordenar descendentemente la ultima fila de la matriz.
1 f u n c t i o n or den 3 (A)
2 % A e s una m a t r i z de MxN
3 A
4 l=s i z e (A) ;
5 F=A( l ( 1 , 1 ) , : ) ;
6 FORD= f l i p l r ( s o r t (F) ) ;
7 A( l ( 1 , 1 ) , : )=FORD;
8 d i s p ( ’ Ultima f i l a ordenada d e s c e n d e n t e m e n t e ’ )
9 A
21
22 Programación en Matlab
orden3(C)
A =
0 2 4 6
8 10 12 14
16 18 20 22
A =
0 2 4 6
8 10 12 14
22 20 18 16
Explicacion:
La función ordena la última fila en orden descendente
13. Dada una matriz NxN ordena la diagonal principal
1 f u n c t i o n d i a g o n a l (A)
2 % A e s una m a t r i z de orden MxM
3 A
4 D=d i a g (A) ;
5 d i s p ( ’ D i a g o n a l ordenada a s c e n d e n t e m e n t e ’ )
6 a s c=s o r t (D)
A =
3 2 1 5
7 3 5 4
1 5 2 3
6 2 5 1
asc =
1
2
3
3
Explicacion:
La función extrae la diagonal principal y la ordena en un vector.
22
Bibliografı́a
23