Sie sind auf Seite 1von 85

UNIVERSIDAD MAYOR DE SAN SIMON

FACULTAD DE CIENCIAS Y TECNOLOGIA


COMPUTACIN PARA INGENIERIA
ENTORNO GRAFICO DE MATLAB
Current Folder.- Ficheros que hay en la carpeta de trabajo (Directorio Actual)

Command Window.- Todas las ordenes se escriben en el Command Window (ventana de


comando)

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Workspace.- La ventana Workspace proporciona diversa informacin sobre las variables utilizadas
(Espacio de Trabajo)

Command History.- Todas las rdenes quedan grabadas en el command History (Historial de
Comandos)

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
PUNTOS A TOMAR EN CUENTA
MATLAB distingue entre maysculas y minsculas
Los comentarios, que se vern de color verde, deben ir precedidos por % para que Matlab
los ignore.
Las ordenes ejecutadas por MATLAB con anterioridad pueden recuperarse siempre con las
teclas (Arriba) y (Abajo)

Para acceder a la ayuda de MATLAB basta teclear help en el Command Window


Para Borrar las variables del Workspace se usa el comando clear
Para Borrar el contenido de Command Window se usa el comando clc, y deja todo limpio.
Comando whos sirve para ver las caractersticas de la variable
Comando what nos permite visualizar cuales son los archivos .m que hay en el directorio
actual
Comando help es un comando de ayuda
OPERACIONES ARITMETICAS
En MATLAB se realiza las siguientes operaciones:
+
*
/
^

Sumar
Restar
Multiplicar
Dividir
Elevar a una potencia (alt+094)

Ejemplo:
>> 10+8
ans =
18
Ejemplo:
>> 10^2
ans =
100
Ejemplo:
>> 18*2
ans =
36

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

pretty(x) Expresa en forma usual la variable x


vpa(x,n) Nos muestra con mayor precisin el resultado, nosotros indicamos con cuantos
decimales
Dnde:
x=Expresin con senos cosenos exponenciales
n=nmero de dgitos q queremos que nos muestre
simple(g) Nos muestra la ecuacin mas simplificada

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

VISUALIZACION DE LOS RESULTADOS

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Cuando se hace un clculo sin usar variables como en los ejemplos anteriores, automticamente el
clculo se guarda en una variable de respuesta llamada ans (answer respuesta)
QUE ES UNA VARIABLE.- Es un espacio de memoria reservada en el cual se puede almacenar un tipo
de dato.
DECLARAR VARIABLES EN MATLAB
Declarar Variables que contengan un dato
Primero se debe poner el nombre de la variable (el nombre puede ser cualquier tipo de letra o
palabra), seguidamente de un signo = y escribir el dato que queremos almacenar en dicha
variable.
Ejemplo
>> x=10
x=
10
Ejemplo
>> x=10+8
x=
18
Para conocer el valor de una variable solo basta con escribir su nombre.
Ejemplo:
>> x
x=
18
No mostrar el resultado
Si deseamos no mostrar el resultado en el command window simplemente ponemos el signo
punto y coma (;) al final. Al no mostrar el resultado no quiere decir q no hizo el clculo
simplemente significa que si se realiz el clculo pero no mostro el resultado.
Ejemplo
>> y=10*2;
Comprobamos si se realiz el clculo, y efectivamente se realiz.
>> y
y=
20

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Declarar Variables que no contengan un dato


Para poder declarar una variable que vamos a utilizar debemos poner el cdigo Syms
seguidamente del nombre de la variable (el nombre puede ser cualquier tipo de letra o palabra)
Ejemplo
>> syms x

Ejemplo
>> syms y
>> f=2*cos(y)
f=
2*cos(y)

Ejercicios propuestos

tan ln(8)
5
6

2 7
a) cos
sen

5
6
8
7.
2
2

Resp. 0.2191

b) Defina las variables x como x=13.5 y calcule:


a) x 3 5 x 2 26.7 x 52
Resp.2.9592e+03

b) log x 2 x3
Resp. 3.3576

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
LIMITES
El Comando para calcular lmites es:
Limit(f,x,a)
Dnde:
Limite de la funcin (f) cuando la variable (x) tiende al punto (a)
Ejemplo:
(

>> syms x
>> f=(x^2-1)/(x-1);
>> limit(f,x,1)
ans =
2

Ejemplo:
( + )
(
)

>> syms x n
>> f=((3+x)^n -3^n)/x;
>> limit (f,x,0)
ans =
3^(n - 1)*n

Ejemplo
(

>> syms x
>> f=(1-x)/(1-sqrt(x));
>> limit(f,x,1)
ans =
2

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Ejemplo

+
)
+

>> syms x
>> f=((x^2 +1)^(1/3))/(x+1);
>> limit(f,x,inf)
ans =
0

+
)

>> syms x
>> f=(7*x^5 -10*x^4 -13*x +6)/(3*x^2 -6*x -8);
>> limit(f,x,2)
ans =
-11/2
+ () ()
(
)

()

++

DERIVADAS
El Comando para calcular derivadas es:
diff(f,x,k)

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
Dnde:
f Funcin a derivar
xrespecto la variable a la cual se deriva
k Numero de derivadas que se desea, si no se pone el k MATLAB asume k=1, que sera la 1ra
derivada

Ejemplo
() = + + +
>> syms a b c d x
>> f=(a*x^3 + b*x^2+ c*x +d);
>> diff(f,x)
ans =
3*a*x^2 + 2*b*x + c

() = (

)
( )

Ejemplo
Calcular la segunda derivada de la funcin f(x)
()

() = + + +
>> syms a b c d x
>> f=(a*x^3 + b*x^2+ c*x +d);
>> diff(f,x,2)
ans =
2*b + 6*a*x
DERIVADAS PARCIALES
Ejemplo
(, ) = + ( + )
Calcular

>> syms x y
>> f=x^4 + sin(x+y^3);
>> diff(f,x,2)

10

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
ans =
12*x^2 - sin(y^3 + x)

>> syms x y
>> f=x^4 + sin(x+y^3);
>> diff(f,y,2)
ans =
6*y*cos(y^3 + x) - 9*y^4*sin(y^3 + x)

INTEGRALES
INTEGRALES INDEFINIDAS
El Comando para calcular integrales es:
Int(f,x)
Dnde:
ffuncin a integrar
xvariables respecto a la cual se va integrar
Ejemplo
()
>> syms x
>> f=2*x;
>> int(f,x)
ans =
x^2

Ejemplo
( )
>> syms x
>> f=sin(x)^2;
>> int(f,x)

11

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
ans =
x/2 - sin(2*x)/4
Ejemplo
(( ) ( )
>> syms x
>> f=(sin(x)^3) *(cos(x)^6);
>> int(f,x)
ans =
(cos(x)^7*(7*cos(x)^2 - 9))/63

INTEGRALES DEFINIDAS
El Comando para calcular integrales es:
Int(f,x,a,b)
Dnde:
fFuncin a integrar
xRespecto la variable a integrar
aLmite inferior
bLmite Superior

Ejemplo

( )

>> syms x
>> f=x^4 - 1;
>> int(f,x,0,3)
ans =
228/5
Ejemplo

12

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

(())

>> syms x
>> f=tan(x);
>> int(f,x,0,pi/3)
ans =
log(2)

sen ( x) cos ( x)dx


3

Resp. 2/35

INTEGRALES DOBLES
Ejemplo

( + )

>> syms x y
>> f=2*x + 3*y;
>> int((int(f,x,0,1)),y,1,2)
ans =
11/2
Ejemplo
+

( )

>> syms x y
>> f=x*y;
>> int((int(f,y,2*x,3*x+1)),x,1,2)
ans =

13

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
137/8

INTEGRALES TRIPLES
Ejemplo

( + ( + ) + ( + ))

>> syms x y z
>> f=x+sin(y+z)+cos(x+y);
>> int((int((int(f,x,-1,2)),y,4,9)),z,-3,4)
ans =
7*cos(6) - 7*cos(3) + 7*cos(8) - 7*cos(11) - 3*sin(1) + 3*sin(6) + 3*sin(8) - 3*sin(13) + 105/2
>> round(ans)
ans =
63

Ejemplo

() ( )

( + + + )

>> syms x y z
>> f=(1+x+y+z)^-3;
>> int((int((int(f,z,0,1-x-y)),y,0,1-x)),x,0,1)
ans =
log(2)/2 - 5/16
RESOLUCION DE ECUACIONES
El Cdigo para resolver una ecuacin es:
solve(f,x)
Dnde:
fEcuacin a resolver
xVariable respecto a cul se va resolver
Nota.- f,x siempre deben estar dentro de comillas simples ()

14

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
Ejemplo
=
>> solve('x-4','x')
ans =
4

Ejemplo
+ + =
>> solve('x^5 - 2*x^4 + 5*x^2 +5 =0','x')
ans =
-1.4580779746728707719771948687808
1.7640467376264465340656905641866 + 1.1919532510152085917205463122611*i
- 0.035007750290011148077093129796164 - 0.8690969868882427567056575871979*i
- 0.035007750290011148077093129796164 + 0.8690969868882427567056575871979*i
1.7640467376264465340656905641866 - 1.1919532510152085917205463122611*i

RESOLUCION DE SISTEMA DE ECUACIONES


El Cdigo para resolver un sistema de ecuaciones es:
[y1 yn]=solve('ec1', , 'ecn')
Dnde:
y1yn Son las variables a hallar
ec1ecn Son las ecuaciones del sistema
Nota.-Las variables a hallar deben ir dentro de corchetes ([]) y separadas por un espacio, las
ecuaciones siempre deben estar dentro de comillas simples () , y separadas por una coma(,)
entre ecuaciones
Ejemplo

>> [x,y]=solve('x+2*y=0','2*x + y=0')


x=
0
y=
0
Ejemplo

15

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

>> [x y]=solve('x^3 - 4*sin(x)+y=0','y^2+cos(x*y)+x=0')


x=
-1.7734373138796109886233916368324
y=
1.6594481511916120172833487059994
Ejercicios propuestos
a)

x y
4
2 3
x
y 1
3
Resp. x=66/7; y=-15/7
b)

x 1 y 1

0
3
2
x 2y x y 2

0
3
4
Resp. x=-13/7; y=11/7
RESOLUCION DE ECUACIONES DIFERENCIALES
El Cdigo para resolver una ecuacin diferencial es:
dsolve(f,x)
Dnde:
fEcuacin diferencial a resolver
xVariable respecto a cul se va resolver
Nota.- f,x siempre deben estar dentro de comillas simples ()

Ejemplo
= +

= +

>> dsolve('Dy=1+y^2','x')
ans =

16

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
tan(C10 + x)
i
-i
Ejemplo
= + ()

= + ()

>> dsolve('Dy=-y+sin(t)','t')
ans =
sin(t)/2 - cos(t)/2 + C19*exp(-t)
Ejercicios propuestos
a) x ' e t

b) x '

2t
resp. C5 - log(t^2 - 1) + exp(t)
t 1
2

1 t
resp. C13/(x^2 + 9)^(1/2)
t 2 x2
RESOLUCION DE ECUACIONES DIFERENCIALES CON ALGUNA CONDICION

El Cdigo para resolver una ecuacin diferencial con alguna condicin es:
dsolve(f,cond,x)
Dnde:
fEcuacin diferencial a resolver
xVariable respecto a cul se va resolver
condCondicion inicial o limite condicional
Nota.- f,x,cond siempre deben estar dentro de comillas simples ()
Ejemplo

= +
=+

() =

>> dsolve('Dy=y+1','y(0)=1','x')
ans =
2*exp(x) 1
Ejemplo
+ =

+
=

() =

>> dsolve('D3y-3*D2y+3*Dy-y=0','D2y(0)=1','x')
ans =
C26*x^2*exp(x) - exp(x)*(2*C26 + 2*C27 - 1) + C27*x*exp(x)

17

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

RESOLUCION DE SISTEMA DE ECUACIONES DIFERENCIALES


El Cdigo para resolver un sistema de ecuaciones diferenciales es:
[y1, ,yn]=dsolve (eqn1, , eqnN,x)
Dnde:
y1yn Son las variables a hallar
eqn1eqnN Son las ecuaciones del sistema
x Variable respecto a cul se va resolver
Nota.-Las variables a hallar deben ir dentro de corchetes ([]) y separadas por una coma (,), las
ecuaciones siempre deben estar dentro de comillas simples () , y separadas por una coma(,)
entre ecuaciones
Ejemplo

() = () , () = ()

>> [x,y]=dsolve('Dx=y','Dy=-x','t')
x=
C28*cos(t) + C29*sin(t)
y=
C29*cos(t) - C28*sin(t)
Ejemplo

= , = +

= +

>> [x y]=dsolve('Dx=-2*x-2*y','Dy=-2*y+exp(-2*t) * sqrt(t)','t')


x=
exp(-2*t)*(C39 + t*(C38 - (4*t^(3/2))/3) + (4*t^(5/2))/5)
y=
-(exp(-2*t)*(C38 - (4*t^(3/2))/3))/2

18

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

RESOLUCION DE SISTEMA DE ECUACIONES DIFERENCIALES CON ALGUNA CONDICION


El Cdigo para resolver un sistema de ecuaciones diferenciales es:
[y1, ,yn]=dsolve (eqn1, , eqnN,cond1, ,condN ,x)
Dnde:
y1yn Son las variables a hallar
eqn1eqnN Son las ecuaciones del sistema
cond1condN Condiciones iniciales o limitee condicionales
x Variable respecto a cul se va resolver
Nota.-Las variables a hallar deben ir dentro de corchetes ([]) y separadas por una coma (,), las
ecuaciones y condiciones siempre deben estar dentro de comillas simples () , y separadas por
una coma(,) entre ecuaciones

Ejemplo

= , =

Para

y(0)=1

x(0)=5

>> [x,y]=dsolve('Dx=x-2*y','Dy=2*x-3*y','y(0)=1','x(0)=5','t')
x=
(exp(-t)*(16*t + 10))/2
y=
exp(-t)*(8*t + 1)
Ejemplo

= , = +

= +

Para

y(0)=4

x(0)=3

>> [x y]=dsolve('Dx=-2*x-2*y','Dy=-2*y+exp(-2*t) * sqrt(t)','y(0)=4','x(0)=3','t')


x=
exp(-2*t)*((4*t^(5/2))/5 - t*((4*t^(3/2))/3 + 8) + 3)

19

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
y=
(exp(-2*t)*((4*t^(3/2))/3 + 8))/2
SUSTITUCION DE VARIABLES
subs(expr, old, new)
Dnde:
expr es una expresin simbolica
old es el valor que se desea sustituir
new es el nuevo valor

ejemplo.>> syms x a b c
>>f = a*x^2 + b*x + c;
>>g = subs(f,x,-1)
>>g =
a-b+c

ejemplo.>> syms x a b c k
>>f = a*x^2 + b*x + c;
>>g = subs(f,[a,b,c],[1,2,k])
>>g =
x^2 + 2*x + k
EVALUACION DE POLINOMIOS
polyval(coef, x);
Dnde:
coef vector que almacene los coeficientes del polinomio, en orden decreciente de grado.
x vector que almacene los valores de x que se quieren evaluar
ejemplo
>> coef=[2 0 1 -2];
>> x=0:20;
>> polyval(coef,x)

%2*x^3+x-2

ans =
Columns 1 through 4
-2
1
16
Columns 5 through 8

55

20

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

130
253
436
691
Columns 9 through 12
1030
1465
2008
2671
Columns 13 through 16
3466
4405
5500
6763
Columns 17 through 20
8206
9841
11680
13735
Column 21
16018
RAICES DE POLINOMIOS
roots(p);
roots halla las races del polinomio p
Dnde:
p vector que almacene los coeficientes del polinomio, en orden decreciente de grado.

Ejemplo
>> p = [1 -1 -6];
>> roots(p)

%x^2 x- 6=0

ans =
3
-2
Ejercicios propuestos

x 4 3x5 2 x 2 5
INVERSA DE UNA FUNCION

g = finverse(f,var)
Dnde:
g = finverse( f ) devuelve el inverso de la funcin f . Aqu f es una expresin o funcin de una variable
simblica, por ejemplo, x . Entonces g es una expresin o funcin, de forma que f(g(x)) = x . Es
decir, finverse(f) devuelve f 1 , siempre f 1 existe.
g = finverse( f , var ) utiliza la variable simblica var como la variable independiente. Entonces g es una
expresin o funcin, tal que f(g(var)) = var . Use este formulario cuando f contiene ms de una variable
simblica.

>> syms x
>> f (x) = 1 / tan (x);
>> g = finverse (f)
g(x) =
atan(1/x)

21

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

VECTORES Y MATRICES

+ adicin o suma
sustraccin o resta
* multiplicacin
' traspuesta
^ potenciacin
\ divisin-izquierda
/ divisin-derecha
.* producto elemento a elemento
./ y .\ divisin elemento a elemento
.^ elevar a una potencia elemento a elemento
Vectores.Para poder definir un vector fila, es suficiente escribir sus coordenadas entre corchetes, separados
cada elemento del vector mediante un espacio o coma (,).
Ejemplo

>> v=[4 7 8]
v=
4 7 8
Operaciones con vectores
Ejemplo
>> a=[1 2 3 4]
a=
1 2 3 4
>> b=[7 8 9 4]
b=
7 8 9 4
>> c=a+b
c=
8 10 12 8
>> d=a-b
d=
-6 -6 -6 0

22

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Transpuesta ( ).- Convierte la fila en columna y viceversa


>> b'
ans =
7
8
9
4
>> e=a*b'
e=
66

Generar Vectores
v1=(x:n:y)
Dnde:
v1nombre del vector
xValor inicial
nintervalo
yValor final
Ejemplo
>> v1=(0:2:10)
v1 =
0 2 4 6

8 10
f=linspace(a,b,x)

Dnde:
fnombre del vector
aValor inicial
bValor final
xNmero de elementos del vector
Ejemplo
>> a=linspace(0,10,6)
a=
0

8 10

23

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Conocer el valor de un elemento de un vector

v(n)
Dnde:
vNombre del Vector
nposicin del vector
Ejemplo
>>a(2)
ans =
2
v(m:n)
Dnde:
vNombre del Vector
mposicin inicial del vector desde donde va mostrar
nposicin final del vector hasta donde va mostrar
Ejemplo
a=
0

8 10 12 14

>> a(1:4)
ans =
0

v(m:x:n)
Dnde:
vNombre del Vector
mposicin inicial del vector desde donde va mostrar
nposicin final del vector hasta donde va mostrar
xintervalo
Ejemplo
>> a=0:2:14
a=
0 2 4 6 8 10 12 14
>> a(1:3:7)
ans =
0 6 12

24

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Sea el vector u=2:3:18;

Acceder a los tres primeros elementos del vector u

Acceder al segundo, cuarto y sexto elementos del vector u

Acceder al sexto, cuarto y sexto elemento del vector u

Acceder a los tres ltimos elementos del vector u

Acceder al primero, tercero y cuarto elementos del vector u

>> u=2:3:18
u=
2 5 8 11 14 17
>> u(1:3)
ans =
2 5 8
>> u(2:2:6)
ans =
5 11 17
>>
>> u(end-2:end)
ans =
11 14 17
>>
u([1,3,4])
ans =
2 8 11

25

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Matrices.Las matrices se escriben como los vectores, pero separando las filas mediante un punto y coma (;).
Ejemplo
>> A = [ 1 2 3; 3 4 5; 6 7 8]
A=
1 2 3
3 4 5
6 7 8
FUNCIONES TIPICAS CON MATRICES

det: determinante de una matriz

inv, pinv: inversa y pseudoinversa

eig: obtencin de auto valores

rank: rango de la matriz

trace: traza de la matriz

diag: produce un vector conteniendo los elementos de la diagonal de una matriz,


o si recibe un vector como parmetro, genera una matriz diagonal.

tril: devuelve la matriz triangular inferior de una matriz dada

triu: devuelve la matriz triangular superior de una matriz dada


FUNCIONES PARA GENERAR MATRICES

eye(n): produce una matriz identidad de dimensin n n

zeros(n,m): genera una matriz de ceros de dimensin n m

ones(n,m): genera una matriz de unos de dimensin n m

rand(n,m): permite generar una matriz de valores aleatorios, entre 0 y 1, de


dimensin n m

size(n): Tamao de la matriz n


magic(n): crea una matriz cuadrada n x n de enteros de modo que sumen lo mismo

las filas y las columnas

length(n): devuelve la mayor de las dos dimensines de la matriz n

FUNCIONES PARA OPERAR CON MATRICES

exp, log, sqrt operan elemento a elemento


[L,U] = lu (A) factorizacin LU
[Q,R] = qr (A) factorizacin QR
Multiplicacin de matrices elemento a elemento

Ejemplo
>> a=[1 2 3; 4 5 6; 7 8 9]
a=
1 2 3
4 5 6

26

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
7 8 9
>> b=[4 2 5; 7 8 9; 4 5 3]
b=
4 2 5
7 8 9
4 5 3
>> a.*b
ans =
4 4 15
28 40 54
28 40 27
Inversa de la Matriz b
Ejemplo
>> inv(b)
ans =
0.5385 -0.4872 0.5641
-0.3846 0.2051 0.0256
-0.0769 0.3077 -0.4615
Determinante de la Matriz b
Ejemplo
>> det(b)
ans =
-39.0000
Transpuesta de la Matriz b
Ejemplo
>> b'
ans =
4 7
2 8
5 9

4
5
3
Traza de la Matriz b

Ejemplo
>> trace(b)
ans =
15

27

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Ejemplo
Crear una matriz 32 y otra de 23con los vectores u=[1,0,-3]; v=[4,1,-2];
Calcular el producto u.*v y cociente u./v elemento a elemento de los dos
vectores
>> u=[1,0,-3]; v=[4,1,-2];
>> A=[u',v']
A=
1 4
0 1
-3 -2
>> A=[u;v]
A=
1
4

0 -3
1 -2

>> u.*v
ans =
4

>> u./v
ans =
0.2500

0 1.5000

28

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
Crear estas dos matrices A y B sin inicializar cada elemento de la matriz, en una sola
lnea en la ventana de comandos
>> A=[(1:5)',zeros(5,1),(-6:2:2)']
A=
1
2
3
4
5

0 -6
0 -4
0 -2
0 0
0 2

>> B=[1:2:11;0:5:25;10:10:60;-6:2:4]
B=
1 3 5 7 9 11
0 5 10 15 20 25
10 20 30 40 50 60
-6 -4 -2 0 2 4

Sea la matriz

Crear un vector columna de nueve elementos que contenga los elementos de la


primera, tercera y cuarta columna

Crear un vector fila de ocho elementos, que contenga los elementos de la sugunda
fila y de la tercera columna

>> A=[0,2,3,4,2;-2,3,-1,5,1;0,2,-4,-3,1]
A=
0 2 3 4 2
-2 3 -1 5 1
0 2 -4 -3 1
>> u=[A(:,1);A(:,3);A(:,4)]
u=
0
-2
0
3
-1
-4
4
5
-3

29

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
>> u=[A(2,:),A(:,3)']
u=
-2 3 -1 5 1

3 -1 -4

Sean las matrices

Realizar las siguientes operaciones con lpiz y papel y comprobar luego con MATLAB
A*BT(el superndice T indica traspuesta)
AT*B
A.*B (producto elemento a elemento)
A./B
>> A=[1,0,-1;4,-2,-3]
A=
1 0 -1
4 -2 -3
>> B=[1,-2,3;1,-1,2]
B=
1 -2 3
1 -1 2
>> A*B'
ans =
-2 -1
-1 0
>> A'*B
ans =
5 -6 11
-2 2 -4
-4 5 -9
>> A.*B
ans =
1 0 -3
4 2 -6
>> A./B
ans =
1.0000
0 -0.3333
4.0000 2.0000 -1.5000

30

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
Ejercicio propuesto 1.Comprobar si son verdaderas o falsas estas afirmaciones:
A+(B+C)= (A+B)+C, propiedad asociativa
2(A+B)=2A+2B
A*(B+C)=A*B+A*C, propiedad distributiva
A*B=B*A, propiedad conmutativa
(A*B)T=BT*AT
(A*B)*C=A*(B*C)
(A+B)T=AT+BT
Ejercicio propuesto 2.Resolver el sistema de tres ecuaciones mediante la operacin X=A\b. donde A es la
matriz de los coeficientes, b es el vector de los trminos indpendientes y X es el
vector de las incgnitas.

Ejercicio propuesto 3.Cree la siguiente matriz A

6 43 2 11 87

A 12 6 34 0 5
34 18 7 41 9

Utilice la matriz A para:


a) Crear un vector fila de cinco elementos llamado va, que contenga los elementos de la
segunda fila de A.
b) Crear un vector fila de seis elementos llamado vb, que contenga los elementos de la
cuarta columna de A.
c) Crear un vector fila de diez elementos llamado vc, que contenga los elementos de la
primera y segunda fila de A.
d) Crear un vector fila de seis elementos llamado vd, que contenga los elementos de la
segunda a la quinta columna de A.

31

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
GRAFICAS EN 2D
plot(x,y,)
Dnde:
xCoordenada en el eje x
yCoordenada en el eje y

>> x=0:0.3:8;
>> y=(3*x-1)./(x-3);
>> plot(x,y)

plot(x,y,col est)
Dnde:
xCoordenada en el eje x
yCoordenada en el eje y
colSmbolo de color de trazo
estSmbolo de estilo de trazo
Nota.- El color de trazo y el estilo deben ir dentro de comillas simples () y separados mediante un
espacio

32

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Ejemplo:

>> x=[1 2 3]
x=
1

>> y=[1 2 3]
y=
1

>> plot(x,y,'r --')

Es posible configurar ciertos aspectos de las grficas como:


title(texto) texto es el nombre del ttulo que se pondr en la parte central de la grafica
xlabel(texto) texto es la etiqueta del eje x de la grafica
ylalbel(texto) texto es la etiqueta del eje y de la grafica
grid Nos muestra una grilla
text(x,y, 'texto') texto en el lugar especificado por las coordenadas
gtext('texto') texto, el lugar lo indicamos despus con el ratn:
axis equal fija que la escala en los ejes sea igual:
axis square fija que la grfica sea un cuadrado:
axis normal desactiva axis equal y axis square
hold on abre una ventana de grfico
hold off borra lo que hay en la ventana de grfico
legend(leyenda1,leyenda2, ) Aade la leyenda del eje, por cada serie de datos mostrada

33

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
GRAFICA DE LA FUNCION SENO
Ejemplo
Realice la grfica de la funcin y=sen(x) en el intervalo de
>> x=0:0.01:2*pi;
>> y=sin(x);
>> plot(x,y,'g .')
>> title('Grafica de la funcion seno')
>> xlabel('Eje x')
>> ylabel('Eje y')
>> grid

34

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
GRAFICA DE ARREGLOS COMPLEJOS
EJEMPLO: GRAFICAR EL SIGUIENTE ARREGLO DE NUMEROS COMPLEJOS
Para graficar nmeros complejos con el comando plot toma la parte real como dato en el eje x, y la
parte imaginaria como dato para el eje y
[0+0i,1+2i,2+5i,3+4i]
SOLUCION:
>> a=[0+0i,1+2i,2+5i,3+4i];
>> plot(a)
>> title('grafica 1 arreglo de numeros complejos');
>> xlabel('Parte Real');
>> ylabel('Parte Imaginaria');
>> grid
>> legend('arreglo de complejos');

GRAFICA DE 2 ARREGLOS COMPLEJOS

35

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
EJEMPLO: GRAFICAR LOS 2 ARREGLO DE NUMEROS COMPLEJOS
Cuando graficamos 2 arreglos complejos con el comando plot, lo que hace es tomar la parte real
del primer arreglo como valores para el eje x, y la parte real del segundo arreglo como para
valores para el eje y
A=[0+0i,1+2i,2+5i,3+4i]

>> a=[0+0i,1+2i,2+5i,3+4i];
>> b=sin(a);
>> plot(a,b)
>> title('grafica de 2 arreglos de numeros complejos');
>> xlabel('parte real del 1er arreglo');
>> ylabel('parte real del 2do arreglo');
>> grid
>> legend('2 arreglos de complejos');
>> gtext('UMSS');

GRAFICAR LA LINEA, CON COLOR Y ESTILO DE MARCA

36

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
EJEMPLO: GRAFICAR LOS SIGUIENTES PUNTOS

>> x=[1:10];
>> y=[58.5,63.8,64.2,67.3,71.5,88.3,90.1,90.6,89.5,90.4];

37

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
>> plot(x,y,':dr')
>> title('grafica de puntos');
>> xlabel('eje x');
>> ylabel('eje y');
>> grid
>> legend('grafica');
>> gtext('cambio de direccin');

EJEMPLO: GRAFICAR LOS MULTIPLES PUNTOS

38

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

>> x=[1:10];
>> y=[58.5,63.8,64.2,67.3,71.5,88.3,90.1,90.6,89.5,90.4];
>> plot(x,y,'--r',x,y*2,'xc',x,y/8,'m*')
>> title('multiples graficas');
>> xlabel('eje x');
>> ylabel('eje y');
>> grid
>> legend('x vs y','x vs 2y','x vs y/8');

39

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
EJEMPLO: GRAFICAR LA APROXIMACION DE TAYLOR PARA LA FUNCION SENO
[0 2*] Y QUE TENGA 100 DATOS

() = +

>> x=linspace(0,2*pi,100);
>> y=sin(x);
>> y2=x-((x.^3)/6)+((x.^5)/120);
>> plot(x,y,'m',x,y2,'o')
>> grid
>> title('aproximacion de taylor para la funcion seno');
>> xlabel('eje x');
>> ylabel('eje y');
>> legend('sin(x)','aproximacion de taylor');

Graficando con Ezplot

40

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
ezplot(f)
Donde:
f=funcin a graficar
Nota.- Matlab para el comando ezplot pone por defecto el intervalo
Ejemplo
Realice la grfica de la funcin y=x2
>> syms x
>> ezplot(x^2)

ezplot(f,[a b])
Donde:
f=funcin a graficar
a=Punto de Inicio del intervalo
b= Punto final del intervalo
Ejemplo
Realice la grfica de la f(x)=x3-1 en el intervalo de
>> syms x
>> ezplot(x^3 -1,[-2 2])

41

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
fplot(f,[a b])

Donde:
f=funcin a graficar
a=Punto de Inicio del intervalo
b= Punto final del intervalo
Ejemplo
Realice la grfica de la funcin y=2x-3 en el intervalo de
>> syms x
>> fplot('2*x-3',[-2 2])

fplot(f,[a b],col est)

Donde:
f=funcin a graficar
a=Punto de Inicio del intervalo
b= Punto final del intervalo
colSmbolo de color de trazo
estSmbolo de estilo de trazo
Ejemplo
Realice la grfica de la funcin y=x2-3 en el intervalo de
>> syms x
>> fplot('x^2 -3',[-4 4],'r --')

SUBFIGURAS

42

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
El comando subplot permite dibujar varias graficas en una misma ventana con el siguiente codigo
que es:
subplot(m,n,p)
Dnde:
mEs el nmero de filas en que se va dividir la ventana
nEs el nmero de columnas en que se va dividir la ventana
pNos indica en que posicin vamos a grafica
Ejemplo
Realice la grfica de la funcines y=sen(X) y y1=cos(x) en el intervalo
>> x = 0:0.1:2*pi;
>>y1 = sin(x);
>>y2 = cos(x);
>>subplot(2,1,1)
>>plot(x,y1,'r --')
>>title('y = sin(x)');
>>subplot(2,1,2)
>>plot(x,y2,'g --')
>>title('y = cos(x)');

43

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
EJERCICIO PROPUESTO DE SUPERDIVISION DE VENTA DE FIGURA
1. Subdivida una ventana de figura en dos filas y una columna.
2. En la ventana superior, grafique y = tan(x) para -1,5 x 1,5. Use un incremento de 0.1
3. Agregue un ttulo y etiquetas de eje a su grfica.
4. En la ventana inferior, grafique y = senh(x) para el mismo rango.
5. Agregue un ttulo y etiquetas a su grfica.

SOLUCION
>> x=-1.5:0.1:1.5;
>> y=tan(x);
>> y1=sinh(x);
>> subplot(2,1,1)
>> plot(x,y);
>> title('grafica de tan(x)');
>> xlabel('eje x');
>> ylabel('eje y');
>> grid
>> legend('tan(x)');
>> subplot(2,1,2);
>> plot(x,y1);
>> title('sinh(x)');
>> xlabel('eje x');
>> ylabel('eje y');
>> grid
>> legend('sinh(x)');

GRAFICAS LOGARITMICAS

44

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

loglog (x, y) : ambos ejes en escala logartmica


semilogx(x, y): eje X logartmico
semilogy(x, y): eje y logartmico
Graficando utilizando loglog
Representacin en escala logartmica en ambos ejes
Para poder colorear la superficie se pone el cdigo:
loglog(x,y)
Dnde:
xCoordenada en el eje x
yCoordenada en el eje y

Ejemplo

Realice la grfica de la funcin = + en el intervalo


>> x=1:0.2:10;
>> y=8+exp(-x.^2);
>> loglog(x,y)
>> title('Grafica Logaritmica')
>> xlabel('Eje x')
>> ylabel('Eje y')

45

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
EJERCICIO PROPUESTO DE LOGARITMOS
1. Subdivida una ventana de figura en dos filas y dos columnas.
2. En la ventana superior izquierda, grafique con plot
() = |. ()|
para 0 x 3 Use un incremento de 0.01
3. Agregue un ttulo a su grfica.
4. En la ventana superior derecha, grafique con loglog la misma funcin para el mismo rango.
5. Agregue un ttulo a su grfica.
6. En la ventana inferior izquierda, grafique con semilogx la misma funcin para el mismo rango.
7. Agregue un ttulo a su grfica.
8. En la ventana inferior izquierda, grafique con semilogy la misma funcin para el mismo rango.
9. Agregue un ttulo a su grfica.

SOLUCION

>> x=0:0.01:3;
>> y=abs((exp(-0.5*x)).*sin(5*x));
>> subplot(2,2,1);
>> loglog(x,y);
>> title('grafica con loglog');
>> subplot(2,2,2);
>> semilogx(x,y);
>> grid
>> grid off
>> grid on
>> grid off
>> title('grafica con semilogx');
>> subplot(2,2,3);
>> semilogy(x,y);
>> title('grafica con semilogy');
>> subplot(2,2,4);
>> plot(x,y);
>> title('grafica normal');

GRAFICAS EN COORDENADAS POLARES

46

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
polar (x,y, col est)
Dnde:
x=Intervalo
y= Funcion
colSmbolo de color de trazo
estSmbolo de estilo de trazo
Ejemplo
Calcule la grfica de la funcin r=1+cos(w) en el intervalo de

>> w=0:0.1:2*pi;
>> r=1+cos(w);
>> polar(w,r)

EJERCICIO PROPUESTO
Calcule la grafica de la funcin r=1-2sen(3w) en el intervalo de con un intervalo de
0.1 y ponga titulo y etiquetas
>> w=0:0.1:2*pi;
>> r=1-2*sin(3.*w);
>> polar(w,r);

47

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
GRAFICAS DE BARRAS

GRAFICAR CON BAR(X)

>> x=[4 3 2 1];


>> bar(x);
>> title('grafica de barras');
>> xlabel('eje x');
>> ylabel('eje y');
>> grid

48

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

GRAFICAR CON BARH(X)

>> x=[4 3 2 1];


>> barh(x);
>> title('grafica de barras');
>> xlabel('eje x');
>> ylabel('eje y');
>> grid

GRAFICAR CON PIE(X)

>> x=[4 3 2 1];


>> pie(x);
>> title('grafica de pastel');
>> xlabel('eje x');
>> ylabel('eje y');
>> grid

49

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

GRAFICAS EN 3D
Un grafico 3-D de lnea esta constituido por una lnea que se obtiene uniendo una serie de puntos
en un espacio tridimensional. La forma mas sencilla y bsica de crear un grafico 3-D es mediante
la funcin plot3
plot3 (x,y,z,col est)
Dnde:
x,y,z=representan los vectores con las coordenadas de los puntos.
colSmbolo de color de trazo
estSmbolo de estilo de trazo

Ejemplo
Calcule la grfica de los puntos, dentro del intervalo
= (2)
= (2)
= 0.5
>> t=0:0.1:6*pi;
>> x=sqrt(t).*sin(2*t);
>> y=sqrt(t).*cos(2*t);
>> z=0.5*t;
>> plot3(x,y,z,'g --')
>> grid
>> xlabel('x')
>> ylabel('y')
>> zlabel('z')

50

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Ejemplo
Calcule la grfica de los puntos, dentro del intervalo
= (2 + 4 cos())cos()
= (2 + 4 cos())()
= 2

>> t=0:0.01:20;
>> x=(2+4*cos(t)).*sin(t);
>> y=(2+4*cos(t)).*cos(t);
>> z=t.^2;
>> plot3(x,y,z)
>> grid
>> plot3(x,y,z)
>> xlabel('x')
>> ylabel('y')
>> zlabel('z')

51

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Superficies de Malla
La funcin mesh dibuja superficies 3D a partir de matrices.
Con mesh(X,Y,Z) se muestra la matriz Z sobre las coordenadas de la rejilla especificada
por las matrices X e Y. Para crear estas matrices se utiliza el comando meshgrid:
[X, Y] = meshgrid(x,y)
donde x e y son los vectores base a partir de los cuales se construye la rejilla. Las Filas de
la matriz de salida X son copias del vector x y las columnas de la matriz de salida Y son
copias del vector y.
Ejemplo

Dibujar la superficie = + en el [-2 2]


>>x = -2:0.1:2;
>>y = -2:0.1:2;
>> [x,y] = meshgrid(x,y);
%crea matrices para la malla
>>z=sqrt(x.^2 + y.^2);
>>mesh(x,y,z);
%dibuja la grafica

52

>> [x,y] = meshgrid(-2:0.1:2);


>> z=sqrt(x.^2 + y.^2);
>>mesh(x,y,z);

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Graficando utilizando surf

Es similar a la grfica de malla, pero aqu se rellenan los espacios entre lneas. La orden
que usamos
es surf con los mismos argumentos que para mesh.

Ejemplo

Dibujar la superficie = + en el [-2 2]


>> [x,y] = meshgrid(-2:0.2:2);
>>z=sqrt(x.^2 + y.^2);
>>surf(x,y,z);

Colores para la Superficie:


Para poder colorear la superficie se pone el cdigo:
colormap(m)
Dnde:
mes la funcin del color que deseamos que se pinte

53

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Ejemplo
>> [x,y] = meshgrid(-5:0.1:5);
>>z = sin(x)+cos(y);
>>mesh(x,y,z)
>> colormap(hot)

Dibujar al funcin
z=xy2x2+y21x3 1y4z=xy2x2+y21x3 1y4

>> x=-1:0.1:3;
y=1:0.1:4;
[X,Y]=meshgrid(x,y);
Z=(X.*Y.^2)./(X.^2+Y.^2);
mesh(X,Y,Z);
xlabel('X')
ylabel('Y')
zlabel('Z')

Ejercicio
Dibujar la superficie = en el dominio [-2 20]
Dibujar la funcin =

54

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

PROGRAMACION EN MATLAB
Entrar al menu New, y presionar en Script

Comando break, nos permite detener el cdigo


% el signo de porcentaje nos sirve para poner comentarios

Ejemplo
%hola esto es un comentario
LEER DATOS
a=input('Mensaje');

Ejemplo
a=input('ingrese el primer valor: ');

MOSTRAR DATOS
disp('Mensaje a mostrar');

Ejemplo
disp('la suma es: ')

ESTRUCTURA CONDICIONAL IF
La estructura condicinal if, verifica si la condicin es verdadera ejecuta ciertas tareas y si la
condicin es falsa no ejecuta nada.
Sintaxis.-

55

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
if condicin
tareas
end

Ejemplo
x=0;
if x==0
disp('hola');
end
hola

La estructura condicinal if else , verifica si la condicin es verdadera ejecuta la tarea1 y si la


condicin es falsa ejecuta la tarea2.
Sintaxis.if condicin
tarea1
else
tarea2
end

Ejemplo
if x>0
disp('hola');
else
disp('chau');
end
chau

La estructura condicional if else anidado , verifica la condicin1 si es verdadera ejecuta la tarea1 y


si la condicin1 es falsa verifica la condicion2, si dicha condicion2 es verdadera ejecuta la tarea2 y
si es falsa verifica la condicion3, si dicha condicion3 es verdadera ejecuta la tarea3 y si ninguna de
las condiciones 1,2 y 3 son verdaderas ejecuta la tarea n.
Sintaxis.if condicin1
tarea1
else if condicion2

56

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
tarea2
else if condicion3
tarea3
else
tarean
end

Ejemplo
x=-2;
if x>0
disp('hola')
elseif x==0
disp('chau')
else
disp('como estas')
end
como estas
ESTRUCTURA SELECTIVA SWITCH
La estructura selectiva SWITCH, verifica si la switch_expresion es igual a case_expr1 realiza la
tarea1, si switch_expresion es igual a case_expr2 realiza la tarea2, y asi sucesivamente hasta la
verificar con la case_exprn. Si al final switch_expresion no es igual a ninguno de los
{case_expr2, case_expr3, case_expr4,...case_exprn} entonces realiza la
tarea_defecto que est debajo de otherwise

Sintaxis.switch switch_expresion
case case_expr1,
tarea1
case {case_expr2, case_expr3, case_expr4,...case_exprn}
tarean
...
Otherwise,
tarea_defecto
end

Ejemplo
x=3;
switch x
case 1,
disp('uno')

57

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
case 2,
disp('dos')
otherwise,
disp('error')
end
error

ESTRUCTURA DE REPETICION FOR


La estructura de repeticin for, va repitiendo la tarea desde un valor inicial i, hasta un valor
final con incremento.
sintaxis.-

for i=valor inicial:incremento:valor final


tarea
end

Ejemplo
for i=1:2:11
disp(i);
end
1
3
5
7
9
11

Ejemplo2
for i=1:4
for j=1:4
a(i,j)=i*j;
end
end
>> a
a=

58

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
1
2
3
4

2 3
4 6
6 9
8 12

4
8
12
16

ESTRUCTURA DE REPETICION WHILE


La estructura de repeticin while, si la condicin es verdadera ejecuta la tarea, si es falso no
ejecuta nada

while condicion
tarea
end
Ejemplo
s=1;
i=1;
while s<100
s=s*i;
i=i+1;
end
disp(s)
disp(i)
120
6

59

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Archivos-M
Cuando el nmero de rdenes a ejecutar aumenta o cuando se desea cambiar el valor de una o ms
variables y reevaluar una serie de instrucciones, MATLAB permite escribir y guardar dichas
instrucciones en un simple archivo de texto, de tal manera que si se lo invoca desde la ventana de
rdenes es ejecutado lnea por lnea como si hubiesen sido escritas en las lneas de la ventana de
rdenes.
La potencia de MATLAB reside en su capacidad para ejecutar una larga serie de comandos
almacenados en un archivo o fichero de texto. Estos ficheros reciben el nombre de Archivos-M ya
que sus nombres tienen la forma nombre_archivo.m.
Existen dos tipos de Archivos-M: los scripts y las funciones (functions).

Scripts:

No tienen argumentos de entrada ni de salida.


Para ejecutar un script basta con teclear su nombre (sin extensin) en la ventana
de comandos.
Todas las variables creadas por del script aparecen en el workspace, a no ser que
pongamos ; al final de cada lnea de codigo

Funciones:

Las funciones s tienen argumentos de entrada y/o de salida.


Para ejecutar una funcin hay que especificar el valor de sus argumentos de
entrada.
Las variables internas de la funcin no aparecen en el workspace (a no ser que se
indique lo contrario)

CREACIN DE ARCHIVOS-M DE SCRIPTS

Para elaborar un archivo-M de Script se hace clic en New del men File y se selecciona
Script. Aparecer una nueva ventana para la edicin de texto donde se teclea la lista de
instrucciones de MATLAB. Para guardarlo como archivo-M en el disco, se hace clic en Save As
del men File del editor y se agrega al nombre del archivo la extensin m.
Escribiendo simplemente el nombre del archivo (sin la extensin m) en la lnea de orden
de MATLAB, se ejecutarn las rdenes contenidas en el archivo.

Nota:
Para hacer algn comentario en el editor de cdigo el smbolo % delante de la lnea de
cdigo y matlab no leer esa lnea de cdigo.
Para poder mostrar algn mensaje en matlab se escribe disp se abre un parntesis y entre
comillas simples el texto que uno desea mostrar.
disp(texto a mostrar)
Ejemplo.- Crear un Archivo-M para calcular el volumen de una esfera con radio 2.4

60

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
%calculo del volumen de una esfera de radio 2.4

r=2.4;
v=(4/3)*pi*r^3;
disp('El volumen de la esfera es: ')
v

Una vez terminado el archivo procedemos a guardar

61

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Ahora utilizamos nuestro archivo en matlab

Ahora para poder modificar nuestro archivo, primero debemos ir al men y clic en la opcin de
open, buscamos nuestro archivo lo abrimos y lo podemos editar.

62

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Procedemos a editar

63

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
Ejemplo.a) Confeccione un archivoM que calcule el rea del tringulo cuya base y altura miden
respectivamente 12.34cm y 7.82cm. Y gurdelo en el disco
b) Llmelo desde la ventana de orden para ver que obtiene.
c) Abra nuevamente el archivo haciendo clic en Open del men file y luego de seleccionar el nombre
del archivo haga clic en Aceptar. Modifique los valores de la base=10 y altura=20 del tringulo,
guarde el archivo modificado y ejectelo nuevamente desde la ventana de orden de MATLAB.
SOLUCION
INCISO A)
%calcular el area del triangulo con base 12.34 y altura de 7.82

b=12.34;
h=7.82;
area=(1/2)*b*h;
disp('el area del triangulo es: ');
area

64

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

65

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
INCISO B)
Ejecutamos nuestro archivo

INCISO C)
PROCEDEMOS A MODIFICAR

66

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

CREACIN DE ARCHIVOS-M DE FUNCIONES


Un Archivo-M tipo function tambin es una secuencia ordenada de comandos MATLAB pero, a
diferencia de los scripts, para su ejecucin necesitar que se le introduzcan argumentos de entrada
y, como respuesta, generar argumentos de salida.

67

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
Las funciones le ayudan a programar eficientemente, lo que le permite evitar reescribir el cdigo de
computacin para clculos que se realizan con frecuencia. Por ejemplo, la mayora de los programas
de cmputo contienen una funcin que calcula el seno de un nmero. En MATLAB, sin es el nombre
de la funcin que se usa para llamar una serie de comandos que realizan los clculos necesarios.
El usuario necesita proporcionar un ngulo y MATLAB regresa un resultado. No es necesario que el
programador sepa cmo MATLAB calcula el valor de sin(x).
Sintaxis

function[V1,V2,...,Vn]=nombre_archivo(a1,a2,...an)
Donde:
V1, V2, ...,Vn = son las variables de salida
a1, a2,...,ak = son los argumentos o variables de entrada, que sern asignadas en el mismo orden
al convocar la funcin.

Ejemplo.- Cree una funcin que lea 2 nmeros y muestre la suma


Solucion
Para empezar a crear una funcin lo primero es entrar al editor de Archivos-M del tipo funcin.

68

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
Una vez dentro el editor nos aparecer de esta forma

Ahora empecemos con el cdigo


function s=sumar2(a,b)
%funcion que lee 2 numeros y muestra como resultado la suma
s=a+b;
disp('la suma es:')
end

69

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Ahora procedemos a guardarlo

70

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Ahora ejecutamos en el matlab

Otra forma
Nota:
El comando input nos permite poder mostrar un mensaje y leer un dato y almacenarlo en una
variable.
Se escribe input se abre un parntesis y entre comillas simples se escribe el texto que uno desea
mostrar

Ejem:
X=Input(mensaje)
Donde:
X= Es una variable cualquiera donde se va almacenar el valor ledo
mensaje= Es el mensaje que se muestra

function s=sumar3(a,b)
%esta es otra forma de sumar 2 numeros
%pero mostrando mensajes
a=input('ingrese el primer valor: ');
b=input('ingrese el segundo valor: ');
s=a+b;
disp('la suma es: ')
end

71

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Haciendo correr en matlab

Ejemplo.- Calcular el seno aproximado de la funcion


function y=Tsen(x,n)
%calcula el seno aproximado
xt=x*pi/180;
y=0;
for k=0:1:n-1
y=y+(-1)^k*xt^(2*k+1)/factorial(2*k+1);
end

>> Tsen(150,9)
ans =
0.5000

Ejemplo.- Calcular el coseno aproximado de la funcin

72

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

function y=Tcos(x,n)
%calcula la el coseno aproximado
xt=x*pi/180;
y=0;
for k=0:1:n-1
y=y+(-1)^k *xt^(2*k)/factorial(2*k)
end

>> Tcos(150,9)
ans =
-0.8660

Ejemplo:
Un silo con estructura cilndrica de radio r posee una parte superior esfrica de radio R. La altura
de la porcin cilndrica es H. Escribir un fichero script que determine la altura H a partir de los
valores r y R, y del volumen V. Adems, el programa debe calcular el rea de la superficie del silo.
Los datos conocidos son r=30 pies, R=45 pies y V=120000 pies3. Asignar estos valores
directamente en la ventana de comandos.

73

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Solucin.
El volumen total del silo se obtiene sumando el volumen de la parte cilndrica y el de la parte
correspondiente al techo esfrico. El volumen de un cilindro se calcula a partir de la expresin:
= 2
Y el volumen de techo esfrico se obtiene a partir de:
1
= 2 (3 )
3
Donde:
= = (1 ), se obtiene a partir de la expresin
=

Utilizando la ecuacin de arriba, la altura H de la parte cilndrica se puede expresar de la forma:


=

El rea de la superficie del silo se calcula sumando el rea de la parte esfrica y el de la parte
cilndrica:
= + = 2 + 2
A continuacin se muestra el programa, en forma de fichero script llamado silo que resuelve el
problema propuesto.
fprintf(texto %f texto adicional,nombre_variable)
donde:

74

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
texto= Mensaje a mostrar
%=Este smbolo marca el lugar donde se insertara el numero dentro del texto
nombre_variable= nombre de la variable cuyo valor ser visualizado
f=carcter de conversin obligatorio
valores de puede tomar f
e
E
f
g
G
i

Notacion exponencial en minsculas (ej. 1.709098e+001).


Notacion exponencial en mayusculas (ej. 1.709098E+001).
Notacion de punto fijo (ej. 17.090980).
Representacion en formato corto de las notaciones e o f.
Representacion en formato corto de las notaciones E o f.
Entero

%programa calcular la altura y rea de la superficie de un silo


theta=asin(r/R);
%se calcula
h=R*(1-cos(theta));
%se calcula h
Vtecho=pi*h^2*(3*R-h)/3;
%se calcula el volumen del techo
H=(V-Vtecho)/(pi*r^2);
%se calcula H
S=2*pi*(r*H+R*h);
%se calcula el rea de la superficie S
%se visualizan los resultados con fprintf
fprintf('La altura H es: %f pies',H);
fprintf('\n El area de la superficie del silo es %f pies cuadrados',S)

>> V=120000; r=30; R=45;


>> silo
La altura H es: 36.433188 pies
Ejemplo:
Calculo de un Polinomio
() = . + . . . + .

a) Calcular F(g)
b) Representar grficamente F(x) entre -1.5 x 6.7
c) Races del polinomio

75

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
Solucion
a)>> p=[1 -12.1 40.59 -17.015 -71.95 35.88];
>> polyval(p,6)
ans =
-146.5200
b) >> x=-1.5:0.1:6.7;
>> y=polyval(p,x);
>> plot(x,y)

c) >> p=[1 -12.1 40.59 -17.015 -71.95 35.88];


>> r=roots(p)
r=
6.5000
4.0000
2.3000
-1.2000
0.5000
Ejemplo:
Centroide de un rea compuesta
Escribir un programa, utilizando un fichero script, que calcule las coordenadas del centroide de un
rea compuesta como el de la figura adjunta. Un rea compuesta puede ser dividida en secciones
independientes cuyo centroide es conocido. El usuario necesita dividir el rea en secciones y
conocer las coordenadas del centroide (dos nmeros), asi como el rea de cada seccin (un
numero). Cuando se ejecute el script, este debe pedir al usuario que introduzca los tres nmeros

76

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
como fila de una matriz. El usuario debe introducir tantas filas como secciones haya. Las secciones
que representan agujeros tendrn rea negativa. Como salida, el programa debe mostrar
coordenadas del centroide del rea compuesta. Los datos conocidos se indican en la figura.

77

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Solucin
El rea se divide en seis secciones, como se muestra en la siguiente figura. El rea total se calcula
sumando las tres secciones de la parte izquierda y restando las tres secciones de la derecha. La
localizacin y coordenadas del centroide de cada seccin vienen marcadas en la figura, asi como el
rea de cada seccin.

Son las coordenadas del centroide y el area de cada seccion.


A continuacion se muestra el fichero script que calcula las coordenadas del centroide de un area
compuesta. Este fichero se ha guardado en disco con el nombre de Centroide.
%Este programa calcula las coordenadas del centroide

78

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
%de un area compuesta
clear C xs ys As
C=input('Introduzca una matriz en la que cada fila tenga tres elementos.
\n En cada fila debe introducir las coordenadas as x e y del centroide,
asi como el area de la seccion. \n');
xs=C(:,1)';
%Se crea un vector fila para la coordenada x de
%cada seccin (primera columna de C).
ys=C(:,2)';
%Se crea un vector fila para la coordenada y de
%cada seccin (segunda columna de C).
As=C(:,3)';
%se crea un vector fila para el rea de cada
%seccin(tercera columna de C).
A=sum(As);
%se calcula el rea total
x=sum(As.*xs)/A; %se calcula las coordenadas del centroide del rea
%compuesta
y=sum(As.*ys)/A;
fprintf('Las coordenadas del centroide son: (%f,%f)',x,y)

>> centroide
Introduzca una matriz en la que cada fila tenga tres
elementos.
En cada fila debe introducir las coordenadas as x e y del
centroide, asi como el area de la seccion.
[100 100 200*200;60-120/pi 200+120/pi pi*60^2/4;60+140/3 220
140*60/2;100 100/pi -pi*50^2/2;150 95 -40*150;105 145 -50*50]
Las coordenadas del centroide son: (85.387547,131.211809)>>

79

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Ejemplo
Suma, multiplicacin y divisin de polinomios

Suma:
Dos polinomios pueden ser sumados o restados sumando o restando sus vectores de coeficientes.
Si los polinomios no tienen el mismo grado (los vectores de coeficiente tienen distinto tamao), el
vector ms corto debe ser modificado, aadiendo ceros por la izquierda, para que tenga la misma
longitud que el vector ms largo. Por ejemplo, los polinomios:

() = + +

() =
Se pueden sumar de la siguiente forma:
>> p1=[3 15 0 -10 -3 15 -40];
>> p2=[3 0 -2 -6];
>> p=p1+[0 0 0 p2]
p=
3 15

0 -7 -3 13 -46

Multiplicacin:
Para multiplicar dos polinomios se utiliza la funcin conv de MATLAB, cuya sintaxis es la siguiente:

c=conv(a,b)
Donde:
a y b = son vectores que contienen los coeficientes de los polinomios a multiplicar
c= es un vector que contiene los coeficientes del polinomio producto, resultado de la
multiplicacin
En el caso de la multiplicacin, los polinomios no tienen por qu ser del mismo grado
La multiplicacin de tres o mas polinomios se lleva a cabo mediante el uso repetitivo de la funcin
conv
Por ejemplo, el producto de los polinomios f1(x) y f2(x) anteriores da como resultado
>> p1=[3 15 0 -10 -3 15 -40];
>> p2=[3 0 -2 -6];
>> pm=conv(p1,p2)

80

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
pm =
9 45 -6 -78 -99 65 -54 -12 -10 240
Que se corresponde con el polinomio:
+ + +

Divisin:
Para dividir un polinomio entre otro se utiliza la funcin deconv, cuya sintaxis es la siguiente:

[q,r]=deconv(u,v)
Donde:
u = es un vector que contiene los coeficientes de polinomio numerador
v= es un vector con los coeficientes del polinomio denominador
q= es un vector que contiene los coeficientes del polinomio cociente de la divisin
r= es un vector que contiene los coeficientes del polinomio resto de la divisin

Por ejemplo, la divisin de + + entre x+3 se puede llevar a cabo de la


siguiente forma:
>> u=[2 9 7 -6];
>> v=[1 3];
>> [a,b]=deconv(u,v)
a=
2
b=
0

%El resultado (cociente) de la operacin es el polinomio: +

3 -2
0

%El resto de la divisin es cero

Veamos a continuacin otro ejemplo de divisin con resto distinto de cero. Se trata de
dividir el polinomio + + 0 entre
>> w=[2 -13 0 75 2 0 -60];
>> z=[1 0 -5];
>> [g,h]=deconv(w,z)
g=
2 -13 10 10 52

h=
0

0 50 200

%El cociente es: + + +

%El resto es:

Es decir, el resultado de la divisin es: 2 4 13 3 + 10 2 + 10 + 52 +

81

50+200
2 5

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Ejemplo
Calculo del grosor de una caja
Las dimensiones exteriores de una caja rectangular (el fondo y las cuatro caras, excluyendo la
parte superior) fabricada de aluminio son 24 x 12 x 4 pulgadas. El grosor del fondo y de las caras
de la caja es x. Deducir una expresin que relacione el peso de la caja con su grosor x. Calcular el
grosor x para una caja que pesa 15 libras. El peso especfico del aluminio es 0.101
libras/pulgadas3.

Solucion
El volumen del aluminio VAl se puede calcular a partir del peso W de la caja, de la forma:

Donde:
VAl=es el volumen del aluminio
= es el peso especifico
Por tanto, el volumen del aluminio a partir de las dimensiones de la caja vendra dada por:
= 24 12 4 (24 2)(12 2)(4 )
Donde el volumen interior de la caja se resta al volumen exterior. Esta ecuacion puede escribirse
de la siguiente forma:
(24 2)(12 2)(4 ) + (24 12 4) = 0
Que es un polinomio de tercer grado. Una de las raices del polinomio sera el valor del grosor x de
la caja. El siguiente programa script calcula este valor:

82

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA
%programa para el calculo del grosor de una caja
W=15; gama=0.101; %Asigna valores a W y gama
VAlum=W/gama;
%Calcula el volumen del aluminio
a=[-2 24]; %Asigna a a el polinomio 24-2x
b=[-2 12]; %Asigna a b el polinomio 12-2x
c=[-1 4];
%Asigna a c el polinomio 4-x
Vin=conv(c,conv(a,b)); %Multiplica los tres polinomios anteriores
polyeq=[0 0 0 (VAlum-24*12*4)]+Vin %Suma Vin y VAl-24*12*4
x=roots(polyeq) %Calcula las raices del polinomio

como puede comprobarse, a partir de la segunda linea hasta el final, para poder sumar Vin y VAl24*12*4, esta ultima expresion se debe representar como polinomio de grado identico al de Vin,
ya que Vin es un polinomio de tercer grado. Cuando se guarda (grosor) y se ejectura el script, se
visualizara el valor calculado x:
>> grosor
polyeq =

%el polinomio es:


%4 3 + 88 2 576 + 148.515

-4.0000 88.0000 -576.0000 148.5149

x=
10.8656 + 4.4831i
10.8656 - 4.4831i
0.2687

%El polinomio tiene una raiz real, x=0.2687 pulgadas, que se corresponde con el valor del grosor
de las paredes de aluminio de la caja.

83

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

Ejemplo:
Calculo de la altura de una boya
Una esfera de aluminio de pared delgada se utiliza como boya de sealizacin. La esfera tiene un
radio de 60 cm, y el grosor de la pared de aluminio, cuya densidad es = 2690 /3, es de
12 mm. La boya esta situada en el oceano, donde la densidad del agua es de 1030 kg/m3. Calcular
la altura h entre la parte superior de la boya y la superficie del agua.

Solucion
Segn el principio de Arquimides, la fuerza ascencional de empuje que se aplica a un cuerpo
sumergido en un fluido es igual al peso del fluido desplazado por el cuerpo en cuestion. Entonces,
la esfera de aluminio estara sumergida a una profundidad tal que el peso de la esfera sera igual al
peso del fluido desplazado por la parte de la esfera que esta sumergida en el agua.

El peso de la esfera vendra dado por:

4
= = ( ) ( 3 3 )
3

Donde:
VAl=es el volumen del aluminio
ro y ri= representan el radio exterior e interior de la esfera, respectivamente.
g= es la aceleracion de la gravedad

84

Aux. Joseph Bill Salvatierra Barrionuevo

UNIVERSIDAD MAYOR DE SAN SIMON


FACULTAD DE CIENCIAS Y TECNOLOGIA
COMPUTACIN PARA INGENIERIA

El peso del agua desplazado por la parte de la esfera que esta sumergida vendra dado por:

1
= = ( ) (2 )( + )
3
Igualando ambos pesos resulta la siguiente ecuacion
3 3 2 + 4 3 4

( 3 3 ) = 0

Esta ecuacion es un polinomio de tercer grado con h como incognita. La raiz de dicho polinomio
sera la solucion al problema.
Con MATLAB se puede obtener la solucion escribiendo el polinomio y utilizando la funcion roots
para calcular el valor de h. A continuacion se muestra el codigo correspondiente a esta solucion:
rexterior=0.60; rinterior=0.588;
%asigna valores a los radios
rhoalum=2690;rhoagua=1030;
%asigna las densidades a las variables
a0=(4*rexterior^3)-(4*rhoalum*(rexterior^3 -rinterior^3)/rhoagua);
%calcula el coeficiente a0
p=[1 -3*rexterior 0 a0];
%asigna los coeficientes del polinomio
h=roots(p)
%calcula las raices del polinomio

Una vez que se ejecuta el fichero en la ventana de comandos (guardado como boya). MATLAB
muestra tres posibles valores para la solucion h, ya que el polinomio calculado es de tercer grado.
Sin embargo, la unica solucion posible para este problema es h=0.9029 m
>> boya
h=
1.4542
0.9029
-0.5570

85

Aux. Joseph Bill Salvatierra Barrionuevo

Das könnte Ihnen auch gefallen