You are on page 1of 10

Modelamiento y Simulacin de Procesos UNT - 2017

INICIANDO MATLAB I
Entrada y salida en MATLAB
Al arrancar MATLAB aparecer el smbolo del sistema (adems de algunos mensajes)

>>

El smbolo >> determina la lnea de comandos donde podremos escribir y ejecutar los
comandos. Para salir de MATLAB teclearemos:

>> quit

Aritmtica elemental
Comenzaremos viendo con varios ejemplos que las operaciones aritmticas habituales
se realizan del modo esperado con los operadores.

Suma: +
Resta: -
Multiplicacin: *
Divisin: /
Potencia: ^

Ejemplos:
>> 1+2 %Suma de dos enteros.
ans =
3

>> 2.45*3.1415 %Producto de dos nmeros reales.


ans =
7.6967

>> (3+2^3*i)+(-1+5*i) %Suma de complejos.


ans =
2.0000+13.0000i

Si no queremos que aparezca por pantalla el resultado de una operacin tendremos


que poner al nal de la lnea punto y coma ;.

Funciones matemticas comunes


APROXIMACIONES
Funcin Qu hace? Ejemplo
x = 5.92
ceil (x) redondea hacia infinito 6
fix (x) redondea hacia cero 5
floor (x) redondea hacia menos infinito 5
round (x) redondea hacia el entero ms 6
prximo

Ejemplos:
>> round ( [19.54646 13.656 -2.1565 0.78] )
ans =
ING. LUIS MONCADA TORRES 1
Modelamiento y Simulacin de Procesos UNT - 2017

20 14 -2 1
>> x = round(pi,3) %Aproxima a 3 cifras decimales
X =
3.1420

TRIGONOMETRA

Funcin Qu hace?
... (x) funcin trigonomtrica con el ngulo expresado en radianes
sin (x) seno (radianes)
cos (x) coseno
tan (x) tangente
csc (x) cosecante
sec (x) secante
cot (x) cotangente
...d (x) funcin trigonomtrica con el ngulo expresado en grados

sind (x) seno (grados)


... ...
...h (x) funcin trigonomtrica hiperblica con el ngulo expresado en
radianes
sinh (x) seno hiperblico (radianes)
... ...
a... (x) inversa de la funcin trigonomtrica con el resultado
expresado en radianes
asin (x) arco seno (radianes)
... ...
a...d (x) inversa de la funcin trigonomtrica con el resultado
expresado en grados
asind (x) arco seno (grados)
... ...
a...h (x) inversa de la funcin trigonomtrica hiperblica con el resultado
expresado en radianes
asinh (x) arco seno hiperblico (radianes)
... ...

Ejemplos:
>> sin(pi/2) %Seno de pi/2 radianes
ans =
1
>> sind(-90) %Seno de 90 grados centesimales
ans =
-1
>> cosd(60) %Coseno de 60 grados centesimales
ans =
0.5000
>> asind(1) %Arcoseno de 1 en grados centesimales
ans =
90

ALGUNAS OPERACIONES

Funcin Que hace?


ING. LUIS MONCADA TORRES 2
Modelamiento y Simulacin de Procesos UNT - 2017

abs (x) valor absoluto o magnitud de un nmero complejo


sign (x) signo del argumento si x es un valor real (-1 si es negativo, 0 si
es cero, 1 si es positivo)
exp (x) exponencial
gcd (m,n) mximo comn divisor
lcm (m,n) mnimo comn mltiplo
log (x) logaritmo neperiano o natural
log2 (x) logaritmo en base 2
log10 (x) logaritmo decimal
mod(x,y) mdulo despus de la divisin
rem (x,y) resto de la divisin entera
sqrt (x) raz cuadrada
nthroot (x,n) raz n-sima de x
(x e y cualquier escalar, m y n enteros)

Ejemplos:
>> abs (-7) % valor absoluto de -7
ans =
7
>> sign (10) % signo del nmero 10
ans =
1
>> gcd (9,12) % mximo comn divisor entre 9 y 12
ans =
3
>> lcm (10,25) % mnimo comn mltiplo
ans =
50
>> mod (-12,5) % mdulo de la divisin de -12 entre
5
ans =
3
> rem (12,5) % resto de la divisin de 12 entre 5
ans =
2
>> nthroot (8,3) % raz cbica de 8
ans =
2

Ecuaciones
solve, resuelve una ecuacin o un sistema de ecuaciones. Por ejemplo, para calcular
las races de la ecuacin

1
2 + =0
6 3

>> syms x; %Declaramos variable simblica


>> solve(x^2+x/6-1/3)
ans =
1/2
-2/3

ING. LUIS MONCADA TORRES 3


Modelamiento y Simulacin de Procesos UNT - 2017

Vamos a resolver la conocida ecuacin de segundo grado


2 + + = 0
2 4
1,2 =
2
>> syms a b c x; %Declaramos variables simblicas
>> eq=a*x^2+b*x+c;
>> solve(eq,x) %Resolvemos respecto a la variable
simblica x
ans =
-(b + (b^2 - 4*a*c)^(1/2))/(2*a)
-(b - (b^2 - 4*a*c)^(1/2))/(2*a)

Resolver el sistema de dos ecuaciones con dos incgnitas


3 + 2 = 1
{
=2
>> syms x y; %Declaramos variables simblicas
>> eq1=3*x+2*y+1;
>> eq2=x-y-2;
>> [x1 y1]=solve(eq1,eq2,x,y)
x1 =
3/5
y1 =
-7/5

Lmites
2 + 2 1
lim ( )=1
1 2 + 1
>> syms x a; %Declaramos variables simblicas
>> y=(x^2+2*x-1)/(x^2+1);
>> limit(y,x,1) %Calculamos limite cuando x
tiende a 1
ans =
1

a x
lim (1 + )
x x
inf representa en MATLAB el infinito
>> syms x a;
>> limit((1+a/x)^x,x,inf) %Calculamos limite cuando x tiende a
infinito
ans =
exp(a)

3/x2
lim (cos(2x))
x0
>> syms x;
>> y=cos(2*x)^(3/x^2);
>> limit(y,x,0)
ans =
1/exp(6)

La derivada de una funcin f(x) es el lmite

ING. LUIS MONCADA TORRES 4


Modelamiento y Simulacin de Procesos UNT - 2017

( + ) ()
() = lim
0
La derivada de y=sin(x) es y'=cos(x)
>> syms x h;
>> limit((sin(x+h)-sin(x))/h,h,0)
ans =
cos(x)

De forma alternativa, podemos calcular las derivadas definiendo la funcin f(x) como
funcin annima y aplicando la definicin de derivada.

>> syms x h;
>> f=@(x) sin(x) %funcin annima
>> limit((f(x+h)-f(x))/h,h,0)
ans =
cos(x)

Derivada de una funcin


La funcin diff calcula la derivada de una funcin respecto a una variable x. Por
defecto, calcula la derivada primera, pero tambin puede calcular la derivada segunda,
tercera, etc., indicndoselo en su segundo argumento.

>> syms x;
>> y=(sin(x))^2;
>> yp=diff(y) %derivada con respecto a x
yp =2*cos(x)*sin(x)
>> ypp=diff(yp) %derivada de la derivada
ypp =
2*cos(x)^2 - 2*sin(x)^2
>> diff(y,2) %segunda derivada (derivada
de la derivada)
ans =
2*cos(x)^2 - 2*sin(x)^2

Derivadas parciales (respecto de una variable)


>> syms x y;
>> diff(x*sin(x*y),x) %derivada con respecto a x
ans =
sin(x*y) + x*y*cos(x*y)
>> diff(x*sin(x*y),y) %derivada con respecto a y
ans =
x^2*cos(x*y)

Integral de una funcin


El comando int(f,x,a,b) calcula la integral de la expresin f, respecto de la variable x,
en el intervalo [a,b] donde a y b pueden ser cantidades numricas o variables
simblicas.

Integrales indefinidas
Si no ponemos lmites a la integral, obtenemos la integral indefinida, la funcin cuya
derivada es el integrando
() ()
() = = +

ING. LUIS MONCADA TORRES 5
Modelamiento y Simulacin de Procesos UNT - 2017

>> syms x; %Declaramos variable simblica


>> y=sin(x)^2;
>> z=int(y)
z =
x/2 - sin(2*x)/4
>> y=diff(z)
y =
1/2 - cos(2*x)/2
>> simplify(y)
ans =
sin(x)^2

Calculamos la derivada con diff, simplificamos la expresin obtenida con simplify y


obtenemos el integrando.

Integales definidas
Para calcular la integral

1 (2) 1 (2)
2 () = = | =
0 0 2 2 4 0
2
>> syms x; %Declaramos variable simblica
>> y=sin(x)^2;
>> int(y,0,pi)
ans =
pi/2

En este ejemplo,
+
( 2 )

>> syms x a; %Declaramos variables simblicas


>> y=exp(-a*x^2);
>> int(y,x,-inf,inf)
ans =

piecewise([a < 0, Inf], [0 <= real(a) | angle(a) in Dom::Interval([-


pi/2], [pi/2]) & a ~= 0, pi^(1/2)/a^(1/2)], [real(a) < 0 & ~angle(a)
in Dom::Interval([-pi/2], [pi/2]) & ~a < 0, int(exp(-x^2*a), x, -Inf,
Inf)])

Nos devuelve una expresin condicional cuya sintaxis es la siguiente:


pw = piecewise(cond1,val1,cond2,val2,...) cuyo valor es val1 cuando la condicin cond1 es
cierto, es val2 cuando cond2 es cierto, y as sucesivamente.
pw = piecewise(cond1,val1,cond2,val2,...,otherwiseVal) otherwiseVal si ninguna condicin es
verdadera.

Si declaramos el parmetro a positivo entonces:


>> clear
>> syms x; %Declaramos variable simblica
>> syms a positive; %Declaramos variable positiva
>> y=exp(-a*x^2);
>> int(y,x,-inf,inf)
ans =
pi^(1/2)/a^(1/2)

Diferentes formatos para los datos


ING. LUIS MONCADA TORRES 6
Modelamiento y Simulacin de Procesos UNT - 2017

Existen diferentes formatos de salida para los datos en MATLAB. Veamos algunos
ejemplos.

>> d=1/33
d=
0.0303
>> format long, d %Formato largo.
d=
0.03030303030303
>> format short e, d %Formato corto con mantisa y
exponente.
d=
3.0303e-02
>> format long e, d %Formato largo con mantisa y
exponente.
d=
3.030303030303030e-02
>> format rat, d %Formato racional.
d=
1/33

Asignaciones
Uno de los elementos fundamentales en la programacin son la variables: Variable:
Objeto que puede tomar el mismo valor a lo largo de todo el programa o bien puede ir
cambiando al ejecutar diferentes acciones.
Importante: MATLAB distingue entre maysculas y minsculas por lo que x y X no
sern las mismas variables ni lo sern tampoco Nodos, nodos y NODOS.

Ejemplos:
1) Comencemos con algunos ejemplos elementales de asignaciones y alguna de las
operaciones que se pueden realizar.
>> a=2 %Asignacin del valor 2 a la variable a.
a=
2
>> x=a %Asignacin del valor 2 a la variable x.
x=
2
>> x=x+2 %Asignacin del valor 4 a la variable x.
x=
4
>> b=1:1:10 %Asignamos a b el vector de datos
[1,2,3,4,...,10]
b=
1 2 3 4 5 6 7 8 9 10
>> a+b %Sumamos un escalar y un vector.
ans=
3 4 5 6 7 8 9 10 11 12
>> a*b %Producto de un vector y un escalar.
ans=
2 4 6 8 10 12 14 16 18 20

2) Si sumamos vectores de tamao diferente tenemos lo siguiente.


>> c=1:5:25 %Declaramos el vector c.

ING. LUIS MONCADA TORRES 7


Modelamiento y Simulacin de Procesos UNT - 2017

c=
1 6 11 16 21
>> b+c %Sumamos los vectores b y c.
??? Error using ==> +
Matrix dimensions must be agree

3) Podemos multiplicar vectores, bien como producto escalar de ellos o bien


componente a componente.
>> b=0:2:20 %Declaramos el vector b.
b=
0 2 4 6 8 10 12 14 16 18 20
>> c=0:1:10 %Declaramos el vector c.
c=
0 1 2 3 4 5 6 7 8 9 10
>> b.*c % Producto de dos vectores componente a
componente.
ans=
0 2 8 18 ...200
>> b*c %Matriz resultado de multiplicar b traspuesto
por c (ver pantalla)
>> b*c %Producto de b por c traspuesto (producto
interior)
ans=
770

4) No slo se pueden sumar vectores o multiplicar por una constante si no que se


puede calcular el logaritmo de un vector o el seno de un vector, etc. obteniendo el
logaritmo o el seno de cada una de sus componentes.
>> b=1:10; %Declaramos el vector b.
>> log(b) %Logartimo del vector b.
ans=
Columns 1 through 7
0 0.6931 ...1.9459
Columns 8 through 10
2.0794 2.1972 2.3026
>> sin(b) %Seno del vector b.
ans=
Columns 1 through 7
0.8415 0.9093 ...0.6570
Columns 8 through 10
0.98954 0.4121 -0.5440
>> c=1:1:5
c=
1 2 3 4 5
>> 2.^c %2 elevado a las potencias que determina
c.
ans=
2 4 8 16 32
>> c.^ 2 %Las componentes de c elevadas al
cuadrado.
ans=
1 4 9 16 25

ING. LUIS MONCADA TORRES 8


Modelamiento y Simulacin de Procesos UNT - 2017

Un punto delante de los operadores .*, .^ y ./ indica que las operaciones se realizan
componente a componente en los vectores o las matrices.

5) En relacin a la aritmtica matricial mostramos algunas de las funciones ms


habituales.
>> A=[1 2 3;4 5 6;7 8 9] %Definicin de la matriz A.
A=
1 2 3
4 5 6
7 8 9
>> A(2,2) %Elemento (2,2) de la matriz A.
ans=
5
>> A(:,3) %Muestra la tercera columna de la matriz A.
ans=
3
6
9
>> size(A) %Tamao de la matriz A.
ans=
3 3
>> B=[1 2 1;2 1 2;1 2 1]
B=
1 2 1
2 1 2
1 2 1
>> A*B %Producto matricial habitual.
ans=
8 10 8
20 25 20
32 40 32

WHO, WHOS, CLEAR


Un comando de uso frecuente es who que nos permite conocer el nmero y nombre
de las variables usadas a lo largo del programa o de la sesin. Su formato es:

>> who
Your variables are:
A u vfil x
ans vcol w y

donde las variables corresponden a otra ejecucin del programa.

El comando whos nos muestra, adems del nombre de las variables, informacin
adicional de cada variable, distinguiendo si es vector o escalar.

>> whos
Name Size Bytes Class
A 3x4 96 double array
ans 4x1 32 double array
u 1x1 8 double array
vcol 4x1 32 double array
vfil 1x4 32 double array
w 1x1 8 double array
ING. LUIS MONCADA TORRES 9
Modelamiento y Simulacin de Procesos UNT - 2017

x 1x1 8 double array


y 1x1 8 double array

Debemos tener en cuenta que MATLAB en cada sesin mantiene en memoria todas
las variables utilizadas hasta ese momento y que nicamente el comando clear hace
que elimine el valor de todas las variables.

>> clear

Si ahora tecleamos who no se produce ninguna salida.

ING. LUIS MONCADA TORRES 10

You might also like