Apunte 2011 PDF
Apunte 2011 PDF
Año 2011
INTRODUCCION
• Matemáticas y cálculos
• Desarrollo de algoritmos
• Modelado y simulación
• Análisis y visualización de datos
• Gráficos científicos e ingenieriles
• Desarrollos aplicados, incluyendo la construcción de interfaces gráficas.
ENTORNO INTERACTIVO
Ventana
de directorio
actual
ventana de comandos
Ventana de comandos
históricos
Año 2011
Se pueden hacer cálculos matemáticos directos, como si usáramos una calculadora, sin
necesidad de ser asignados a una variable en concreto. Por defecto, el resultado de una
operación matemática o lógica se almacena en una variable de “respuesta por defecto”
llamada ans. Por ejemplo:
»2+3
ans =
5
Sin embargo, si el cálculo se asigna a una variable, el resultado queda guardado en ella:
»x=2+3
x=
5
»x=2+3; % el punto y coma evita que se muestre el resultado del cálculo
MATLAB tiene la ventaja de poseer variables con valores predeterminados, esto es, que
tienen un valor por defecto.
La variable pi, por defecto posee el valor
» pi
ans =
3.14159265358979
»eps=7
eps =
7
FUNCIONES PREDEFINIDAS
Función coseno:
% pi es una variable con valor predeterminado 3.14159...
»cos(pi)
Año 2011
Función exponencial:
% Función exponencial evaluada en 1, es decir, el número e
»exp(1)
Existen numerosas funciones específicas para el manejo de matrices. Para ver un listado
de ellas se recomienda visitar el help (ayuda) que posee MATLAB.
FORMATO
El usuario puede controlar el número de decimales con que aparece en pantalla el valor
de las variables, sin olvidar que ello no está relacionado con la precisión con la que se
hacen los cálculos, sino con el aspecto con que éstos se muestran:
»1/3
ans =
0.3333
»format long
»1/3
ans =
0.33333333333333
»format % Vuelve al formato estándar que es el de 4 cifras decimales
VARIABLES
No es necesario declarar las variables, basta con darles un valor. Pero es importante
tener claro qué variables se están usando porque es fácil cometer errores. Por ejemplo,
se puede reutilizar la variable pi asignándole un número pero con ello se pierde el valor
predeterminado 3.14159.
Nota: Todo lo que es de tipo carácter o cadena de caracteres va encerrado entre comillas
simples (‘).
Todas las variables son matrices que no tienen dimensión estática sino que ésta se
determina una vez usada dicha variable. Si se realiza la asignación de un solo valor a una
variable el sistema la interpreta como una matriz de 1 fila y 1 columna.
Año 2011
Algunos ejemplos:
Para definir un vector fila, basta introducir sus coordenadas entre corchetes:
»v=[1 2 3] % Vector de 3 coordenadas
v=
123
»vect1=0:2:20
vect1 = 0 2 4 6 8 10 12 14 16 18 20
Las matrices se escriben como los vectores, pero separando las filas mediante un punto y
coma; así una matriz 3x3 se escribe como:
»v=[1 2 3];
»w=[4 5 6];
»mat=[v;w;0 0 1] % También es una matriz 3x3
mat =
123
456
001
ans =
2
5
0
Año 2011
Para el caso de la multiplicación de matrices se usa el operador *. Para ello las matrices
deben ser cuadradas o cumplir con que la cantidad de columnas de la primera debe ser
igual a la cantidad de filas de la segunda matriz.
Muchas veces se desea elevar al cuadrado cada elemento de un vector, y es aquí donde
se debe tener cuidado porque si se usa el operador * o el operador ^ (para elevar al
cuadrado) MATLAB intentará realizar una multiplicación de matrices.
Ejemplo 1:
» x=[1 2 3 ];
» x*x
??? Error using ==> *
Inner matrix dimensions must agree.
» x^2
??? Error using ==> ^
Matrix must be square.
Para salvar este problema se debe anteceder los símbolos (*) y (^) con un punto.
» x.*x
ans =
1 4 9
» x.^2
ans =
1 4 9
GRAFICACIÓN
Las posibilidades de realizar y manipular gráficos es una de las grandes ventajas del uso
de MATLAB. Para ello cuenta con una importante cantidad de comandos de graficación.
El comando plot permite graficar funciones. Como argumento/s plot recibe la/s
función/es en forma de vector/es y genera en una ventana independiente un gráfico a
partir de los datos.
Ejemplo:
Año 2011
Obs: Siempre se trabaja con pares ordenados (xi, yi), xi pertenece al vector x, e y
pertenece al vector yi. Esto significa que a mayor cantidad de puntos mejor aproximación
gráfica se puede tener. Con este criterio se podría mejorar el gráfico anterior de la
siguiente manera:
»x=pi*(-1:0.01:1);
»y=x.*sin(x);
»plot(x,y);
» grid;
Año 2011
ENTORNO DE PROGRAMACION
PROGRAMAS EN MATLAB
Hasta ahora se usó la ventana de comandos de MATLAB para realizar cálculos y gráficos
en forma interactiva. Sabemos que también es posible crear programas, en el caso de
nuestra asignatura programaremos métodos numéricos que puedan ser ejecutados varias
veces e instanciados según sea el caso particular.
Para escribir un programa en MATLAB habrá que crear un archivo que tenga extensión
.m (mediante el menú nuevo archivo).
La manera más sencilla es crear un archivo de extensión m que se guarda por defecto
en la carpeta work de MATLAB. Una vez escrito el programa en este archivo se invoca
desde el entorno interactivo usando simplemente el nombre del mismo.
Veamos un ejemplo:
Año 2011
En este editor se
escriben las
instrucciones que se
desean ejecutar y se
guarda el archivo con
un nombre
Para poder usar este archivo, desde la ventana de comandos se escribe el nombre del
archivo y se ejecuta.
COMO PROGRAMAR
Año 2011
if x>=0
val_abs=x;
else
val_abs=-x;
end
2. Estructura FOR
Veamos un ejemplo:
Veamos una tabla que muestra como cambian los valores de la variable S en cada
instante en la ejecución del código:
Año 2011
ESTADO S
Inicial 0
Inicia FOR
k=1 S+A(1,1)
0+1
1
k=2 S+A(2,2)
1+5
6
k=3 S+A(3,3)
6+9
15
Fin FOR
3. Estructura WHILE
S=0; % inicializo S
n=input(‘Ingrese un número entero’); %pide que el usuario ingrese un num
%por pantalla
while n~=0
% Mientras los números ingresados sean distintos a cero se ejecutan las
%acciones dentro del lazo
S=S+n; % suma el número ingresado
n=input(‘Ingrese un número entero’); % pide ingresar un nuevo
% número
end
En este ejemplo se realiza la suma de todos los números que ingrese el usuario
mientras éstos sean diferentes a cero. Si se ingresa un cero, el programa termina.
La estructura mientras funciona ejecutando repetitivamente una o más
instrucciones mientras la evaluación de la condición lógica (n~=0) sea verdadera.
En general la estructura while repetirá un bloque de instrucciones dependiendo de
si la condición lógica es verdadera.
Existen otras estructuras de control pero las anteriores son las más básicas y son
suficientes para los alcances de este curso.
En la siguiente tabla se muestran las formas genéricas de las tres estructuras:
Obs: EXP representa una expresión lógica verdadera. Por ejemplo para dos variable x, y
de tipo numérico
Año 2011