PDF de programación - Una introducción a MATLAB

Imágen de pdf Una introducción a MATLAB

Una introducción a MATLABgráfica de visualizaciones

Publicado el 29 de Octubre del 2020
810 visualizaciones desde el 29 de Octubre del 2020
520,9 KB
54 paginas
Creado hace 8a (20/01/2016)
1

Una introducción a MATLAB

PRÁCTICA NÚMERO 1

Introducción al MATLAB

Matrices y vectores

Los llamados vectores permiten almacenar colecciones de datos. Por

ejemplo

»a=[3 2 1]
define un vector fila denominado a que consta de 3 componentes. En
cada una de las componentes se almacena un número. Si hubieramos
deseado introducir un vector columna cada uno de los números tendría
que estar separado por ;

»b=[3; 2; 1]
El producto de matrices se denota por *
»C=a*b
y se comprueba que no es conmutativo
»d=b*a
En cualquier momento podemos emplear los vecores ya definidos. Por

ejemplo

»sqrt(a)
calcula la raíz cuadrada de los elementos del vector a.
Si queremos hacer operaciones aritmética +,-, * ,/ componente a

componente debemos preceder el símbolo por un punto .

»a./2
dividirá las componentes del vector a por 2.
Si se quiere referir a una componente de un vector determinado se indica
con nombrevector(posicion). Por ejemplo si queremos cambiar el valor de
la primera componente del vector a al valor 10, escribiremos:

1

|2|

CAPÍTULO 1. UNA INTRODUCCIÓN A MATLAB

»a(1)=10
Una forma de crear rápidamente un vector es con la instrucción
a:incremento:b. Genera un vector con los números comprendidos en [a, b],
iniciándose en a y espaciados la cantidad incremento. Por ejemplo

»x=0:0.1:1
Genera el vector x = [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]
Una matriz es un vector de vectores. Por ejemplo si escribimos
»B=[1 2 3; 4 5 6; 7 8 9]
Introducimos una matriz llamada B. A esta matriz (vector de vectores) le
podemos añadir nuevos vectores filas o columna. Por ejemplo si quisiéramos
añadir el vector columna b a la matriz B lo haríamos con la sentencia:

»D=[B ,b]
Si queremos añadir una nueva fila a la matriz B escribiríamos la

sentencia:

»E=[B;a]
Notar que en las dos expresiones anteriores podíamos usar el nombre del
vector o su definición explícita. Notar además que b es un vector columna y
que a es un vector fila.

Visualización 2D

En esta sección analizaremos los gráficos en 2 dimensiones. Los gráficos
en dos dimensiones más básicos consisten en unir consecutivamente un
conjunto de puntos (xi, yi). Consideremos el siguiente ejemplo

»x=[1.5 2.2 3.3 4.4 5.8 6.7 7.3 8.3];
»y=[2.5 3.4 4.3 4.4 6.8 3.7 2.3 1.3];
la sentencia siguiente dibuja consecutivamente los anteriores puntos

(x(i),y(i))

»plot (x,y)
Se puede especificar un formato a las gráficas mediante la sentencia:
»plot(x,y,’caracteres’)
’caracteres’ es un string que contiene las especificaciones del color, del

tipo de marca y del tipo de línea del dibujo. Por ejemplo

»plot(x,y,’r+-’) dibujaría la gráfica en rojo, empleando como marcas
el símbolo + y haciendo un trazo discontinuo. Estos argumentos se puede
escribir en cualquier orden.

Además si suprimimos la indicación del tipo de línea plot(x,y,’r+’) no

dibujaría la línea entre los puntos.

También se pude poner varias gráficas a la vez. Por ejemplo:
»plot(x,y,’r+-’,a,b,’r-’)
dibujaría dos gráficas, la asociada a (xi, yi) y a (ai, bi).
El comando plot también acepta como entrada una matriz en lugar de un
vector. Si denotamos X e Y dos matrices, las siguient expresión plot(x,Y)
dibujaría simultáneamente todas las columnas de Y respecto a la variable
x. Si hubieramos escrito plot(X,Y) dibujaría todas las columnas de X
con todas las columnas de Y. Si solamente recibe un argumento plot(Y)
dibujaría todos los vectores respecto a los índices, esto es, representaría una
sucesión.

|3|

Estilo de línea

línea solida
línea discontinua
línea punteada

-
-
:
-. línea punto

Marca

o círculo
* asterísco
. punto
+ más
x cruz
s cuadrado
d diamante
ˆ triángulo superior
v triángulo inferior
> triángulo derecha
< triángulo izquierda
p estrella 5 puntas
h estrella 6 puntas

Color

r rojo
g verde
b azul
c cian
m magneta
y amarillo
k negro
w blanco

Figura 1.1: Opciones del comando plot

Los mandatos LineWidth permite cambiar el grosor de la líneas, con
MarkerSize el tamaño, MarkerEdgeColor el contorno de las marcas y
MarkerFaceColor el relleno de la marca.

plot(x,y,’LineWidth’,3,’MarkerSize’,5, ’MarkerFaceColor’,’g’)
La tabla 1.2 recoge ciertas funciones para gestionar los ejes y anotaciones
de las figuras. Las tabla 1.3 muestra algunos comandos para gestionar las
ventanas de dibujo.

Hasta aquí se ha visto el mandato plot pero existen muchas otras
funciones para realizar gráficos en 2 dimensiones. La tabla 1.4 recoge alguna
de estas funciones:

Se puede hacer varios dibujos en la misma figura. Cada uno de estos
dibujos puede realizarse con una función de la tabla 1.4. Esta posibilidad es
mediante el comando
»subplot(m,n,p)
se particiona la figura de dibujo en una matriz m × n y mediante el
parámetro p se elige una de las m ∗ n celdillas. Por ejemplo subplot(4,2,7)
se refiera a la gráfica de la posición (4, 1). Si escribimos:

»subplot(2,1,1), fplot(’sin(x)’,[0, 2*pi],’-’)
»subplot(2,1,2), fplot(’cos(x)’,[0, 2*pi],’-’)
Alternativavemente a la función fplot se puede dibujar funciones
elementales a partir de la construcción de una tabla de datos. Por ejemplo
intervalor [−π, π]
si quisieramos dibujar la función y = cos(x) en el
escribiríamos:

»x=-pi:0.1:pi, ycos=cos(x), plot(x,ycos)
Las instrucciones vienen separadas por una coma. La primera instrucción
crea un vector denominado x que cuya primera componente es −π y el resto
de coordenadas van aumentando su valor en 0.1 unidades hasta sobrepasar
el valor de π. La segunda instrucción crea el vector ycos que contiene los

|4|

CAPÍTULO 1. UNA INTRODUCCIÓN A MATLAB

axis ([xmin xmax y min ymax])
axis auto
axis equal

axis on/off
grid on/off
axis square
axis tight

xlim([xmin xmax])
ylim([ymin ymax])
box off

legend(’expr1’,..,’exprn’,n)

xlabel(’texto x’,opciones)
ylabel(’texto y’,opciones)
title(’texto figura’,opciones)

text(x,y,’texto’,opciones)

límites de los ejes x e y
límites de los ejes por defecto
estandariza las unidades de los ejes x-
, y- z-
inserta/elimina los ejes
inserta/elimina una rejilla en la figura
hace una caja cuadrada de ejes
fija los ejes relativos a un conjunto de
datos
fija los límites del eje x-
fija los límites del eje y-
elimina el cuadrado que enmarca la
figura
leyenda
n
{−1, 0, 1, 2, 3, 4} cambia posición?
escribe el titulo eje x- con opciones
escribe el titulo eje y- con opciones
escribe el titulo de la figura con opcio-
nes
inserta en la posición (x,y) el texto con
opciones

figura.

=

de

la

Figura 1.2: Ejes y anotaciones

hold on
hold off

clf
close
close all
figure(n)

incluye todos los dibujos en una figura
deriva cada comando plot a figuras
diferentes
limpia la figura actual
cierra la figura
cierra todas las figuras
crea la figura n

Figura 1.3: Algunos comandos para gestionar las ventanas de figuras 2D

valores de la función coseno evaluada componente a componente en el vector
x. Finalmente dibujamos la taba de datos x,ycos.

Help

Una forma rápida de consultar las posibilidades y sintaxis de una deter-
minada función de MATLAB es utilizar la función help help NombreFuncion
(ejemplo: help plot). También se puede utilizar la interfaz gráfica para buscar
ayuda entrando en Help-Product Help.

M-Ficheros

La forma natural de trabajar con Matlab es a través de los llamados M-
ficheros. Estos ficheros contienen un conjunto de instrucciones Matlab que
se pueden invocar su ejecución desde la línea de comandos. Trabajar con
este tipo de ficheros ahorra tiempo en el desarrollo del programa definitivo,

|5|

plot
loglog
semilogx Dibujo 2D con escala logarítmica eje

Dibujo básico 2D
Dibujo 2D con escalas logarítmicas

semilogy Dibujo 2D con escala logarítmica eje

x-

y-

semilogx Dibujo 2D con escala logarítmica eje

plotyy

polar
fplot
ezplot
ezpolar
fill
area
bar
barh
hist
pie
scatter

x-
Dibujo 2D con ejes y- a la izquierda y
derecha
Dibujo 2D en coordenadas polares
Dibuja automáticamente una función
Versión sencilla de fplot
Versión sencilla de polar
Rellena un polígono
Rellena el área de una gráfica
Gráfico de barras
Gráfico de barras horizontal
Histograma
Gráfico de tarta
Gráfico de puntos

Figura 1.4: Funciones para hacer gráficos 2D

permitiendo introducir modificaciones y ejecutarlas instántaneamente. Ade-
más permiten grabar exactamente lo que se hizo y poderlo reproducir en otra
ocasión, por uno mismo o por otros compañeros. Además se pueden crear
utilidades que son reutilizables. Este tipo de ficheros son de dos tipos:

- Scripts. Son un conjunto de instrucciones que no necesitan unos datos

de entrada y operan con las variables allí contenidas.

- Funciones. En estos ficheros se introducen/devuelven datos. El resto
de datos son de uso local (interno a la función) y no son accesibles
desde el resto de los M-ficheros.

Los M-ficheros se pueden crear con cualquier editor de texto. Es
recomendable el propio editor de Matlab. Una vez creado para poderse usar
debe estar en una lista de directorios de búsqueda. Con el comando path se
puede ver el actual directorio de búsqueda. Desde la ventana se puede elegir
un directorio de búsqueda.
A continuación listamos un pequeño ejemplo de M-fichero (script) para
dibujar la función y = sen(x) e y = cos(x) en el intervalo [−π, π] y dibujadas
en dos gráficas separadas.

|6|

CAPÍTULO 1. UNA INTRODUCCIÓN A MATLAB

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

E j e m p l o
Este fichero es un script que dibuja la funcion
seno y coseno en el intervalo [-pi,pi]

d e

M f i l e

% El signo % (porcentaje) permite introducir comentarios
% Generamos valores de la variable independiente x
% en el intervalo [-pi,pi] espaciados 0.1 unidades
x=-pi:0.01:pi;
% calculamos las imagenes del seno y coseno y lo almacenamos en el
% vector yseno e ycoseno
yseno=sin(x);
ycoseno=cos(x);
% Dibujamos dos figuras.
% seno y la otra de la función coseno. Las gráficas se dibujan en
% negro, con un grosor de 2 unidades y los puntos unidos.
subplot(1,2,1),plot(x,yseno,’k-’,’LineWidth’,2)
subplot(1,2,2),plot(x,ycoseno,’k-’,’LineWidth’,2)

Una contiene la gráfica de la funci
  • Links de descarga
http://lwp-l.com/pdf18405

Comentarios de: Una introducción a MATLAB (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad