MATLAB es un software para computación e ingeniería que ofrece un poderoso lenguaje de programación y herramientas para manipular gráficas y datos. El documento introduce conceptos básicos de MATLAB como vectores, matrices, operaciones matemáticas, derivadas, primitivas, gráficas y programación condicional y ciclos.
2. MATLAB es un software para computación en ingeniería y ciencias.
Nos ofrece un poderoso lenguaje de programación, una posibilidad de
realizar y manipular gráficas con facilidad, además de reunir
conocimiento acumulado en estas áreas de manera estructurada y útil.
Antes de comenzar, hagamos algunas consideraciones generales:
• MATLAB distingue entre mayúsculas y minúsculas.
• La comilla (‘) es la que, en un teclado estándar, se encuentra en la
tecla de la interrogación.
• Los comentarios deben ir precedidos por % o, lo que es lo
mismo, MATLAB ignora todo lo que vaya precedido por el
símbolo %.
• La ayuda de MATLAB es bastante útil; para acceder a la misma
basta teclear help comando. Es recomendable usarlo para obtener
una información más precisa sobre la sintaxis y diversas
posibilidades de uso de los comandos.
21/08/2015 2
MATEMÁTICAS APLICADAS PARA
INGENIERÍA CIVIL
Introducción
3. Contenido
• Generalidades.
• Vectores y matrices.
• Operaciones con vectores y matrices.
• Variables lógicas.
• Polinomios.
• Derivadas y primitivas.
• Gráficas de funciones.
• Programación con MATLAB.
21/08/2015 3
MATEMÁTICAS APLICADAS PARA
INGENIERÍA CIVIL
5. Cálculos en el Command Window:
• Los cálculos que no se asignan a una variable en concreto se asignan a la
variable de respuesta por defecto que es ans (del inglés, answer):
>> (2+3.5^2-4*7)/12
ans=
-1.1458
• También podemos hace este calculo asignando nombres de variables
a la ecuación:
>> x=2+3.5^2
ans=
14.25
>> y=4*7
ans=
28
>> z=(x-y)/12
ans=
-1.1458
21/08/2015
MATEMÁTICAS APLICADAS PARA
INGENIERÍA CIVIL
5
Generalidades
6. • Si no se desea ver inmediatamente el resultado, se puede suprimir la
salida numérica poniendo un punto y coma (;):
>> x=2+3.5^2;
>> y=4*7;
>> z=(x-y)/12;
>> z
ans=
-1.1458
• Otras funciones:
sin(x) cos(x) tan(x) asin(x) acos(x) atan(x) atan2(x) sinh(x)
cosh(x) tanh(x) asinh(x) acosh(x) atanh(x) log(x) log10(x)
exp(x) sqrt(x) sign(x) rem(x,y) mod(x,y) round(x) fix(x)
floor(x) ceil(x) gcd(x) lcm(x) real(x) imag(x) abs(x)angle(x)
• Funciones útiles: clc clear close who whos.
21/08/2015
MATEMÁTICAS APLICADAS PARA
INGENIERÍA CIVIL
6
Generalidades
7. Lo vectores y matrices son el elemento básico de MATALB.
• Como definir un vector:
>> u=[1,2,3,4];
>> u=1:4; % a:b:c – de a en paso b hasta c
>> u=linspace(1,4,4);
• Las matrices se escriben como los vectores, pero separando las filas
mediante un punto y coma; así una matriz 3x3:
>> M=[1,2,3; 4,5,6; 7,8,9];
• A los elementos de una matriz se accede sin más que escribir el
nombre de la matriz y, entre paréntesis, los respectivos índices
(M(3,2)),se puede acceder a un fila o columna completas, (M(:,2)),
se puede incluso acceder a la matriz como si fuera una columna,
(M(1:7)), o acceder a cualquiera de sus submatrices.
21/08/2015
MATEMÁTICAS APLICADAS PARA
INGENIERÍA CIVIL
7
Vectores y matrices
8. • Existen algunas matrices definidas previamente; por ejemplo, la
matriz identidad, matriz nula o la matriz cuyos elementos valen 1:
>> eye(3); % matriz identidad 3x3
>> zeros(3); % matriz nula 3x3
>> ones(3); % matriz unitaria 3x3
• Funciones útiles:
>> size(M); % Dimensiones de la
matriz M (número de filas y de
columnas)
>> length(u); % Longitud del vector (número de
coordenadas)
>> diag(u); % Matriz diagonal cuya diagonal es el
vector v
21/08/2015
MATEMÁTICAS APLICADAS PARA
INGENIERÍA CIVIL
8
Vectores y matrices
9. • Las funciones matemáticas elementales están definidas de forma
que se pueden aplicar sobre arrays. El resultado es
el array formado por la aplicación de la función a cada elemento
del array. Así:
>> p=(0:0.1:1)*pi; % Vector definido como el
producto de un vector por un
escalar
>> x=sin(p);
• Funciones: sea v y w vectores mxn, mat una matriz
>> z=v*w' % Producto escalar (producto de
matrices 1x3 por 3x1)
>> Z=w'*v % Producto de
matrices 3x1 por 1x3 =
Matriz 3x3
>> mat^2 % Matriz mat elevada al cuadrado
21/08/2015
MATEMÁTICAS APLICADAS PARA
INGENIERÍA CIVIL
9
Vectores y matrices: Operaciones
10. >> v.*w % Vector formado por los productos de
las respectivas coordenadas:
ans(i)=v(i)*w(i)
>> w./v % Vector formado por el cociente de
cada coordenada de w entre la
coordenada correspondiente
de v: ans(i)=w(i)/v(i)
>> mat.^2 % Matriz cuyos elementos son los
de mat elevados al
cuadrado: ans(i,j)=mat(i,j)^2
>> det(mat) % determinante de mat
>> mat’ % transpuesta de mat
>> eig(mat) % valores propios de mat
• y resolverse sistemas de ecuaciones lineales con el versátil
comando ():
>> matv‘
21/08/2015
MATEMÁTICAS APLICADAS PARA
INGENIERÍA CIVIL
10
Vectores y matrices: Operaciones
11. • Se puede trabajar con polinomios: basta tener en cuenta que un
polinomio no es más que un vector. El orden de los coeficientes es
de mayor a menor grado, por ejemplo:
>> p=[1 0 2 0 3] % Polinomio x^4+2*x^2+3
p =
1 0 2 0 3
>> q=[2 1 0] % Polinomio 2*x^2+x
q =
2 1 0
MATLAB tiene funciones específicas para polinomios como:
>> polyval(p,-1) % Evaluación del
polinomio x^4+2x^2+3 en x=-1
>> pro=conv(p,q) % Producto de los
polinomios p y q
21/08/2015
MATEMÁTICAS APLICADAS PARA
INGENIERÍA CIVIL
11
Polinomios
12. >> que=deconv(pro,p) %Cociente entre pro y p;
obviamente el resultado es q
>> roots(pro) % Raíces del polinomio pro
21/08/2015
MATEMÁTICAS APLICADAS PARA
INGENIERÍA CIVIL
12
Polinomios
13. • Dentro del módulo (toolbox) de matemática simbólica, se utiliza el
programa de cálculo simbólico MAPLE. Con estas herramientas, se
puede trabajar con funciones,
>> f='sin(x)' % Función sin(x) definida
mediante una cadena de
caracteres
f =
sin(x)
• calcular derivadas,
>> diff(sym(f))
ans =
cos(x)
>> diff(sym(f),2) % Derivada segunda de f
ans =
-sin(x)
21/08/2015
MATEMÁTICAS APLICADAS PARA
INGENIERÍA CIVIL
13
Derivadas y primitivas
14. • o encontrar primitivas.
>> int(sym('log(x)')) % Primitiva de la función
logaritmo
ans =
x*log(x)-x
>> diff(sym('x*log(x)-x')) % Comprobación
ans =
log(x)
21/08/2015
MATEMÁTICAS APLICADAS PARA
INGENIERÍA CIVIL
14
Derivadas y primitivas
15. • MATLAB tiene un gran potencial de herramientas gráficas. Se
pueden dibujar los valores de un vector frente a otro (de la misma
longitud):
>> x=pi*(-1:0.1:1);
>> y=x.*sin(x);
>> plot(x,y) % Por defecto une los
puntos (x(i),y(i)) mediante una
poligonal
• También pueden dibujarse funciones. Así:
>> fplot('sin(x)',[0 2*pi]) % Dibuja la función seno
en el intervalo [0,2*pi]
>> hold on % Mantiene en la ventana
gráfica los dibujos
anteriores
>> fplot('cos(x)',[0 2*pi]) % Dibuja sobre la gráfica
anterior la función cos(x)
>> ezplot('exp(x)') % Dibuja la función exponencial
en un intervalo adecuado a la función
21/08/2015
MATEMÁTICAS APLICADAS PARA
INGENIERÍA CIVIL
15
Graficas
16. • También existen variables lógicas que toman los valores 0 (falso) o 1
(verdadero) . Por ejemplo:
>> abs(v)>=2
ans =
0 1 1
>> v2=[3 2 1]
v2 =
3 2 1
>> logica=v==v2 % Asignación de un valor lógico
(el doble signo igual es el
% igual lógico)
logica =
0 1 0
>> logic2=v~=v2 % Distinto (~ es el operador de
negación)
logic2 =
1 0 1
21/08/2015
MATEMÁTICAS APLICADAS PARA
INGENIERÍA CIVIL
16
Variables lógicas
17. eq - Igual ==
ne - No Igual ~=
lt - Menor que <
gt - Mayor que >
le - Menor o igual que <=
ge - Mayor o igual que >=
• Operadores logicos
expr1 && expr2 % operador “y” indicando que ambas
expresiones deben ser verdaderas
expr1 || expr2 % operador “ó” indicando que alguna de
las expresiones deben ser verdaderas
21/08/2015
MATEMÁTICAS APLICADAS PARA
INGENIERÍA CIVIL
17
Variables lógicas
18. • if – Ejecuta la sentencia o declaraciones cuando la expresión condicional es verdadera (1)
if expression
statements
elseif expression
statements
else
statements
end
• Switch – Ejecuta un caso dependiendo del valor de la expresión switch.
switch switch_expression
case case_expression
statements
case case_expression
statements
...
otherwise
statements
end
21/08/2015
MATEMÁTICAS APLICADAS PARA
INGENIERÍA CIVIL
18
Condicionales y Ciclos iterativos
19. • For – Ejecuta la sentencia el número de veces indicadas.
for index = values
program statements
:
end
• While – Ejecuta repetidamente la sentencia mientras la condición
sea verdadera.
while expression
statements
end
21/08/2015
MATEMÁTICAS APLICADAS PARA
INGENIERÍA CIVIL
19
Condicionales y Ciclos iterativos
20. • Ejemplo 1: Calcular la suma de los n primeros términos de la
sucesión 1, 2x, 3x^2, 4x^3, ...
• Ejemplo 2: Decidir si un número natural es primo.
• Ejemplo 3: Dibujar la estrella geometrica
21/08/2015
MATEMÁTICAS APLICADAS PARA
INGENIERÍA CIVIL
20
Programación con MATLAB