Está en la página 1de 28

CAPITULO V

MATLAB
ENTRADA Y SALIDA DE INFORMACIÓN

5.1 OBJETIVOS

a) Diseñar programas sencillos, con la finalidad de comprender y analizar los pasos a seguir
para lograr una codificación adecuada para el buen funcionamiento de una aplicación.
b) Hacer uso de las sintaxis de entrada y salida de información en Matlab.
c) Conocer y aprender a trabajar con las operaciones y funciones básicas de matrices.
d) Manejar el condicional if de manera simple y anidada para dar solución a problemas simples
de programación.

5.2 BASES TEÓRICAS

5.2.1 Instrucciones de entrada y salida


Como en otros lenguajes de programación, existen en Matlab formas de recibir valores y
asignarlos a variables, y de escribir mensajes y resultados de operaciones.

5.2.1.1 Entrada de datos


input: Esta función permite imprimir un mensaje en la línea de comandos y recuperar como
valor de retorno un valor numérico o el resultado de una expresión tecleada.

La función input tiene el formato:


Instrucción para datos numéricos nombre_variable = input(‘Mensaje’)
Instrucción para expresiones nombre_variable = input(‘Mensaje’,’s’)
alfanuméricas Lo indicamos añadiendo, ’s’ dentro del input

5.2.1.2 Salida de Datos


disp: Esta función permite imprimir en pantalla un mensaje de texto o el valor de una matriz.
En realidad, disp siempre imprime vectores y/o matrices: las cadenas de caracteres son un
caso particular de vectores.

Al combinar texto con valores numéricos con la función disp, es necesario el uso de la función
num2str( ) para los valores numéricos.

num2str() Significa que se convierta la cantidad numérica a formato string (texto).

1
fprintf: Esta función muestra un mensaje o un resultado, permitiendo mezclar texto y valores
numéricos de las variables y también se puede ajustar el formato de los números

Sintaxis del comando fprintf:


fprintf ('texto %5.2f texto adicional', variable)

El signo % Indica el lugar donde se insertará el valor de la variable.


El signo - Indica justificación izquierda.
El numero 5 Nos indica el ancho de campo (El 5 es un ejemplo).
El numero 2 El número de decimales a la derecha del punto decimal
La letra: f, indica se utilizará la notación (entero. decimal) por ej: 17.09
e, indica se utilizará la notación exponencial, por ej: 1.709e+001
i, indica formato entero
g, indica formato corto
\n Después de mostrar el resultado se empiece en una nueva línea.
variable Será la variable cuyo valor se mostrará en la posición donde se
encuentre el signo de porcentaje (%).

Ejemplo:
Si escribimos en un archivo m lo siguiente:

clc
clear
nom=input('deme su nombre ','s');
x=input('Ingrese un número ');
fprintf('%s el número ingresado es %g \n',nom,x)
fprintf('%s el número ingresado es %f \n',nom,x)
fprintf('%s el número ingresado es %e \n',nom,x)
fprintf('%s el número ingresado es %i \n',nom,x)
disp([ nom,' el número que ingresaste es ',num2str(x)])

Al ejecutar el archivo m, se mostrara un mensaje en el Command Window pidiendo el


nombre y el valor de x:

deme su nombre María


Ingrese un número 315.141678

Introducimos el nombre y valor, y presionamos la tecla Intro, y aparecerá:

María el número ingresado es 315.142


María el número ingresado es 315.141678
María el número ingresado es 3.151417e+02
María el número ingresado es 3.151417e+02
María el número que ingresaste es 315.1417

2
5.2.2 Escritura de Matrices
Vectores
La matriz (array) es el tipo fundamental de dato en MatLab. La variable escalar es un caso
particular de matriz de dimensión 1×1. Los vectores son las matrices más simples: un vector
fila de m elementos es una matriz de dimensión m×1, un vector columna de n elementos es
una matriz de dimensión 1×n.
En muchos lenguajes, el primer elemento de un vector (array) tiene índice cero, en MatLab
tiene índice uno.

Para crear un vector fila se escribe sus >> r=[5 3 -5] >> r=[5,3,-5]
elementos unos a continuación de los otros r=5 3 -5 r=5 3 -5
separados por espacios o comas, y entre
paréntesis cuadrados
Para crear un vector columna se escribe los >> r=[5; 3; -5]; >> r=[5
elementos unos a continuación de los otros r= 3
separados por puntos y comas o bien, en 5 -5]
forma columna 3
5
Se puede convertir, un vector fila en vector >> r=[1,2,3]'
columna mediante el operador transpuesto' r = 1
2
3
Un vector con un espaciado >> x=3:2:15
constante Δx entre el primer x = 3 5 7 9 12 15
término, xi y el último término, xf., >> y=2:-0.2:1
se crea del siguiente modo: y = 2.0000 1.8000 1.6000 1.4000 1.2000 1.0000
Vector = xi : Δx : xf >> z=-5:3 % el espaciado por defecto es 1
y = -5 -4 -3 -2 -1 0 1 2 3

Acceso a los elementos de un vector


Cuando se crea un vector, por ejemplo, el vector x = [3, 6, 9, 12, 15, 18]; los números entre
paréntesis indican la posición que guardan los valores de los elementos del vector x.

𝑥 = [3(1), 6(2), 9(3), 12(4), 15(5), 18(6), ]

Un vector fila tiene la forma [r1r2r3 ....rn]. Para >> r=[5 3 -5];
acceder a un elemento i del vector r, ri se escribe r(i). >> r(1)
Para acceder al primer elemento se escribe r(1). Para ans =5
acceder al último se escribe r(end). >> r(end)
La función length devuelve el número de elementos ans =-5
del vector >> length(r)
ans = 3

3
Con el operador : se puede acceder a más de
un elemento del vector. Cuando se escribe >> v=[4 10 -3 7 -1 0 8 13 -7 0];
v(m:n) se accede a los elementos del vector v
desde la posición m hasta la n. Es la forma de >> u=v(3:7)
extraer un vector de otro vector. Por ej., crear
un vector u con los elementos comprendidos u= -3 7 -1 0 8
entre las posiciones 3 y 7 ambas incluidas, de
un vector v que tiene 10 elementos
Crear un vector u con los elementos de índice >> v=[4 10 -3 7 -1 0 8 13 -7 0];
par del vector v. >> u=v(2:2:end)
u = 10 7 0 13 0
Se puede también crear un vector u a partir de >> v=[4 10 -3 7 -1 0 8 13 -7 0];
otro vector de subíndices. Por ejemplo, crear >> u=v([5 1 4 8])
un vector u tomando el elemento quinto, u = -1 4 7 13
primero, cuarto y octavo elemento del vector
v, en este orden
Se pueden añadir >> v=1:4
elementos a un vector v = 1 2 3 4
de la siguiente forma: >> v(5:10)=7:3:22
v= 1 2 3 4 7 10 13 16 19 22
>> v(12)=-1
v= 1 2 3 4 7 10 13 16 19 22 0 -1

Si se sobrepasa la dimensión del vector que era 10, y se le añade el elemento de índice 12, al
elemento de índice 11 se le asigna automáticamente cero.

Crear un vector a partir de otros dos >> a=[1 2 3];


vectores, insertamos un escalar (vector de >> b=[4 5 6 7];
dimensión 1) al principio de un vector o en >> c=[a b]
medio del vector c= 1 2 3 4 5 6 7
>> d=[-1 a]
d = -1 1 2 3
>> e=[d(1:2) -5 d(3:4)]
e = -1 1 -5 2 3
Se pueden eliminar elementos de un vector e = -1 1 -5 2 3
>> e(2:4)=[]
e = -1 3

4
Operaciones con vectores
Suma de un escalar y un vector: >> x=[1,2,3];
>> x+5
ans = 6 7 8
Producto de un escalar por un vector: >> u=[1,2,3];
>> u*3
ans = 3 6 9
Calcular la raíz cuadrada de un conjunto de datos: >> x=[4 9 16 25];
>> u=sqrt(x)
u= 2 3 4 5
>> 3*u-2
ans = 4 7 10 13
Suma de dos vectores: >> u=[1,2,3];
Los vectores con el mismo número de elementos >> v=[4,5,6];
se pueden sumar o restar. >> u+v
ans = 5 7 9
Producto escalar de dos vectores: >> u = [5 6 7];
El producto escalar se obtiene multiplicando el >> v = [4 3 2];
vector fila u por el vector columna v. >> dot(u,v)
MATLAB dispone de la función dot(u,v) para ans = 52
calcular el producto escalar de dos vectores u y v. >> u*v'
ans = 52

Otras formas de crear vectores (listas Implícitas)


La función linspace(xi,xf,n) crea un vector con >> x=linspace(0,6,5)
espaciado constante indicando el primer término, xi, x = 0 1.5000 3.0000 4.5000 6.0000
el último término xf y el número de términos, n

Crear una tabla de valores de la función seno en el intervalo (0, 2π):


>> x=0:pi/5:2*pi
x =0 0.6283 1.2566 1.8850 2.5133 3.1416 3.7699 4.3982 5.0265 5.6549 6.2832
>> y=sin(x)
y =0 0.5878 0.9511 0.9511 0.5878 0.0000 -0.5878 -0.9511 -0.9511 -0.5878 -0.0000

Crear una tabla de logaritmos de la siguiente forma:


x = (1:0.1:1.5)’; %vector columna
logs= [x, log10(x)]
logs =
1.0000 0
1.1000 0.0414
1.2000 0.0792
1.3000 0.1139
1.4000 0.1461
1.5000 0.1761

5
Operaciones elemento a elemento
Existen muchas situaciones en las que se >> u=[1,2,3];
requieren operaciones elemento a elemento >> v=[4,5,6];
similar a las que se lleva a cabo con la suma o la >> u.*v
diferencia de dos vectores de las mismas ans = 4 10 18
dimensiones
En MATLAB, podemos utilizar las operaciones >> x=[0,1,-1,2,-3,4];
elemento a elemento para evaluar una función >> y=2*x.^2-3
para un conjunto de valores de la variable x y = -3 -1 -1 5 15 29

Obtener una tabla de valores de la función 𝑦 = >>x = (0.5:0.1:2)


𝑥2 >>y=x.^2./(x.^3+1)
en el intervalo (0.5, 2) tomando un
𝑥 3 +1
espaciado Δx=0.1
Obtener una tabla de valores de la función 𝑦 = >> x=-1:0.1:1;
(2𝑥 + 3)2 (𝑥 3 + 2) en el intervalo (-1,+1) >> y=((2*x+3).^2).*(x.^3+2)
tomando un espaciado Δx=0.1

Funciones que operan con vectores


mean(u): Valor medio de los elementos del sum(u): Devuelve la suma de todos los
vector u elementos del vector
>> u = [3 7 2 16]; >> u = [3 7 2 16];
>> mean(A) >> sum(u)
ans = 7 ans = 28
max(u) sort(u): Ordena los elementos del
c es el mayor elemento del vector u vector en orden ascendente
>> u = [3 7 2 16 9 5 18 13 0 4]; >> u = [3 7 2 16];
>> c = max(u) >> sort(u)
c = 18 ans = 2 3 7 16
min(u) std(u)
El más pequeño elemento del vector u Devuelve la desviación estándar
>> u = [3 7 2 16]; >> u = [3 7 2 16];
>> min(u) >> std(u)
ans = 2 ans = 6.3770
dot(u,v) Calcula el producto escalar u·v de los cross(u,v) Calcula el producto vectorial
vectores u y v u×v de los vectores u y v.
>> u = [5 6 7]; >> u = [5 6 7];
>> v = [4 3 2]; >> v = [4 3 2];
>> dot(u,v) >> cross(u,v)
ans = 52 ans = -9 18 -9

6
Suma y Producto de los elementos de un vector
La suma sum(u) de los elementos de un vector u >> s=sum(1:5)
es un escalar. La suma acumulada cumsum(u) de s = 15
un vector u es otro vector s cuyos elementos son >> fact=prod(1:5)
s(k) k=1...N fact = 120
El producto prod(u) de los elementos de un >> cumsum(1:5)
vector u es un escalar. El producto acumulado ans = 1 3 6 10 15
cumprod(u) de un vector u es otro vector p cuyos >> cumprod(1:5)
elementos son p(k) k=1...N ans = 1 2 6 24 120

Máximo y mínimo
Para obtener el máximo valor de los >> x=[0,0.38,0.71,0.92,1.00,0.92,0.71,0.38,0];
elementos de un vector >> [xmax, nmax]=max(x)
La función max nos devuelve dos datos, xmax = 1
el valor máximo xmax y el índice nmax nmax = 5
del elemento del vector que guarda el >> x(5)
máximo. Vemos que el quinto elemento ans = 1
del vector x guarda el máximo valor 1.0.

Matrices
Una matriz A de m filas y n columnas o Para acceder a un elemento situado en la fila i y en
de dimensión m×n se representa por: la columna j, Aij, se escribe A(i,j). La función size
devuelve dos números que corresponden a las
a(1,1) a(1,2) a(1,3) a(1,4) dimensiones de la matriz.
a(2,1) a(2,2) a(2,3) a(2,4)
𝐴 = [a a(3,2) a(3,3) a(3,4) ]
(3,1)
a(4,1) a(4,2) a(4,3) a(4,4)

La matriz traspuesta A' de la matriz A


consiste en intercambiar filas por a(1,1) a(2,1) a(3,1) a(4,1)
columnas: La primera columna de la a(1,2) a(2,2) a(3,2) a(4,2)
matriz A es la primera fila de la matriz 𝐴′ = [a a(2,3) a(3,3) a(4,3) ]
(1,3)
traspuesta A', la segunda columna de la a(1,4) a(2,4) a(3,4) a(4,4)
matriz A se convierte en segunda fila de
la matriz A', y así sucesivamente. La
dimensión de la matriz traspuesta A' es
n×m, es decir n filas y m columnas

7
Creación de una matriz
Se puede crear una matriz de 3×2, de dos formas distintas
>> A=[1 2 3 % de esta forma >> B=A' % B es la matriz
4 5 6]; traspuesta de A
>> A=[1 2 3; 4 5 6] % o de esta otra forma B=
A= 1 4
1 2 3 2 5
4 5 6 3 6
>> A(2,2) % elemento de la fila 2 columna 2 >> size(B)
ans = 5 ans = 3 2
>> size(A) % la matriz A (2 filas, 3 columnas)
ans = 2 3

Se puede crear una matriz a partir de >> X=[1,2,3;4,5,6]


vectores o a partir de otras matrices: X=
>> x1=[1,2,3]; %vectores fila 1 2 3
>> x2=[4,5,6]; 4 5 6
>> A=[x1;x2] >> Y=[7,8,9;10,11,12;13,14,15]
A= Y=
1 2 3 7 8 9
4 5 6 10 11 12
>> x1=[1;2;3]; %vectores columna 13 14 15
>> x2=[4;5;6]; >> A=[X;Y]
>> A=[x1,x2] A=
A= 1 2 3
1 4 4 5 6
2 5 7 8 9
3 6 10 11 12
13 14 15

La función repmat crea una matriz B B=


compuesta de la repetición de n×m copias 1 2 1 2
de A: 3 4 3 4
>> A=[1,2;3,4]; 1 2 1 2
>> B=repmat(A,3,2) 3 4 3 4
1 2 1 2
3 4 3 4

Una matriz se puede convertir en un X=


vector columna 1
>> A=[1,2,3;4,5,6]; 4
>> X=A(:) 2
5
3
6

8
Un vector se puede convertir en una matriz A=
diagonal mediante diag. 1 0 0
>> x=[1,2,3]; 0 2 0
>> A=diag(x) 0 0 3

Matrices predefinidas
 La función zeros(m,n) crea una matriz de >> y=zeros(3)
dimensión m×n cuyos elementos son todos ceros. y=
 0 0 0
 La función ones(m,n) crea una matriz de dimensión 0 0 0
m×n cuyos elementos son todos unos. 0 0 0
 >> y=zeros(3,1)
 La función eye(n) crea una matriz cuadrada de y=
dimensión n×n en la cual, los elementos de la 0
diagonal son unos y el resto de los elementos son 0
ceros, es decir, crea la matriz identidad de 0
dimensión n. >> eye(3)
 ans =
Por ejemplo, zeros(n) reserva espacio para una 1 0 0
matriz cuadrada de dimensión n×n. Lo mismo 0 1 0
ocurre con ones(n) 0 0 1

Acceso a los elementos de una matriz


Existen también varias formas de 1 2 3 4
acceder a más de un elemento de una 𝐴=[
5 6 7 8
]
matriz mediante el operador dos 9 10 11 12
puntos :. Sea la matriz A. 13 14 15 16
>> A=[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]
A=
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

A(:,2) se accede a los elementos de la A(:,end) se accede a los elementos de la última


columna 2 columna
>> A(:,2) >> A(:,end)
ans = ans =
2 4
6 8
10 12
14 16
A(3,:) se accede a los elementos de la A(1:3,2:4) se refiere a la submatriz de filas de la
fila 3 1 a la 3 y de columnas de la 2 a la 4
>> A(3,:) >> A(1:3,2:4)

9
ans = ans =
9 10 11 12 2 3 4
6 7 8
10 11 12

Crear una matriz a partir de vectores tabla =


columna, por ejemplo para crear una 0 -5
tabla de valores (abscisa, ordenada) 1 -2
de una función. Se puede calcular la 2 7
suma de valores, el valor máximo, 3 22
mínimo, etc. de cada columna: 4 43
5 70
>> x=0:5; %vector fila >> size(tabla) % matriz de 6 filas y 2 columnas
>> y=3*x.^2-5; %vector fila ans = 6 2
>> tabla=[x' y'] >> max(tabla(:,2))
ans = 70
>> min(tabla(:,2))
ans = -5
>> sum(tabla(:,2))
ans = 135

Crear una tabla de cuadrados del potencias =


número entero n, n2 y de potencias de 0 0 1
2 elevado a la n, 2n 1 1 2
2 4 4
>> n=[0:5]'; 3 9 8
>> potencias=[n n.^2 2.^n] 4 16 16
5 25 32

Operaciones con matrices


Suma de matrices de la misma dimensión

a(1,1) a(1,2) a(1,3) b(1,1) b(1,2) b(1,3)


𝐴 = [a a(2,2) a(2,3) ] 𝐵=[ ]
(2,1) b(2,1) b(2,2) b(2,3)

a(1,1) + b(1,1) a(1,2) + b(1,2) a(1,3) + b(1,3)


𝐴+𝐵 =[ ]
a(2,1) + b(2,1) a(2,2) + b(2,2) a(2,3) + b(2,3)

Producto de dos matrices


Se pueden multiplicar matrices de dimensiones (m, k) ×(k, n) para obtener una matriz de
dimensión (m, n).

10
a(1,1) a(1,2) a(1,3) b(1,1) b(1,2)
𝐴 = [a a(2,2) a(2,3) ]
(2,1) 𝐵 = [b(2,1) b(2,2) ]
b(3,1) b(3,2)

(a(1,1) b(1,1) + a(1,2) b(2,1) + a(1,3) b(3,1) ) (a(1,1) b(1,2) + a(1,2) b(2,2) + a(1,3) b(3,2) )
𝐴=[ ]
(a(2,1) b(1,1) + a(2,2) b(2,1) + a(2,3) b(3,1) ) (a(2,1) b(1,2) + a(2,2) b(2,2) + a(2,3) b(3,2) )

>> A=[1 2 3;4 5 6] >> B=[1 2; 3 4; 5 6] >> A*B


A= B= ans =
1 2 3 1 2 22 28
4 5 6 3 4 49 64
5 6

Operaciones elemento a elemento


Existen muchas situaciones en las que se requieren operaciones elemento a elemento similar
a las que se lleva a cabo con la suma o la diferencia de dos matrices de las mismas
dimensiones.
a(1,1) a(1,2) a(1,3) b(1,1) b(1,2) b(1,3) 𝑛 𝑛 𝑛
(a(1,1) ) (a(1,2) ) (a(1,3) )
𝐴 = [a(2,1) a(2,2) a(2,3) ]
𝐵 = [b(2,1) b(2,2) b(2,3) ] 𝑛 𝑛 𝑛
a(3,1) a(3,2) a(3,3) 𝐴.𝑛 = (a(2,1) ) (a(2,2) ) (a(2,3) )
b(3,1) b(3,2) b(3,3) 𝑛 𝑛 𝑛
[(a(3,1) ) (a(3,2) ) (a(3,3) ) ]

a(1,1) b(1,1) a(1,2) b(1,2) a(1,3) b(1,3) a(1,1) /b(1,1) a(1,2) /b(1,2) a(1,3) /b(1,3)
𝐴.∗ 𝐵 = [a(2,1) b(2,1) a(2,2) b(2,2) a(2,3) b(2,3) ] 𝐴./𝐵 = [a(2,1) /b(2,1) a(2,2) /b(2,2) a(2,3) /b(2,3) ]
a(3,1) b(3,1) a(3,2) b(3,2) a(3,3) b(3,3) a(3,1) /b(3,1) a(3,2) /b(3,2) a(3,3) /b(3,3)

>> A=[1,2,-4;7,0,5]; >> A.^2


>> B=[-6,12,-5;-2,16,15]; ans =
1 4 16
>> A.*B 49 0 25
ans =
-6 24 20 >> A./B
-14 0 75 ans =
-0.1667 0.1667 0.8000
-3.5000 0 0.3333

11
5.2.3 Sentencias condicionales
Una sentencia condicional es una instrucción MATLAB que permite tomar decisiones sobre si
se ejecuta un grupo de comandos que cumplen una condición o, por el contrario, omitirlos.

if-end if-else-end if-elseif-else-end

5.2.3.1 La instrucción if-end


Un enunciado if simple tiene la siguiente forma:
clc
If condición clear
Sentencias % rand produce numeros aleatorios en el intervalo (0,1)
end G=100*rand();
if G< 50
disp(G);
return % Detiene la ejecución del programa
end
disp('el número es mayor de 50')

Si la condición (una expresión lógica) es verdadera, se ejecutan las sentencias y sigue a end.

Si la comparación es falsa, el programa salta inmediatamente al enunciado que sigue a end.

12
5.2.3.2 La instrucción if-else-end

El if simple le permite ejecutar una serie de enunciados si una condición es verdadera y saltar
dichos pasos si la condición es falsa.
La cláusula else le permite ejecutar un conjunto de enunciados si la comparación es verdadera
y un conjunto diferente de enunciados si la comparación es falsa.

If condición1 clc;clear
Bloque1 x = input('Ingrese un valor para calcular su logaritmo: ') ;
else if x >0
Bloque2 y=log(x);
end fprintf('\n El logaritmo de %f es %f. \n',x,y);
else
beep
disp('La entrada a la función log debe ser positiva')
end

5.2.3.3 La instrucción if-elseif-else-end


Esta estructura incluye dos sentencias condicionales, lo que hace posible ejecutar uno de entre
tres grupos de instrucciones diferentes

clc;clear
If condición1 disp('trámite para licencia de conducir')
Bloque1 edad= input('Ingrese su edad: ') ;
elseif if edad>=0 & edad<16
Bloque2 disp('No cumple la mayoría de edad')
else elseif edad<18
Bloque3 disp('Permiso provisional para conducir')
End elseif edad<=70
disp('Licencia estándar')
else
disp('Mayores de 70 Licencia especial')
end

Se puede introducir más de una sentencia elseif y por tanto asociar nuevos grupos de
instrucciones que se ejecutarán o no dependiendo de las condiciones establecidas.

La sentencia else es opcional. Esto significa que en el caso de que haya varios elseif y ningún
else, si alguna condición de los elseif es verdadera, los comandos serán ejecutados, pero en
otro caso (si todas las condiciones de los elseif son falsas) no se ejecutan ni se realizará
ninguna operación.

13
5.3 PRE-LABORATORIO

1. Elabore un archivo m (Nombre del archivo: Carr_ClaveUnica_Pre5_1)

14
Ejecute el archivo m y debe dar una salida en la ventana Command Window similar
a la siguiente:

Y una gráfica similar a la siguiente:

15
2. Elabore un archivo m (Nombre del archivo: Carr_ClaveUnica_Pre5_2)

 Crear el vector x que contenga los números pares entre 10 y cero.

 Crear un vector y que contenga los múltiplos de 3 entre 6 y 36, ambos inclusive.

 Crear una matriz A de 3×2 y una matriz B de 2×3 con los vectores
u=[1,0,-3]; v=[4, 1,- 2];

Calcular el producto C=u.*v y cociente D=u./v (elemento a elemento).

 Sea el vector u=2:3:18; (utilizando las propiedades de los vectores)


a=Acceder a los tres primeros elementos del vector u
b=Acceder al segundo, cuarto y sexto elementos del vector u
c=Acceder al sexto, cuarto y sexto elemento del vector u
d=Acceder a los tres últimos elementos del vector u
e=Acceder al primero, tercero y cuarto elementos del vector u

 Crear dos matrices A y B. (Utilizando las propiedades de las matrices).

1 0 −6 1 3 5 7 9 11
2 0 −4 0 5 10 15 20 25
𝐵=[ ]
𝐴= 3 0 −2 10 20 30 40 50 60
4 0 0 −6 −4 −2 0 2 4
[5 0 2]

Eliminar la última fila de la matriz A.


Eliminar la tercera columna de la matriz B

16
17
Ejecute el archivo m y debe dar una salida en la ventana Command Window
similar a la siguiente:

18
3. Elabore un archivo m (Nombre del archivo: Carr_ClaveUnica_Pre5_3)

Ejecútelo para diferentes casos, sexo, F, sexo f, sexo M, sexo m, y distintos años de
ingreso a la universidad. Y analice el funcionamiento del programa.

4. Elabore un archivo m (Nombre del archivo: Carr_ClaveUnica_Pre5_4)

Ejecútelo para diferentes calificaciones, y analice el funcionamiento del programa.

19
5.4 DESARROLLO DE LA PRACTICA

Operaciones con matrices

1. Elabore un archivo m (Nombre del archivo: Carr_ClaveUnica_Dprac5_1)

 Sea la matriz
0 2 3 4 2
𝐴 = [−2 3 −1 5 1]
0 2 −4 −3 1

 Crear un vector columna B de nueve elementos que contenga los elementos de la


primera, tercera y cuarta columna.
 Crear un vector fila C de ocho elementos, que contenga los elementos de la segunda
fila y de la tercera columna.
 Crear un vector fila D de cinco elementos que contenga los dos últimos elementos de la
última columna y los tres primeros elementos de la primera fila.
 Crear una tabla de valores del coseno de los ángulos comprendidos entre 0 y 180 grados,
de 30 en 30 grados
 Dado el vector de datos u=[5, 9, 2, 4, 1, 12, 7, 6, 5, 8]; Resuelva:
 El valor máximo y el índice de dicho elemento en el vector u
 El valor mínimo y el índice de dicho elemento en el vector u
 La suma de todos los elementos
 El producto de todos los elementos
 El valor medio
 Crear un vector v a partir del u pero con los elementos ordenados en orden
ascendente, utilizando la función sort
 Y un vector w con los elementos ordenados en orden descendente.

20
Ejecute el archivo m y debe dar una salida en la ventana Command Window similar
a la siguiente:

21
22
Operaciones con Submatrices

2. Elabore un archivo m (Nombre del archivo: Carr_ClaveUnica_Dprac5_2)

 Introduzca las siguientes matrices:

2 3 2 17
𝑥 = [5 8 3 1] 𝑦 = [ 4 6 22] 𝑧=[3]
17 4 12 6

 Crea un vector A que contenga el segundo elemento del vector x.


 Crea un vector fila B que contenga los elementos de la 3ª columna de la matriz y.
 Crea un vector C que contenga los elementos de la tercera fila de la matriz y.
 Crea un vector D con los elementos de la diagonal de la matriz y.
 Crea una matriz E con los primeros tres elementos del vector x como la primera fila y
todos los elementos de la matriz y como la segunda, tercera y cuarta filas.
 Crea una matriz F con los elementos del vector z como primera columna y como
segunda, tercera y cuarta columna los elementos de la matriz y, y como última fila el
vector x.
 Crea un vector columna G, con los elementos del vector y.

Revisa que se muestren correctamente cada una de las operaciones, analizando y


comprendiendo en cada caso que es lo que se obtiene y porque.

Ejecute el archivo m y debe dar una salida en la ventana Command Window similar
a la siguiente:

23
24
3. Elabore un archivo m (Nombre del archivo: Carr_ClaveUnica_Dprac5_3)
𝝅
Dibujar las gráficas de las funciones 𝒚 = 𝒔𝒆𝒏(𝒙) y 𝒛 = 𝒔𝒆𝒏(𝒙 + 𝟑 ) en la misma figura

25
5.5 POST-LABORATORIO

1. Elabore un archivo m (Nombre del archivo: Carr_ClaveUnica_Post5_1)

 Crear una tabla de valores de la función


𝑥2 − 2
𝑦=
𝑥+4

Para los siguientes valores de x: -3, -2, -1, 0, 1, 2, 3

 Comprobar que
sin 𝑥
lim =1
𝑥→∞ 𝑥

Establecer el formato largo para expresar los números con 15 decimales (format long)
Crear un vector x cuyos elementos son 1, 0.1, 0.01, 0.001, 0.0001, 0.000001 y calcular el
cociente sin(x)/x.

 Comprobar que la suma



1
∑ =1
2𝑛
𝑛=1

Calcular la suma (a) n=10, (b) n=20, (c) n=40.


Crear el vector n, luego el vector y=1/2n, y
sumar los elementos del vector y con la función
sum de MATLAB

 Comprobar que la suma



(−3)−𝑛
√12 ∑ =𝜋
2𝑛 + 1
𝑛=0

Calcular la suma (a) n=10, (b) n=20, (c) n=40.

Regresar al formato por defecto (format short)

Ejecute el archivo m y debe dar una salida


en la ventana Command Window similar a
la siguiente:

26
2. Elabore un archivo m (Nombre del archivo: Carr_ClaveUnica_Post5_2)

Ejecute el archivo m y debe dar una salida similar a la siguiente:

27
3. Elabore un archivo m (Nombre del archivo: Carr_ClaveUnica_Post5_3)

Elabore un programa que acepte el número del año, y muestre


"PRESENTE" si el número es el año actual,
"PASADO, ya fue hace x años " si es menor o
"FUTURO, faltan x años " si es mayor.

Nota: para el cálculo del año, utilizar el comando clock visto en el ejercicio Pre5_3

4. Elabore un archivo m (Nombre del archivo: Carr_ClaveUnica_Post5_4)

Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades, si esta se le


asigna como un porcentaje de su salario mensual que depende de su antigüedad en la empresa
de acuerdo con la siguiente tabla:

tiempo utilidad
Menos de un año 5% del salario
1 año o más y menos de 2 años 7% del salario
2 años o más y menos de 5 años 10% del salario
5 año o más y menos de 10 años 15% del salario
10 años o mas 20% del salario

El programa debe pedir:


De datos de entrada el nombre y tiempo laborado en la empresa.
Y debe mostrar de datos de salida el nombre, el tiempo laborado en la empresa y porcentaje
de utilidad que le corresponde.
El programa no debe aceptar valores de años negativos.

28

También podría gustarte