Upload
others
View
17
Download
0
Embed Size (px)
Citation preview
Taller Introductorio a
MatLab
Pantalla de inicio
Barra de Herramientas
Variables y Matrices
Todas las variables que se puedan crear se guardan en el espacio “workspace”
En lo que se refiere a la nomenclatura de las variables. Matlab distingue entre mayúsculas y minúsculas (“Variable” es distinto de “variable”) permitiendo
nombres de variables que contengan al menos una letra.
En Matlab, una variable consiste en una matriz de las dimensiones correspondientes.
Una Variable en Matlab es cualquier valor numérico, al que se le puede dar un nombre y puede guardarse en un espacio de memoria.
Líneas de Comando
Son todas aquellas instrucciones que el programador coloca para construir el “Script”
El “Script” es el archivo .m que se crea cuando guardamos las instrucciones.
Cuando ejecutamos un “Script” debemos estar posicionados en la carpeta donde se guardo. Esto lo podemos ver en la Ventana “Current
Folder”
Operaciones Básicas• Operaciones Algebraicas
Símbolo Operación
+ Suma
- Resta
* Multiplicación
/ División
^ Potencia
.*, .^, ./ Operación por Elemento
Operaciones Básicas• Operaciones con Matrices
Símbolo Operación
A*B Multiplicación Matricial
A.*B Multiplicación de los términos de A por los de B
A/B Multiplicación matricial de A por la inversa B
A+B Suma de los términos de A con los de B
Sentencias de Control• Lazo For:
o Se trata de repetir una instrucción o un grupo de instrucciones un
determinado numero de veces.
• Un ejemplo sencillo:x = 0:0.02:4*pi;
for k=1:length(x)
y(k) = sin(x(k));
end
plot (x, y);
• Lazo Whileo El bloque de sentencias que le siguen se ejecuta siempre que la
condición sea verdadera tal como se ve en la figura. La forma general
que adopta la sentencia while es:
o Un ejemplo es:
k=0;
while k
Sentencias Condicionales• Lazo If
o Se cumple una instrucción mientras se este bajo una condición.
• Lazo if /elseo Se cumple una instrucción mientras se este bajo una condición.
Sentencias CondicionalesIF-END
o Un enunciado if simple tiene la siguiente forma:
if condicion
sentencias
end
o Si la condición (una expresión lógica) es
verdadera, se
ejecutan las sentencias y sigue a end.
o Si la comparación es falsa, el programa salta
inmediatamente al enunciado que sigue a end.
Sentencias Condicionales
Sentencias Condicionales
Sentencias Condicionales
Sentencias Condicionales
Funciones
• Son operaciones matemáticas que relaciones
variables de entrada y salida.
• Podemos definir nuestras propias funciones
guardarlas en un fichero y usarlas de un modo
semejante a las funciones predefinidas.
FunciónEntradas Salidas
Funciones
function [z] = suma (x,y)
z=x+y; %efectúa la suma
End
z=x+yXY
Z
La llamada
suma(2,3)
ans = 5
Función Anónima• Las funciones anónimas nos permiten definir una función
simple sin necesidad de crearla y guardarla en un fichero .m.
• Se pueden definir en la ventana de comandos, en un fichero script o dentro de otra función, con la siguiente sintaxis:
• variable=@(lista_argumentos) expresión
• Las funciones se pueden asignar a variables y estas variables se pueden pasar a otras funciones como se pasan escalares o vectores.
f=@(x) cos(x)-x;z=f(0.5)z = 0.3776
r=@(x,y,w) x+y+w;
b=r(3,5,-4);
b=4
Operaciones con Matriceslinsolve Resuelve sistema de ecuaciones
lineales de la forma AX=B
inv Calcula la inversa de una matriz
transpose Calcula la transpuesta
de una matriz
rref Reducción gaussiana
size Dimensión de una matriz
length Longitud de un vector
zeros Matriz de ceros
ones Matriz de unos
roots Raíces de un polinomio
A(i,j) Elemento de la fila i columna j
A(i,:) Elemento de la fila i
A(:,j) Elemento de la columna j
A([1,3],j) Elementos de la fila 1 y 3 de la
columna j
Operaciones con Matrices
Derivada (diff)
f=input(‘Ingrese la función: ‘,’s’)
syms x Convierte la función a la forma
simbólica.
fx = diff(f,x) Calcula la derivada simbólica
Si se desea evaluar la función en un punto
subs(fx,a)
Operaciones simbólicas
Despeje de una variable en una función (solve)
f=input(‘Ingrese la función: ‘, ‘s’)
syms x Convierte la función a la forma
simbólica.
solve(‘y+x=5’, ‘y’) Despeja la variable
Operaciones simbólicas
Display en ventana de comando
Display
Ejemplo
x=0:5; (toma la lista e números del 0 al 5)
y=3*x.^2-5;
res(:,1)=x’;
res(:,2)=y’; o también res=[x’ y’]
disp(‘comentario o título’);
Disp(res)
fprintf (imprimir en pantalla)
fprintf
fprintf(‘formato’,arg1,arg2,….,argn)
Caracteres especiales:
‘%c’ Carácter
‘%d’ Número entero
‘%f’ Número real
‘%s’ Para cadena
‘%u’ Número entero positivo
‘%x’ Salida hexadecimal
‘%o’ Salida octal
‘\n’ Salto en línea
‘\t’ Tabulación
‘\b’ Backspace
‘\i’ Imprimir
fprintf (imprimir en pantalla)
fprintf
fprintf (’la raíz de dos es %f aprox \n’,sqrt(2))
la raiz de dos es 1.414214 aprox
Se mostrará en pantalla lo siguiente:
Salto en línea
fprintf (imprimir en pantalla)
fprintf
fprintf (’la raíz de dos es %0.3f aprox \n’,sqrt(2))
la raiz de dos es 1.414 aprox
Se mostrará en pantalla lo siguiente:
El primer número representa el espaciado (en este
caso el cero), mientras el segundo representa la
cantidad de decimales que sean expresados, en
este caso 3
Otros ejemplos:
fprintf
str=sprintf('el valor de pi es: %1.3f',pi)
str =
el valor de pi es: 3.142
Se mostrará en pantalla lo siguiente:
Otros ejemplos:
fprintf
Tabla de datos:
Espaciado de 8 y 4
decimales
Impresión en
pantalla
Graficación
Colores: r(red), g(green), b(blue), c(cyan), m(magenta),
y(yellow), k(black), w(white)
Estilos: - (sólida), --(trazos), : (puntos), -, (líneas y puntos)
Marcadores +,O,*, . , x, s (square), d(diamante)^ V > ó < (triángulos), p (estrella de 5 puntas), h (estrella de 6
puntas)
Etiquetas: xlabel(‘titulo o descripción’)ylabel(‘titulo o descripción’)
title(‘titulo del gráfico’)
GraficaciónEjemplo, graficación de un conjunto de datos:
GraficaciónEjemplo, graficación de un conjunto de datos y dos ejes
GraficaciónEjemplo, graficación de un conjunto de datos
subplot(numero de fila, numero de columna, grafico 1)
Tambien subplot se puede sustituir por el comando figure
GraficaciónEjemplo, graficación ejes logarítmicos:
loglog(X,Y) logarítmicos en ambos ejes
semilogx(X,Y) eje “x” logarítmico
semilogy(X,Y) eje “y” logarítmico
GraficaciónEjemplo, graficación ejes logarítmicos:
GraficaciónEjemplo, graficación ejes logarítmicos:
GraficaciónEjemplo, graficación funciones y comando ezplot
ezplot('x^2-y^2=1')
GraficaciónEjemplo, graficación funciones y comando ezplot
Herramientas y funcionesInline
Matlab nos proporciona lo que conocemos como ‘inline functions’ o en español como ‘funciones en linea’ o ‘de linea‘, esto nos permite crear en la misma ventana de comandos, una corta función que puede ser llamada de forma repetida, supongamos que quiero hacer una función f(x) = sen(x)/x, entonces la sintaxis es la siguiente.
Herramientas y funcionesEvaluar función Inline:
Dada la función:
Evaluar f(2):
Herramientas y funcionesEvaluar función Inline usando comando feval:
Dada la función:
Evaluar f(2):
Herramientas y funcionesAlternativa a comando inline (uso de función anónima):
f=str2func(strcat('@(x)',f));
Diálogo externoVentana de advertencia o warning
if abs(der)