Académique Documents
Professionnel Documents
Culture Documents
1.2 Versiones e historia: La primera versión de MATLAB, a finales de los años 70,
se escribió en FORTRAN, siendo la única estructura de datos la matriz.
Posteriormente, en los años 80, MATLAB fue reescrito en C. La versión 3 para MS-
DOS es de principios de los años 90. En 1993 aparece la versión 4, para Windows
3.11. La versión actual es la 7.x
Es un lenguaje sencillo pero potente y rápido. Los ficheros son de texto, por
lo que ocupan poca memoria.
Muchas de las funciones matemáticas y de aplicación (análisis
estadístico,optimización, diseño en ingeniería) están predefinidas y
agrupadas en librerías comerciales (toolboxes). El usuario puede acceder a
la mayor parte de estas funciones para modificarlas y/o crear las suyas
propias.
Presenta una gran capacidad para generar gráficos, en dos y tres
dimensiones, y permite incorporar efectos y animaciones.
Permite el desarrollo de aplicaciones complejas con ayuda del editor de
ventanas, menús y controles de la utilidad GUI (Graphics User Interface).
Puede intercambiar datos con otros lenguajes y entornos.
El entorno de MATLAB
El entorno es el conjunto de herramientas que permiten trabajar como usuario o
como
programador. Permiten importar, procesar y exportar datos; crear y modificar
ficheros; generar gráficos y animaciones; y desarrollar aplicaciones de usuario.
Ventanas y escritorio
Escritorio: Al abrir el programa MATLAB aparece un escritorio (desktop) como el
mostrado en la Fig. 2 (versión 7.0.4)
3 + 2 (pulso Enter)
ans = 5
• Líneas NO Ejecutables: Cualquier línea que empiece por “%” no se ejecutará (se
considera un comentario de texto).
Operadores aritméticos
Operación Símbolo
suma +
resta -
multiplicación *
división /
potencia ^
Operadores relacionales
Operación Símbolo
distinto que ~=
igual que ==
Operadores lógicos
Operación Símbolo
OR (l) "o"
Funciones útiles:
FUNCIONES
exp(x)- exponencial de x
log(x)- logaritmo neperiano de x
log10(x)- logaritmo en base 10 de x
abs(x)- valor absoluto
sin(x)- seno de x
cos(x)- coseno de x
tan(x)- tangente de x
sec(x)- secante de x
CONSTANTES
exp(1)- número e
pi- numero (3.14)
i- Unidad imaginaria
ARRAYS
det(A)- determinante de A
A'- Transpuesta de A
eye(n)- matriz unitaria nxn
zeros(m,n)- matriz de ceros de tamaño mxn
ones(m,n)- matriz de unos de tamaño mxn
norm(V)- módulo del vector v
1/3
format long
1/3
format long
format short e
format long e
format short
format rat
format +
who
whos
clear y
eps
ans = 2.2204e-016
pero estos se pierden si se les asignan otro valor distinto.
eps=7
eps = 7
La unidad imaginaria se representa en MATLAB como i o j.
Matlab permite guardar y cargar datos de los archivos del computador. En el menú
File, la opción Save Workspace as… guarda todas las variables actuales y Import
Data… carga variables de un espacio de trabajo guardado previamente.
Otra forma sería guardar el estado de una sesión de trabajo con el comando save
antes de salir:
save
load
3 Operaciones Básicas
3 Operaciones básicas: matemática sencilla
Suma:
» 2+3
ans =
5
Resta:
» 10-3
ans =
7
» 2/2+1
ans =
2
» 2/(2+1)
ans =
0.6667
» 2*4+1
ans =
9
» 2*(4+1)
ans =
10
» 3^2*5
ans =
45
» 3^(2*5)
ans =
59049
» [8 1 ; 2 5]
ans =
81
25
» v = [1 2 3]
v=
123
» w = [1; 2; 3]
w=
1
2
3
» v = (0:0.2:1)
v=
0 0.2000 0.4000 0.6000 0.8000
» w = linspace(0, 1, 5)
w=
0 0.2500 0.5000 0.7500 1.0000
Operaciones:
» A = [ 1 5; 0 10]; B = [3 2; 1 4];
»A*B
ans =
13 22
10 40
Si se desea que se opere la matriz elemento a elemento se debe escribir un punto
antes del signo de la operación(.*) o (.^)
» A .* B
ans =
3 10
0 40
Scripts:
Funciones:
Para crear una función hay que escribir en el editor unos argumento de entrada
(que serán los datos que facilites al ordenador) y otros de salida (que serán los que
te de el ordenador tras hacer los cálculos) y después guardar el archivo.
Luego no hay mas que escribir el nombre con el que se guardó la función y escribir
los argumentos de entrada ( 3 y 5 en este caso)
» producto(3,5)
z=
15
» cos(0)
ans
=1
sin seno
cos coseno
tan tangente
sec secante
csc cosecante
cot cotangente
exp exponencial
Gráficas
» x=0:0.1:10;
» y=(1-exp(-x))./(1.5+cos(x));
» plot(x,y)
r
4 Estructuras De Control
Las estructuras de control nos permiten controlar o modificar el flujo de ejecución
de las instrucciones de un programa, por ejemplo: tomar decisiones, realizar
acciones repetitivas etc, dependiendo de unas condiciones que nosotros mismos
establezcamos.
Algunas de las estructuras más conocidas de control que admite Matlab son:
if
switch
case
for
while
continue
break
Estructuras IF-ELSE-END
if <condicion>
// instrucciones que hay que ejecutar si la condición es verdadera
else
// Instrucciones que hay que ejecutar si la condición es falsa
end
if <condicion 1>
// instrucciones que hay que ejecutar para la condición 1
elseif <condicion 2>
// Instrucciones que hay que ejecutar para la condición 2
else
// Instrucciones que hay que ejecutar si ninguna condición se cumple
end
Estructuras en bucle
1. Bucles FOR
Los bucles for permiten que un grupo de órdenes se repitan un número fijo y
predeterminado de veces. La forma general de un bucle for es:
for contador=inicio:paso:fin,
sentencias
for x= array,
órdenes
end
Las órdenes entre las sentencias for y end se ejecutan una vez para cada columna
del array. Es decir, en cada iteración la variable x valdrá x=array( :,i) variando i
entre 1 y la última columna.
Los bucles for deben seguir siempre estas reglas:
a) Un bucle for no puede terminarse reasignando a la variable del bucle un valor
dentro del bucle.
b) Pueden anidarse tantos bucles como se desee, pero todos deben terminar con
un end y el más interior corresponderá al for más interior.
c) Deben evitarse siempre que exista otro método, en forma de array o matriz, de
resolver el problema planteado. La forma for, al ser un intérprete, siempre será
más lenta y larga de escribir que una forma matricial.
Por ejemplo:
» n=1 :10 ;
x=sin(n*pi/100) ;
2. Bucles WHILE
While (condicion)
// Instrucciones a ejecutar una y otra
//vez mientras la condición sea cierta
5 Ejercicios Resueltos
5.1.Operaciones basicas.
5.2Gráficas.
Gráfica de la superficie
r=10;
» solución
5.4 Functions.
Programar una función que dibuje una función matemática dada por el usuario en
un determinado rango de vectores [a,b] dado también por el usuario:
Preparar una function solucion.m que resuelva el siguiente sistema de ecuaciones
para un valor arbitrario del parámetro r. (La variable de entrada será el parámetro
r; la de salida, el vector solución del sistema. Recordar que A\b proporciona la
solución del sistema de ecuaciones con matriz de coeficientes A y vector de
términos independientes b.)
[Métodos de iteración].
Escribir una función de matlab que calcule n+1 puntos del soporte de Tchebycheff,
xk, en un intervalo [a, b] dado por el usuario.
Escribir una función que calcule el i-ésimo polinomio de base de Lagrange para un
soporte de n+1 puntos xk . (el argumento de salida serán los valores Li del pol. en
un vector de puntos dado xx):
5.5 Bucles
Escribir una función de matlab que intercambie la fila i de una matriz dada A por
una fila inferior p cuando el elemento aii* sea nulo, devolviendo la matriz A
modificada: