Publicado el 14 de Enero del 2017
1.736 visualizaciones desde el 14 de Enero del 2017
308,6 KB
45 paginas
Creado hace 17a (16/10/2007)
Manejo básico de Matlab
Mariano Mateos Alberdi
Complementos de Matemática Aplicada
Ingeniería Técnica Industrial
Universidad de Oviedo
Curso 2007-2008
Índice
1. Manejo básico
1.1. Calculadora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Uso de la ayuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4. Programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
3
6
6
9
2. Trabajando con matrices
12
2.1. Escribiendo vectores y matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2. Información sobre vectores y matrices. . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3. Operaciones elementales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4. Inversa de una matriz.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5. Resolución elemental de sistemas lineales. . . . . . . . . . . . . . . . . . . . . . . 17
. . . . . . . . . . . . . . . . . . 21
2.6. Construcción de vectores y matrices especiales.
2.7. Elementos dentro de una matriz. Submatrices.
. . . . . . . . . . . . . . . . . . . 24
2.8. Operaciones elemento a elemento . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.9. Otras funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3. Ficheros de función
32
4. Estructuras de control
37
4.1. Toma de decisiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2. Repetición un número fijo de veces . . . . . . . . . . . . . . . . . . . . . . . . . . 43
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3. Repetición condicional
1
2. Ingeniería Técnica Industrial, Gijón
1. Manejo básico
Según abrimos Matlab, versión 7 para Windows, nos aparecen 3 ventanas. La ventana
de la derecha según miramos (Command Window) es la que utilizamos para escribir los
comandos. En la de arriba a la izquierda Current Directory aparecen los ficheros que
hay en la carpeta de trabajo. Bajo ésta, está oculta una ventana con el título Workspace,
donde nos aparecen las variables que estamos utilizando y en la de abajo a la izquierda
(Command History), un historial con los comandos que hemos escrito. Encima de estas
ventanas hay un recuadro (Current Directory) donde aparece la carpeta o directorio de
trabajo, es decir, el lugar donde Matlab buscará nuestros programas. Si durante el trabajo
perdemos esta estructura de ventanas y la queremos recuperar, basta con pinchar en
Desktop → Desktop Layout → Default .
Complementos de Matemática Aplicada. 3
1.1. Calculadora
Para efectuar una operación, la escribimos en la Command Window y le damos a la
tecla Enter
Ejemplo 1.1.1 Si queremos calcular 2 + 2, 1256 − 34, 15 × 365, 1/23, 210, cos(1),
ln(3), log(3) escribiremos:
√
2, e2,
>> 2+2
ans =
4
>> 1256-34
ans =
1222
>> 15*365
ans =
5475
>> 1/23
ans =
0.0435
>> 2^10
ans =
1024
>> cos(1)
ans =
0.5403
>> sqrt(2)
ans =
1.4142
>> exp(2)
ans =
7.3891
>> log(3)
ans =
1.0986
>> log10(3)
ans =
0.4771
Podemos usar paréntesis. No podemos saltarnos ningún símbolo. Para calcular 2( 3√
2 +
arc tg(1)) escribiremos:
>> 2*(2^(1/3)+atan(1))
ans =
4.0906
Observa lo que ocurre si olvidamos el *:
>> 2(2^(1/3)+atan(1))
??? 2(2^(1/3)+atan(1))
4. Ingeniería Técnica Industrial, Gijón
|
Error: Unbalanced or misused parentheses or brackets.
Corrección de errores
Si nos equivocamos al escribir una orden, no es necesario reescribirla por completo.
Hay dos maneras rápidas de corregirla:
1. Darle a la tecla del cursor ↑ hasta que aparezca la orden a editar, y después editarla.
2. Arrastrarla desde la ventana Command History hasta la Command Window, y
después editarla.
Notación científica
Matlab escribe muchas veces números de la forma 1.2219e+003. Esto quiere decir
1,2219 × 103, y es el número 1221,9. Nosotros también podemos escribir números así.
Ejemplo 1.1.2 Para escribir un millón, un millardo, un billón y el número de Avogadro,
escribiremos:
>> 1e6
ans =
1000000
>> 1e9
ans =
1.0000e+009
>> 1e12
ans =
1.0000e+012
>> 6.022e23
ans =
6.0220e+023
Y para escribir una millonésima y la constante de gravitación universal escribiremos:
>> 1e-6
ans =
1.0000e-006
>> 6.67392e-11
ans =
6.6739e-011
Número de decimales
¿Dónde ha ido la última cifra significativa de la constante de gravitación? Por defecto,
Matlab nos muestra 5 cifras significativas. Si queremos ver más, sólo hay que cambiar el
formato. Observa que el formato corto redondea la salida.
Complementos de Matemática Aplicada. 5
Ejemplo 1.1.3
>> format long
>> 2.41396e-11
ans =
2.413960000000000e-011
>> format short
>> 2.41396e-11
ans =
2.4140e-011
Precisión
Con el formato largo vemos 16 cifras significativas. Esa es grosso modo la precisión de
Matlab. Esto quiere decir que dos números tienen órdenes de magnitud que difieren en
por lo menos 16 cifras decimales, no se pueden sumar.
Ejemplo 1.1.4
>> 1+1e-16-1
ans =
0
Además, esto da lugar a la aparición de errores de redondeo en operaciones que sí se
pueden hacer.
Ejemplo 1.1.5 Observa qué ocurre cuando sumamos y restamos 1 a una cantidad
“pequeña”:
>> 1+1e-15-1
ans =
1.110223024625157e-015
>> 1+1e-14-1
ans =
9.992007221626409e-015
>> 1+1e-13-1
ans =
9.992007221626409e-014
>> 1+1e-3-1
ans =
9.999999999998899e-004
>> 1+1e-2-1
ans =
0.01000000000000
He aquí algunas de las órdenes de calculadora científica que usa Matlab.
6. Ingeniería Técnica Industrial, Gijón
Matlab
exp(x)
log(x)
log10(x) log10(x)
√
log2(x)
log2(x)
x
sqrt(x)
Función Matlab
Función
|x|
ex
abs(x)
ln(x)
Redondeo hacia cero
fix(x)
floor(x) Redondeo hacia −∞
Redondeo hacia +∞
ceil(x)
round(x) Redondeo hacia el entero más próximo
rem(m,n) resto de dividir m entre n
y las funciones trigonométricas:
Matlab
sin(x)
cos(x)
tan(x)
cot(x)
sec(x)
csc(x)
Fun.
sen(x)
cos(x)
tan(x)
cot(x)
sec(x)
csc(x)
Matlab
asin(x)
acos(x)
atan(x)
acot(x)
asec(x)
acsc(x)
Fun.
asen(x)
acos(x)
atan(x)
acot(x)
asec(x)
acsc(x)
Matlab
sinh(x)
cosh(x)
tanh(x)
coth(x)
sech(x)
csch(x)
Func.
senh(x)
cosh(x)
tanh(x)
coth(x)
sech(x)
csch(x)
Matlab
asinh (x)
acosh (x)
atanh (x)
acoth (x)
asech (x)
acsch (x)
Fun.
asenh(x)
acosh(x)
atanh(x)
acoth(x)
asech(x)
acsch(x)
Ejercicio 1 Calcula | sen(6)(ln(4)+ 6,7)|, e−1,5. Redondea al entero más próximo (2+ 3/7)1/5.
1.2. Uso de la ayuda
Matlab es un programa muy bien documentado. Para obtener instrucciones sobre el
uso de un comando de Matlab teclearemos help comando ó doc comando. La primera da
una breve descripción en la ventana de comandos. La segunda abre una ventana de ayuda
mucho más completa.
Ejemplo 1.2.1
>> help sin
SIN
Sine.
SIN(X) is the sine of the elements of X.
See also asin, sind.
Overloaded functions or methods (ones with the same name in other directories)
help sym/sin.m
Reference page in Help browser
doc sin
1.3. Variables
Introducir variables nos ofrece nuevas posibilidades en Matlab. Nos permiten
recordar y usar los cálculos ya hechos. Si pinchas en la pestaña Workspace aparecerá
una ventana donde se muestran las variables que hay guardadas en memoria, y su valor.
Ahora mismo sólo está la variable ans, que es la variable que usa Matlab por defecto
para dar una respuesta (answer).
Complementos de Matemática Aplicada. 7
Según vamos metiendo variables, se van cargando en memoria:
>> a=1
a =
1
>> A=2
A =
2
>> Presion_Atmosferica=900
Presion_Atmosferica =
900
Observa que podemos escribir varias órdenes en cada línea separándolas mediante una
coma o un punto y coma. Al escribir tras una orden punto y coma (;), la orden se ejecuta,
la variable se guarda en memoria, pero no aparece nada en pantalla.
>> s=5,t=4,v=s/t
s =
5
4
t =
v =
1.2500
>> aceleracion=3;tiempo=2;espacio=(1/2)*aceleracion*tiempo^2
espacio =
6
Ahora la ventana Workspace es así:
8. Ingeniería Técnica Industrial, Gijón
Las reglas que se utilizan para nombrar las variables son las siguientes:
Matlab distingue entre letras mayúsculas y minúsculas. Las variables area, Area,
AREA, arEa serían variables distintas.
El nombre de una variable puede contener un máximo de 31 caracteres ignorándose
los posteriores.
El nombre de una variable debe empezar necesariamente por una letra, aunque
puede contener letras números y el guión de subrayado, nunca puede contener
operadores (+,*,...), espacios en blanco ni signos de puntuación.
No deben nombrarse variables con funciones con significado específico en Matlab,
por ejemplo cos=3 construiría una variable cos cuyo valor es 3, y a partir de este
momento no podríamos calcular el coseno de un ángulo hasta que no borrásemos la
variable cos.
Cómo borrar variables
Para borrar variables se utiliza la orden clear para borrar todas las variables definidas
hasta el momento; si a la orden se le añade una lista de variables (separadas por espacios
en blanco) sólo se borrarán las variables de la lista.
» clear t s
También se pueden borrar variables pinchando con el botón derecho del ratón sobre
la variable en la ventana Workspace y seleccionando Delete.
Algunas variables predefinidas en Matlab
Algunas variables ya están definidas en Matlab:
Complementos de Matemática Aplicada. 9
Significado
Almacena el último resultado no asignado a una variable
Epsilon de la máquina
π
Unidad imaginaria
∞
No es un número
Nombre
ans
eps
pi
i y j
inf
NaN
realmin Mínimo número mayor que cero
realmax Número más grande
date
true
false
Fecha
1 (ocupa sólo 1 byte de memoria)
0 (ocupa sólo 1 byte de memoria)
El épsilon de la máquina es el número positivo más pequeño que sumado a 1 genera
un número mayor que 1 en el ordenador, (en un PC eps=2.220446049250313e-016) y
NaN (Not a Number) representa una expresión indeterminada, como puede verse en el
siguiente ejemplo:
» (2-2)/(3-3)
Ejercicio 2 Sea M = 1,989 · 1030kg la masa del sol,
Comentarios de: Manejo básico de Matlab (0)
No hay comentarios