Sunteți pe pagina 1din 6

LABORATORIO DE COMUNICACIONES I

PRÁCTICA N°1
Omar del valle villa

Nombre: Introducción a Matlab.

Objetivos.
• Familiarización con el entorno de desarrollo de MATLAB (Ventana de
comandos, el help de matlab, workspace).
• Fundamentos: representación matricial de las estructuras de datos,
operaciones básicas, manejo de números complejo.
• Introducción a la programación: Manejo de archivos *.m
• Representación gráfica de datos.

Equipos y Dispositivos Utilizados.

• Computador
• Software Matlab

Desarrollo.

Entorno de matlab: Identifique zona de Comandos, directorio de trabajo.


Seleccione en el menú Help cualquiera de las siguientes opciones: demos, using
the desktop o using the command Windows para desplegar la ventana de ayuda.
También puede utilizar el function browser para utilizar la ayuda acerca de las
funciones o tecleando help help desde la ventana de comados. Una vez
desplegada la aplicación de ayuda explore los contenidos, en especial:
Development Environment, Manipulating Matrices y Graphics, estas se encuentran
en la categoría MATLAB.

En la ventana de comando ejecute los siguientes cálculos:

>>7 + 3
>>z = 5 + 7
>>y = 2 * z ;
>>s = cos(pi / 4);
>>a = sqrt(2)

El punto y coma al final de la expresión indica al intérprete de matlab que no


muestre el resultado de la operación en pantalla.

Comandos who, whos, what, clear, clc.


Utilizar los comandos who, whos para conocer las variables que se han usado
hasta el momento. Utilizar el comando what para conocer los ficheros *.m o *.mat

Si deseamos eliminar alguna variable en particular, por ejemplo la variable z se


teclea:
>> clear z

Si deseamos eliminar todas las variables, se teclea:


>>clear all

Si deseamos limpiar la pantalla de la ventana de comandos utilizamos el


comando:
>>clc

Representación matricial de las estructuras de datos


Vectores.

Vector fila.
>> vf = [0 1 2 3 4];

Vector Columna.
>> vc = [5; 6; 7; 8; 9];

Para transponer un vector se utiliza el operador ' (también es utilizado para


conjugación).
>> vt = [5; 6; 7; 8; 9] ';

Si queremos declarar un vector de elementos equiespaciados entre dos valores


dados, por ejemplo, que la primera valga 0, la última 20 y la distancia entre
elementos sea 2, escribiremos:
>>vect1 = 0 : 2 : 20

Equivalentemente, si lo que conocemos del vector es que la primer y último


elemento y que tiene un total de 11 elementos, escribiremos:
>>vect2 = linspace(0, 20, 11)

A las coordenadas de un vector se accede sin más que escribir el nombre del
vector y, entre paréntesis, su índice:
>>vect2(3)

y se pueden extraer subvectores, por ejemplo:


>>vect2(2 : 5)

se pueden aplicar las funciones matemáticas sobre los vectores, por ejemplo:
>>ss = sin(vect2)

Ejercicio 1.

a) Obtenga utilizando la función linspace, un vector de 20 elementos que


recorra el intervalo [0,2π].
b) Genere utilizando la sentencia valorinicial:paso:valorfinal, un vector
de referencia de 1000 puntos que recorra el intervalo [0,10].

Con el vector obtenido en la parte b, realice las siguientes operaciones:


c) Multiplíquelo por 2π y calcule su coseno (función cos).
d) Calcule el valor absoluto (abs) del vector resultante.

Matrices

>>m = [1 2 3; 4 5 6; 7 8 9]

Guardar la matriz en un fichero (ejemplo, salvar la matriz m en un fichero con el


nombre de matrizm):
>> save matrizm

Limpie el espacio de trabajo:


>> clear
Cargue del disco la matriz y compruebe las variables en memoria:
>> load matrizm
>> whos

Seleccione de la matriz anterior el elemento que se encuentra en la primera fila,


tercera columna. Seleccione la segunda fila. Seleccione la cuarta columna.
Seleccione la submatriz 2x2 que contiene elementos de las dos primeras filas y las
dos primeras columnas.

>> m(1, 3) % Elemento 1ª fila 3ª columna


>> m(2, :) % 2ª fila
>> m(:, 4) % 4ª columna
>> m(1:2, 1:2) % Matriz 2x2

Ejercicio 2.
a) Averiguar acerca de la funciones eye, zeros, ones y rand. Explique con
ejemplos.
b) Averiguar acerca de las funciones diag, tril, triu, size y length.
Explique con ejemplos.
Para introducir en MATLAB un número complejo se utilizan las letras i y j, por
ejemplo:
>>1 + 3*j

>>[1 1+j; -j 4+j ]

Las operaciones habituales entre arrays (suma, resta y producto escalar de


vectores; suma, resta, producto y potencia de matrices) se representan con los
operadores habituales.

Crear los siguientes arrays:


𝑣1 = [1 2 3]

𝑣2 = [3 7 9]

1 2 3
𝑚1 = [3 7 9]
1 4 8

>>v1, v2, m1 %muestra los valores de las variables

>>z1 = v1*v2' % Producto escalar (producto de matrices 1x3 por 3x1)

>>z2 = v1'*v2% Producto de matrices 3x1 por 1x3 = Matriz 3x3

>>v1*v2 % Los vectores v1 y v2 no se pueden multiplicar ¿Por qué?

>>m1^2 % Matriz m1 elevada al cuadrado

También pueden efectuarse multiplicaciones, divisiones y potencias de arrays,


entendiéndolas como elemento a elemento (como, de hecho, se realizan la suma y
la resta). El operador utilizado para ellas es el habitual precedido por un punto; es
decir:

>>v1.*v2 %Vector formado por los productos elemento a elemento.

>>v1./v2 % Vector formado por el cociente elemento a elemento.

>>m1.^2 % Matriz con los cuadrados de los elementos de m1.


puede calcularse el determinante:

>>det(m1)
Ficheros de comandos
Como se habría podido observar es bastante incómodo introducir las ordenes una
a una en la ventana de comandos, debido sobre todo, a que si nos equivocamos
en una de las ordenes tenemos que volver a imprimir la orden equivocada en el
mejor de los casos o el listado completo en el peor.
Para remediar esto lo mejor es editar un fichero que se denomina fichero m por
ser `m' la extensión de dicho fichero, en donde escribiremos las instrucciones de
nuestro programa. Esto se puede hacer con cualquier editor de textos, pero tiene
algunas ventajas usar el editor propio de MATLAB llamado medit.
Estos ficheros se crean mediante la opción New Script en el menú File de
MATLAB (en otra ocasión utilizaremos la opción New Function).
MATLAB trabaja con memoria dinámica, por lo que no es necesario declarar las
variables que se van a usar. Por esta misma razón, habrá que tener especial
cuidado y cerciorarse de que entre las variables del espacio de trabajo no hay
ninguna que se llame igual que las de nuestro programa (proveniente, por
ejemplo, de un programa previamente ejecutado en la misma sesión), porque esto
podría provocar conflictos. A menudo, es conveniente reservar memoria para las
variables (por ejemplo, si se van a utilizar matrices muy grandes); para ello, basta
con asignarles cualquier valor. Del mismo modo, si se está usando mucha
memoria, puede ser conveniente liberar parte de ella borrando (clear) variables
que no se vayan a usar más.
Un programa escrito en MATLAB admite la mayoría de las estructuras de
programación al uso y su sintaxis es bastante estándar. En los siguientes ejemplos
se muestra la sintaxis de algunas de estas estructuras (if, for, while,...).

Representación Gráfica.

Para la representación gráfica en dos dimensiones se pueden utilizar las funciones


plot, stem, loglog, semilogx y semilogy y las funciones complementarias clg,
subplot, hold, figure, grid, ginput, zoom, etc.

Ejercicio 3.

Realizar un fichero que obtenga una exponencial compleja realizando las


siguientes operaciones:

a) Obtenga utilizando la función linspace, un vector de 100 elementos que


recorra el intervalo [0, 4π].
b) Multiplíquelo por j y calcule su exponencial (función exp)
c) Calcule la parte real
d) Calcule la parte imaginaría
e) Calcule la magnitud
f) Calcule la fase
g) Calcule la energía
clear all
close all
t = linspace(0, 4*pi, 100);
n = t*j;
f = exp(n);
%parte real
realf = real(f);
figure(1)
plot(t, realf)
%parte imaginaria
imagf = imag(f);
figure(2)
plot(t, imagf)
%magnitud
absf = abs(f);
figure(3)
plot(absf)
%angulo en radianes
angf = angle(f);
figure(4)
plot(angf)

E = sum(f.*conj(f));

Ejercicio 4.

Realizar un fichero que grafique la función sen(2t2) calculada en el intervalo entre


0 y 6 con un espaciado de 0.1.
Realizar un fichero que grafique la función sen(2t2) x e-t calculada en el intervalo
entre 0 y 6 con un espaciado de 0.1.
Grafique las funciones utilizando las funciones stem, subplot y grid.

Resultados.

Conclusiones.

Referencias.
http://www.mat.ucm.es/~jair/matlab/notas.htm
http://ocw.unican.es/ciencias-experimentales/metodos-numericos/practicas-con-matlab

S-ar putea să vă placă și