Universidad Nacional de Tucumán FACULTAD DE ......Prom = (N1+N2+N3)/3 Escribir Prom Prom...
Transcript of Universidad Nacional de Tucumán FACULTAD DE ......Prom = (N1+N2+N3)/3 Escribir Prom Prom...
-
Universidad Nacional de Tucumán
FACULTAD DE CIENCIAS EXACTAS
Y TECNOLOGIA
http://www.unt.edu.ar/http://www.unt.edu.ar/
-
SCRIPT * m-FILES * ARCHIVOS-m
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
Scripts (m-files) son archivos de texto con código Matlab para la ejecución en forma secuencial de comandos.
Tienen extensión .m, por ejemplo
nombre.m
-
SCRIPT * m-FILES * ARCHIVOS-m
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
Las Scripts (m-files)
pueden crearse con
cualquier editor de
texto, pero Matlab tiene
su propio editor, como
en los compiladores fortran, C,
etc.
-
SCRIPT * m-FILES * ARCHIVOS-m
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
Barra de menúsBarra de Herramientas
Coloreado automático
Barra de stastus
Editor de múltiples archivos
Ubicación del cursor
Indentanción automática
-
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
ELEMENTOS DE UN PROGRAMA
Un algoritmo consta dedatos y de sentencias
DATOS
Se almacenan en variables y constantes yse involucran en operaciones
SENTENCIAS
Describen las acciones que deben serejecutadas (cálculos, entradas/salidas ycontrol de flujo del algoritmo)
DATOS DE ENTRADA PROCESO
DATOS DE SALIDA
-
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
EJEMPLO DE PROGRAMA
Algoritmo para calcular elpromedio de 3 calificaciones
DATOS DE ENTRADA
PROCESO
DATOS DE SALIDA
N1, N2, N3
Leer N1, N2, N3Prom = (N1+N2+N3)/3Escribir Prom
Prom
-
PROGRAMACIÓN EN MATLAB
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
Estructuras de MATLAB para generar programas
Lazo WHILE
Estructuras IF – ELSE
Lazo FOR
Estructura SWITCH
-
PROGRAMACIÓN EN MATLAB
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA Estructuras IF – ELSE
Existen tres posibilidades para esta estructura condicional
ESTRUCTURA IF SIMPLE
Condicion
Sentencias
Cierta
Falsa
if condición lógica
sentencias si la
condición es cierta
......
end
-
Condicion
Sentencias
Cierta
Falsa
Sentencias
PROGRAMACIÓN EN MATLAB
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA Estructuras IF – ELSE
ESTRUCTURA IF CON ALTERNATIVA
if condición lógica
sentencias si la
condición es cierta
......
else
sentencias si la
condición es falsa
......
end
-
Condicion
Sentencias
Cierta
Falsa
Sentencias
Condicion
Sentencias
Falsa
Cierta
PROGRAMACIÓN EN MATLABM
AG
IST
ER
EN
ME
TO
DO
S N
UM
ER
ICO
S Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
Estructuras IF – ELSE
ESTRUCTURA IF CON ALTERNATIVAS MULTIPLES
if condición lógica 1
sentencias si la
condición 1 es cierta
......
elseif condición lógica 2
sentencias si la
condición 2 es cierta
......
else
sentencias si las demás
condiciones son falsas
......
end
Si no existe, significa que no se hace nada en caso de que no se cumplan las otras condiciones
-
PROGRAMACIÓN EN MATLAB
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
Estructura SWITCH
switch expresion
case caso1,
Sentencias si
expresion = caso1
case {caso2, caso3, ...}
Sentencias si
expresion = caso2 o caso3
o ...
otherwise,
Sentencias si expresión no
no es igual a ninguno de
los anteriores
end
Debe dar como resultado un escalar o una
tira de caracteres
-
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
PROGRAMACIÓN EN MATLAB
Estructura SWITCH
Estructuras IF – ELSE
-
PROGRAMACIÓN EN MATLAB
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
for var = expresion
Sentencias
para todos los
valores de var
endSirve para determinar el
número de veces y el valor que asumirá la variable var en cada ejecucion de las
sentencias
Lazo FOR
El lazo FOR repite un grupo de sentencias un número prefijado de veces.
-
PROGRAMACIÓN EN MATLAB
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
Lazo FOREjemplos
for i = 1:n
sentencias
end
for i = vectorValores
sentencias
end
for i = n:-0.2:1
sentencias
end
for i = 1:m
for j = 1:n
sentencias
end
end
-
Condición
Sentencias
Cierta
Falsa
PROGRAMACIÓN EN MATLAB
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
while condición lógica
sentencias que se
ejecutan si la
condición es cierta
......
end
Lazo WHILE
-
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
PROGRAMACIÓN EN MATLAB
Sentencia CONTINUE
Hace que se pase inmediatamente a la siguiente iteración en un lazo for o while
Sentencia BREAK
Termina la ejecución de un
lazo for o while
»a = 0; fa = 8;
»b = 3; fb = -4;
»while b-a > eps + b
» x = (a+b)/2;
» fx = x^3 - 5x^2 + 2x + 8;
» if fx == 0
» break
» elseif sign(fx)== sign(fa)
» a = x; fa = fx;
» else
» b = x; fb = fx;
» continue
» end
» fy = fx-0.8*x;
»end
»x = 2.8*fy;
-
input: Imprime un mensaje en la línea de comandos y recupera como valor de retorno un valor numérico o el resultado de una expresión tecleada por el usuario
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
PROGRAMACIÓN EN MATLAB
disp: imprime en pantalla un mensaje de texto o el valor de una matriz, pero sin imprimir su nombre
Lectura y Escritura interactiva de variables
-
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
PROGRAMACIÓN EN MATLAB
Archivos BinariosINPUT/OUTPUT
fopen: abre un archivo para lectura y/o escritura
fclose: cierra uno o más archivos
fread: lee desde un archivo datos binarios
fwrite: escribe datos binarios en un archivo
» fid= fopen('mydata.bin' , 'w');
» fwrite (fid,eye(5) , 'int32');
» fclose (fid);
» fid= fopen('mydata.bin' , 'r');
» M= fread(fid, [5 5], 'int32')
» fclose (fid);
-
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
PROGRAMACIÓN EN MATLAB
Archivos Binarios o noINPUT/OUTPUT
save: guarda variables del workspace (formato binario de Matlab o texto ascii)
load: carga variables en el workspace desde unarchivo binario de Matlab o texto ascii
» load misdatos
» load ‘tusdatos.txt’ -ascii;
» save 'indices.sal' SVn SV -ascii
» save
-
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
PROGRAMACIÓN EN MATLAB
ArchivosINPUT/OUTPUT
ALMACENAMIENTO
EN
ARCHIVOS
PROGRAMA
EN EJECUCIONWORKSPACE
Datos
fwrite
fread
save
load
sentencias
-
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
PROGRAMACIÓN EN MATLAB
FORMATEO DE LAS SALIDAS
fprintf: dirige su salida a un fichero (o pantalla)con un formato establecido
fprintf(fi,’tira de caracteres’,var1, var2, ...)
Identificador del archivo Texto y formato de los datos Variables
» fprintf(fi,’alpha = %f6.3n\’,alpha2)
» fprintf(’Iteracion = %d3n\’,iter)
-
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
PROGRAMACIÓN EN MATLAB
PARA TENER EN CUENTA
Antes de programar, se debe tener en claro que es lo que se pretende con el programa (Objetivo)
Recuerde lo que le enseñaban en la escuela cuando debian redactar un cuento (presentación, nudo y deselace). Cuando programe, primero vea como intorduce los datos, luego analice la secuencia de operaciones y el deselace es la forma en la que presenta los resultados.
Documente ampliamente sus programas. Siempre empiece dicendo que es lo que hace el programa, que entradas tiene y que resultados proprociona.
Los comentarios de inicio estan disponibles a traves del help contextual
-
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
PROGRAMACIÓN EN MATLABPrograma en un
lenguaje de alto nivel
COMPILACION LINK
Programa en código fuente
Programa en lenguaje de
máquina EJECUCION(RUN)
Programa ejecutable
Datos
Resultados
COMPILACION LINK
Programa en código fuente
Programa en lenguaje de
máquina EJECUCION(RUN)
Programa ejecutable
Datos
Resultados
Programa que corre en Matlab
-
FUNCIONES
Toda función tiene:- nombre- valores de retorno (pueden no existir)- argumentos (pueden no existir)
Los valores de retorno pueden ser matrices
Número variable de argumentos y de valores de retorno
Para crear una funcion se debe generar un archivo especial. Las variables de un archivode función son locales.
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
-
FUNCIONES
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA Para usar la función “func”:
y = func(x1,x2, …, xN)
[y1, y2, …, yM] = func(x1,x2, …, xN)
Para crear la función “func” hay queescribir el archivo func.m que empiezacon la sentencia function:
function y = func(x1,x2, …, xN)
function [y1,y2, …,yM] = func(x1,x2, …,xN)
-
FUNCIONES
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA function salida=nombre_funcion(entrada)
% Explicación de lo que la función
sentencias
sentencias
Salida = valor a retornar;
function [s1,..,sn]=nombre_funcion(e1,..,em)
% Explicación de lo que la función
sentencias
sentencias
s1 = valor a retornar;
...
sn = valor a retornar;
Guardar en un archivo con el nombre de la
función y extensión .m
¡OJO!
-
FUNCIONES
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
function Vol = VolCon(D,h)
% Función para calcular el volumen de un
% cono. Argumentos: D (diámetro) y h (altura)
Vol = pi*D^2/4*h/3; Archivo VolCon.m
Como se crea:
Como se usa:
Sentencia
Volumen = VolCon(Diametro,altura);
Sentencia
Dentro de un programa
>>
>> VolCon(D,1.8);
ans =
2.783
>>
En ventana de comandos
-
FUNCIONES
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
PROGRAMA PRINCIPAL
QUE USA
FUNCION VolCon
Workspace
FUNCION VolCon
Workspace Local
Acceso a las variables del
programa principal a través de
Matlab en forma directa
Solo se accede a las
variable locales a
través el Debugger
La sentencia global permite asociar variables de distintos espacios de trabajo.
Las variables declaradas persistent mantienen los valores en los espacios de trabajo locales
-
TIPOS DE FUNCIONES
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA INTRÍNSECAS DE MATLABIncorporadas en el propio código del programa. Rápidas y eficientes. Ejemplo: exp, atan, sin, etc
DE LA BIBLIOTECA DE MATLABFunciones definidas en archivos *.m o *.mex que vienen con el programa y sus toolboxes.Ejemplo: bode, lu, svd, etc.
DEFINIDAS POR EL USUARIOGeneradas en archivos *.m o *.mex.Ejemplo: VolCon (archivo VolCon.m)
-
>> x=round(11*rand(1,10))
x =
2 9 7 9 7 1 2 1 5 1
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
EJEMPLOS DE FUNCIONES
>> maximo=max(x)
maximo =
9
>> [maximo, posicion] = max(x)
maximo =
9
posicion =
2
>> max(x)
ans =
9
-
Los nombres de las funciones no son palabras reservadas en Matlab. El usuario puede definir su propia función max o sin o cos, pero...
Los argumentos pueden ser expresiones y llamadas a otra función:
>> sin(cos([0:0.1:100]*2*pi))
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
FUNCIONES ¡OJO!
-
FUNCIONES DE LA BIBIOTECA DE MATLAB
Matemáticas elementalesEspecialesMatricialeselementalesespecíficasFactorizaciónEstadística
Análisis polinomiosIntegración ecuaciones diferencialesResolución ecuacionesOptimizaciónIntegración numéricaProcesado de señal
...
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
-
FUNCIONES MATEMÁTICAS(intrínsecas)
» 1+sin(pi/6)/(2+cos(pi/12))
ans =
1.1686
»
sqrt(1+tan(pi/12)/(1+sin(pi/2)))
ans =
1.0649
» a=15.3;
» b=12;
» teta1=tan(b/a)^-1
teta1 =
1.0022
» teta2=1/tan(b/a)
teta2 =
1.0022
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
-
> log(100)
ans =
4.6052
>> log10(100)
ans =
2
>> exp(4.6052)
ans =
100.0030
>> z=3+4j
z =
3.0000 + 4.0000i
>> real(z)
ans =
3
>> imag(z)
ans =
4
>> abs(z)
ans =
5
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
FUNCIONES MATEMÁTICAS(intrínsecas)
-
a =
8 6 9 2
4 8 7 4
>> sin(a)
ans =
0.9894 -0.2794 0.4121 0.9093
-0.7568 0.9894 0.6570 -0.7568
>> b=fix(rand(3,4)*100)
b =
99 23 35 44
18 51 18 74
31 50 88 60
Las operaciones elementales
trabajan tanto con escalares
como con matrices
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
FUNCIONES MATEMÁTICAS
-
FUNCIONES Entrada/Salida
» nfilas=input('Nro de filas: ')
Nro de filas: 3
nfilas =
3
» matriz=input('Introduce matriz: ')
Introduce matriz: [1 2 3; 4 5 6]
matriz =
1 2 3
4 5 6
» 'hola'
ans =
hola
» display('Hola');
ans =
Hola
» disp('Hola');
HolaMA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
inputdisplaydisp
-
FUNCIONES MATEMÁTICAS ELEMENTALES
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
sin(x), cos(x), tan(x), asin(x), acos(x),
atan(x), log(x), log10(x), exp(x), sqrt(x),
sign(x), rem(x,y), mod(x,y), real(x), imag(x),
abs(x), angle(x), etc.
Funciones que operan de modo escalar
min(x), sum(x), cumsum(x), mean(x), std(x),
cumprod(x), [y,i]=sort(x)
Funciones que actúan sobre vectores
-
FUNCIONES QUE ACTÚAN SOBRE MATRICES
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
B = A’
B = A.’
v = poly(A)
t = trace(A)
[m,n] = size(A)
n = size(A)
nf = size(A,1)
nc = size(A,2)
Funciones matriciales elementales
sqrtm(A)
Devuelve una matriz que multiplicada por sí misma da la matriz
Alogm()
Es la recíproca de expm
Funciones matriciales especiales
-
FUNCIONES PARA CÁLCULOS CON POLINOMIOS
106x8xxP(x) 24
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
En esencia un polinomio es tratado como un vector fila.
El primer elemento del vector es el coeficiente del término que define el grado del polinomio.
El último elemento es el término independiente del polinomio.
-
FUNCIONES PARA CÁLCULOS CON POLINOMIOS
106x8xxP(x) 24
Definición de polinomios
Cálculo de raíces
Evaluación
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
-
Los identificadores de función (function handles)constituyen un mecanismo para referirse a un nombrede función. El principal uso es pasar a una función elnombre de otra función, junto con sus argumentos,para que la pueda ejecutar.
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
IDENTIFICADOR DE FUNCIONES
EjemploLa función quad es genérica, calcula, mediante métodosnuméricos, integrales definidas. Para que pueda calcular laintegral hay que proporcionarle la función a integrar. Porejemplo, cálculo de la integral entre 0 y π de la funciónseno(x):
Ahora fh es una variable que se identifica con la función seno.También podría haberse llamado directamente:
fh = @sin; area=quad(fh,0,pi);
area=quad(@sin,0,pi);
-
Una función anónima es una función que se almacenadentro de un archivo. Las funciones anónimas puedenaceptar entradas y salidas de retorno, tal como lohacen las funciones estándar. Sin embargo, solopueden contener una sola línea como instrucciónejecutable.
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
FUNCIONES ANÓNIMAS
>> sqr = @(x) x.^2;
>> a = sqr(4)
a =
16
>> b = sqr([1 2 3])
b =
1 4 9
Ejemplo
Crear un identificador para una función anónima que encuentre el cuadrado de un número:
-
OTROS TIPOS DE DATOS
Conjuntos o cadenas de caracteres
Hipermatrices
Estructuras
Vectores o matrices de celda
Matrices dispersas
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
-
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
GRAFICOS EN MATLAB
-
¿Cómo se crea un gráfico?
>> x = 0:pi/100:2*pi;
>> y = sin(x);
>> plot(x,y)
GRAFICOS EN MATLAB
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
Se abre una ventana
(Figure 1)
-
>> x = 0:pi/100:2*pi;
>> y = sin(x);
>> y2 = sin(x -.25);
>> y3 = sin(x -.5);
>> plot(x,y,x,y2,x,y3)
>> legend('sin(x)','sin(x-.25)','sin(x-.5)')
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
Con varios grupos de
datos
GRAFICOS EN MATLAB
-
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
Estilo de lineas,
colores y marcadores
GRAFICOS EN MATLAB
>> x2 = 0:pi/10:2*pi;
>> x1 = 0:pi/100:2*pi;
>> plot(x1, sin(x1),'r:',x2,sin(x2),‘b+')
-
>> x= 0:pi/100:2*pi;
>> y1=sin(x);
>> y2=cos(x);
>> figure(1)
>> plot(x, y1,'b')
>> figure(2)
>> plot(x, y2,'m')
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
Gráficos múltiples
GRAFICOS EN MATLAB
¿Qué pasa si se ejecuta el comando close all?
-
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
Gráficos múltiples
GRAFICOS EN MATLAB
>> close all
>> subplot(2,2,1);
>> plot(x, y1,'r')
>> subplot(2,2,2);
>> plot(x, y2,'b')
>> subplot(2,2,3);
>> plot(x, y1,'g')
>> subplot(2,2,4);
>> plot(x, y2,'k')
Se abre una sola ventana
(Figure 1)
-
>> figure(2)
>> plot(x, y1, x, y2, x, y1+y2)
>> axis([0 2*pi -1.5 1.5])
>> grid on
Variantes:
axis auto
axis off
axis on
axis equal
axis square
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
Control de los ejes
GRAFICOS EN MATLAB
-
>> x1=[0:0.1:2*pi];
>> y1=1.2*sin(x1).^2;
>> x2=[0.3:0.01:2.1*pi];
>> y2=0.8*cos(x2).^2-0.1;
>> plot(x1,y1,x2,y2,'linewidth',2)
>> title(‘Gráfico Muestra’,’fontsize’,14);
>> xlabel(‘Valores de X’);
>> ylabel(‘Valores de Y’);
>> legend(‘Serie y1’,’Serie y2’)
>> grid
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
Títulos y referencias
GRAFICOS EN MATLAB
-
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
Títulos y referencias
GRAFICOS EN MATLAB
title
ylabel
xlabel
grid
legend
-
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
Facilidades en la ventana de la figura
GRAFICOS EN MATLAB
Todo lo que se realiza por
comandos, se puede hacer
“manualmente”empleando el menú de la
ventana de la figura
-
MA
GIS
TE
R E
N M
ET
OD
OS
NU
ME
RIC
OS
Y
CO
MP
UTA
CIO
NA
LE
S E
N I
NG
EN
IER
IA
OTROS GRAFICOS
GRAFICOS EN MATLAB
plot - Gráfico 2-D, escalas lineales en los dosejes
loglog - Gráfico 2-D, escalas logarítmica en ambos ejes
semilogx - Gráfico 2-D, escala logarítmica enel eje x y lineal en el eje y
semilogy - Gráfico 2-D, escala logarítmica enel eje y y lineal en el eje x
plotyy - Gráfico 2-D, con dos ordenadas (a izquierda y derecha)