Está en la página 1de 85

UNIVERSIDAD MAYOR DE SAN SIMON

FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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


1
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Workspace.- La ventana Workspace proporciona diversa información 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


2
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

PUNTOS A TOMAR EN CUENTA

 MATLAB distingue entre mayúsculas y minúsculas


 Los comentarios, que se verán 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 características 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


3
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

pretty(x)  Expresa en forma usual la variable x


vpa(x,n)  Nos muestra con mayor precisión el resultado, nosotros indicamos con cuantos
decimales
Dónde:
x=Expresión con senos cosenos exponenciales
n=número de dígitos q queremos que nos muestre
simple(g) Nos muestra la ecuación mas simplificada

Aux. Joseph Bill Salvatierra Barrionuevo


4
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

VISUALIZACION DE LOS RESULTADOS

Aux. Joseph Bill Salvatierra Barrionuevo


5
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Cuando se hace un cálculo sin usar variables como en los ejemplos anteriores, automáticamente el
cálculo 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 cálculo
simplemente significa que si se realizó el cálculo pero no mostro el resultado.

Ejemplo

>> y=10*2;

Comprobamos si se realizó el cálculo, y efectivamente se realizó.

>> y
y=
20

Aux. Joseph Bill Salvatierra Barrionuevo


6
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Declarar Variables que no contengan un dato

Para poder declarar una variable que vamos a utilizar debemos poner el código 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  2  7 
2
6 
a) cos   sen   Resp. 0.2191
 6   8  7.
5
2

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


7
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

LIMITES

El Comando para calcular límites es:

Limit(f,x,a)

Dónde:

Limite de la función (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


8
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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


9
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Dónde:
f Función a derivar
xrespecto 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 sería 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 función 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)

Aux. Joseph Bill Salvatierra Barrionuevo


10
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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)

Dónde:
ffunción a integrar
xvariables 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)

Aux. Joseph Bill Salvatierra Barrionuevo


11
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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)

Dónde:
fFunción a integrar
xRespecto la variable a integrar
aLímite inferior
bLímite Superior

Ejemplo
𝟑

∫(𝒙𝟒 − 𝟏)𝒅𝒙
𝟎
>> syms x
>> f=x^4 - 1;
>> int(f,x,0,3)
ans =
228/5

Ejemplo

Aux. Joseph Bill Salvatierra Barrionuevo


12
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

𝝅
𝟑

∫(𝒕𝒂𝒏(𝒙))𝒅𝒙
𝟏

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


2

 sen ( x) cos ( x)dx


3 4

0
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 =

Aux. Joseph Bill Salvatierra Barrionuevo


13
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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 Código para resolver una ecuación es:
solve(‘f’,’x’)

Dónde:
fEcuación a resolver
xVariable respecto a cuál se va resolver

Nota.- f,x siempre deben estar dentro de comillas simples (‘)

Aux. Joseph Bill Salvatierra Barrionuevo


14
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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 Código para resolver un sistema de ecuaciones es:

[y1 … yn]=solve('ec1', …, 'ecn')

Dónde:
y1…yn Son las variables a hallar
ec1…ecn  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

Aux. Joseph Bill Salvatierra Barrionuevo


15
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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 Código para resolver una ecuación diferencial es:
dsolve(‘f’,’x’)

Dónde:
fEcuación diferencial a resolver
xVariable respecto a cuál se va resolver

Nota.- f,x siempre deben estar dentro de comillas simples (‘)

Ejemplo
𝒅𝒚
𝐲′ = 𝟏 + 𝐲𝟐 ó = 𝟏 + 𝒚𝟐
𝒅𝒙

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

Aux. Joseph Bill Salvatierra Barrionuevo


16
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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
2t
a) x '  e t  resp. C5 - log(t^2 - 1) + exp(t)
t 1
2

1 t
b) x '  resp. C13/(x^2 + 9)^(1/2)
t 2 x2

RESOLUCION DE ECUACIONES DIFERENCIALES CON ALGUNA CONDICION

El Código para resolver una ecuación diferencial con alguna condición es:
dsolve(‘f’,’cond’,’x’)

Dónde:
fEcuación diferencial a resolver
xVariable respecto a cuál se va resolver
condCondicion 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)

Aux. Joseph Bill Salvatierra Barrionuevo


17
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

RESOLUCION DE SISTEMA DE ECUACIONES DIFERENCIALES

El Código para resolver un sistema de ecuaciones diferenciales es:

[y1, …,yn]=dsolve (‘eqn1’, …, ‘eqnN’,’x’)


Dónde:
y1…yn Son las variables a hallar
eqn1…eqnN  Son las ecuaciones del sistema
x  Variable respecto a cuál 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

Aux. Joseph Bill Salvatierra Barrionuevo


18
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

RESOLUCION DE SISTEMA DE ECUACIONES DIFERENCIALES CON ALGUNA CONDICION

El Código para resolver un sistema de ecuaciones diferenciales es:

[y1, …,yn]=dsolve (‘eqn1’, …, ‘eqnN’,’cond1’, …,’condN’ ,’x’)


Dónde:
y1…yn Son las variables a hallar
eqn1…eqnN  Son las ecuaciones del sistema
cond1…condN  Condiciones iniciales o limitee condicionales
x  Variable respecto a cuál 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)

Aux. Joseph Bill Salvatierra Barrionuevo


19
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

y=
(exp(-2*t)*((4*t^(3/2))/3 + 8))/2
SUSTITUCION DE VARIABLES

subs(expr, old, new)


Dónde:
expr es una expresión 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);

Dónde:
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]; %2*x^3+x-2
>> x=0:20;
>> polyval(coef,x)

ans =
Columns 1 through 4

-2 1 16 55
Columns 5 through 8

Aux. Joseph Bill Salvatierra Barrionuevo


20
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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 raíces del polinomio p

Dónde:
p vector que almacene los coeficientes del polinomio, en orden decreciente de grado.

Ejemplo
>> p = [1 -1 -6]; %x^2 –x- 6=0
>> roots(p)

ans =

3
-2
Ejercicios propuestos
x 4  3x5  2 x 2  5
INVERSA DE UNA FUNCION

g = finverse(f,var)
Dónde:

g = finverse( f ) devuelve el inverso de la función f . Aquí f es una expresión o función de una variable
simbólica, por ejemplo, x . Entonces g es una expresión o función, 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 simbólica var como la variable independiente. Entonces g es una
expresión o función, tal que f(g(var)) = var . Use este formulario cuando f contiene más de una variable
simbólica.

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

g(x) =
atan(1/x)

Aux. Joseph Bill Salvatierra Barrionuevo


21
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

VECTORES Y MATRICES

+ adición o suma
– sustracción o resta
* multiplicación
' traspuesta
^ potenciación
\ división-izquierda
/ división-derecha
.* producto elemento a elemento
./ y .\ división 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

Aux. Joseph Bill Salvatierra Barrionuevo


22
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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)
Dónde:
v1nombre del vector
xValor inicial
nintervalo
yValor final
Ejemplo

>> v1=(0:2:10)
v1 =
0 2 4 6 8 10
f=linspace(a,b,x)
Dónde:
fnombre del vector
aValor inicial
bValor final
xNúmero de elementos del vector
Ejemplo

>> a=linspace(0,10,6)

a=

0 2 4 6 8 10

Aux. Joseph Bill Salvatierra Barrionuevo


23
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Conocer el valor de un elemento de un vector

v(n)
Dónde:
vNombre del Vector
nposición del vector
Ejemplo

>>a(2)
ans =
2
v(m:n)
Dónde:
vNombre del Vector
mposición inicial del vector desde donde va mostrar
nposición final del vector hasta donde va mostrar
Ejemplo

a=

0 2 4 6 8 10 12 14

>> a(1:4)

ans =

0 2 4 6
v(m:x:n)
Dónde:
vNombre del Vector
mposición inicial del vector desde donde va mostrar
nposición final del vector hasta donde va mostrar
xintervalo
Ejemplo
>> a=0:2:14
a=
0 2 4 6 8 10 12 14

>> a(1:3:7)
ans =
0 6 12

Aux. Joseph Bill Salvatierra Barrionuevo


24
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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

Aux. Joseph Bill Salvatierra Barrionuevo


25
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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: obtención 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 parámetro, 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 dimensión n × n
 zeros(n,m): genera una matriz de ceros de dimensión n × m
 ones(n,m): genera una matriz de unos de dimensión n × m
 rand(n,m): permite generar una matriz de valores aleatorios, entre 0 y 1, de
dimensión n × m
 size(n): Tamaño 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 dimensiónes de la matriz n

FUNCIONES PARA OPERAR CON MATRICES

 exp, log, sqrt… operan elemento a elemento


 [L,U] = lu (A) factorización LU
 [Q,R] = qr (A) factorización QR

Multiplicación de matrices elemento a elemento


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

Aux. Joseph Bill Salvatierra Barrionuevo


26
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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 4
2 8 5
5 9 3

Traza de la Matriz b
Ejemplo

>> trace(b)

ans =
15

Aux. Joseph Bill Salvatierra Barrionuevo


27
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Ejemplo
 Crear una matriz 3×2 y otra de 2×3con 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 0 -3
4 1 -2

>> u.*v

ans =

4 0 6

>> u./v

ans =

0.2500 0 1.5000
´

Aux. Joseph Bill Salvatierra Barrionuevo


28
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Crear estas dos matrices A y B sin inicializar cada elemento de la matriz, en una sola
línea en la ventana de comandos

>> A=[(1:5)',zeros(5,1),(-6:2:2)']
A=

1 0 -6
2 0 -4
3 0 -2
4 0 0
5 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

Aux. Joseph Bill Salvatierra Barrionuevo


29
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

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

Sean las matrices

Realizar las siguientes operaciones con lápiz y papel y comprobar luego con MATLAB
A*BT(el superíndice 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

Aux. Joseph Bill Salvatierra Barrionuevo


30
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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 operación X=A\b. donde A es la
matriz de los coeficientes, b es el vector de los términos indpendientes y X es el
vector de las incógnitas.

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.

Aux. Joseph Bill Salvatierra Barrionuevo


31
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

GRAFICAS EN 2D

plot(x,y,)
Dónde:
xCoordenada en el eje x
yCoordenada en el eje y

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

plot(x,y,’col est’)
Dónde:
xCoordenada en el eje x
yCoordenada en el eje y
colSímbolo de color de trazo
estSímbolo de estilo de trazo

Nota.- El color de trazo y el estilo deben ir dentro de comillas simples (‘) y separados mediante un
espacio

Aux. Joseph Bill Salvatierra Barrionuevo


32
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Ejemplo:

>> x=[1 2 3]

x=

1 2 3

>> y=[1 2 3]

y=

1 2 3

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

Es posible configurar ciertos aspectos de las gráficas como:


title(‘texto’)  texto es el nombre del título 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 después con el ratón:
axis equal fija que la escala en los ejes sea igual:
axis square fija que la gráfica sea un cuadrado:
axis normal desactiva axis equal y axis square
hold on abre una ventana de gráfico
hold off borra lo que hay en la ventana de gráfico
legend(‘leyenda1’,’leyenda2’, …)  Añade la leyenda del eje, por cada serie de datos mostrada

Aux. Joseph Bill Salvatierra Barrionuevo


33
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

GRAFICA DE LA FUNCION SENO


Ejemplo
Realice la gráfica de la función 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

Aux. Joseph Bill Salvatierra Barrionuevo


34
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

GRAFICA DE ARREGLOS COMPLEJOS

EJEMPLO: GRAFICAR EL SIGUIENTE ARREGLO DE NUMEROS COMPLEJOS

Para graficar números 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

Aux. Joseph Bill Salvatierra Barrionuevo


35
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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

Aux. Joseph Bill Salvatierra Barrionuevo


36
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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];

Aux. Joseph Bill Salvatierra Barrionuevo


37
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

>> plot(x,y,':dr')
>> title('grafica de puntos');
>> xlabel('eje x');
>> ylabel('eje y');
>> grid
>> legend('grafica');
>> gtext('cambio de dirección');

EJEMPLO: GRAFICAR LOS MULTIPLES PUNTOS

Aux. Joseph Bill Salvatierra Barrionuevo


38
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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');

Aux. Joseph Bill Salvatierra Barrionuevo


39
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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

Aux. Joseph Bill Salvatierra Barrionuevo


40
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

ezplot(f)
Donde:
f=función a graficar

Nota.- Matlab para el comando ezplot pone por defecto el intervalo


Ejemplo
Realice la gráfica de la función y=x2
>> syms x
>> ezplot(x^2)

ezplot(f,[a b])

Donde:
f=función a graficar
a=Punto de Inicio del intervalo
b= Punto final del intervalo
Ejemplo
Realice la gráfica de la f(x)=x3-1 en el intervalo de −𝟐 ≤ 𝒙 ≤ 𝟐
>> syms x
>> ezplot(x^3 -1,[-2 2])

Aux. Joseph Bill Salvatierra Barrionuevo


41
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

fplot(‘f’,[a b])

Donde:
f=función a graficar
a=Punto de Inicio del intervalo
b= Punto final del intervalo
Ejemplo
Realice la gráfica de la función y=2x-3 en el intervalo de −𝟐 ≤ 𝒙 ≤ 𝟐

>> syms x
>> fplot('2*x-3',[-2 2])

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

Donde:
f=función a graficar
a=Punto de Inicio del intervalo
b= Punto final del intervalo
colSímbolo de color de trazo
estSímbolo de estilo de trazo
Ejemplo
Realice la gráfica de la función y=x2-3 en el intervalo de −𝟒 ≤ 𝒙 ≤ 𝟒

>> syms x
>> fplot('x^2 -3',[-4 4],'r --')

SUBFIGURAS

Aux. Joseph Bill Salvatierra Barrionuevo


42
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

El comando subplot permite dibujar varias graficas en una misma ventana con el siguiente codigo
que es:
subplot(m,n,p)
Dónde:
mEs el número de filas en que se va dividir la ventana
nEs el número de columnas en que se va dividir la ventana
pNos indica en que posición vamos a grafica

Ejemplo
Realice la gráfica de la funciónes 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)');

Aux. Joseph Bill Salvatierra Barrionuevo


43
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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 título y etiquetas de eje a su gráfica.
4. En la ventana inferior, grafique y = senh(x) para el mismo rango.
5. Agregue un título y etiquetas a su gráfica.

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

Aux. Joseph Bill Salvatierra Barrionuevo


44
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

loglog (x, y) : ambos ejes en escala logarítmica


semilogx(x, y): eje X logarítmico
semilogy(x, y): eje y logarítmico

Graficando utilizando loglog

Representación en escala logarítmica en ambos ejes


Para poder colorear la superficie se pone el código:

loglog(x,y)
Dónde:
xCoordenada en el eje x
yCoordenada en el eje y

Ejemplo
𝟐
Realice la gráfica de la función 𝒚 = 𝟖 + 𝒆−𝒙 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')

Aux. Joseph Bill Salvatierra Barrionuevo


45
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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 título a su gráfica.
4. En la ventana superior derecha, grafique con loglog la misma función para el mismo rango.
5. Agregue un título a su gráfica.
6. En la ventana inferior izquierda, grafique con semilogx la misma función para el mismo rango.
7. Agregue un título a su gráfica.
8. En la ventana inferior izquierda, grafique con semilogy la misma función para el mismo rango.
9. Agregue un título a su gráfica.

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

Aux. Joseph Bill Salvatierra Barrionuevo


46
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

polar (x,y, ’col est’)

Dónde:
x=Intervalo
y= Funcion
colSímbolo de color de trazo
estSímbolo de estilo de trazo

Ejemplo
Calcule la gráfica de la función 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 función 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);

Aux. Joseph Bill Salvatierra Barrionuevo


47
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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

Aux. Joseph Bill Salvatierra Barrionuevo


48
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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

Aux. Joseph Bill Salvatierra Barrionuevo


49
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

GRAFICAS EN 3D

Un grafico 3-D de línea esta constituido por una línea que se obtiene uniendo una serie de puntos
en un espacio tridimensional. La forma mas sencilla y básica de crear un grafico 3-D es mediante
la función plot3
plot3 (x,y,z,’col est’)

Dónde:
x,y,z=representan los vectores con las coordenadas de los puntos.
colSímbolo de color de trazo
estSímbolo de estilo de trazo

Ejemplo
Calcule la gráfica 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')

Aux. Joseph Bill Salvatierra Barrionuevo


50
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Ejemplo
Calcule la gráfica 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')

Aux. Joseph Bill Salvatierra Barrionuevo


51
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Superficies de Malla
La función 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 >> [x,y] = meshgrid(-2:0.1:2);
>>z=sqrt(x.^2 + y.^2); >> z=sqrt(x.^2 + y.^2);
>>mesh(x,y,z); %dibuja la grafica >>mesh(x,y,z);

Aux. Joseph Bill Salvatierra Barrionuevo


52
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Graficando utilizando surf


Es similar a la gráfica de malla, pero aquí se rellenan los espacios entre líneas. 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 código:


colormap(m)
Dónde:
mes la función del color que deseamos que se pinte

Aux. Joseph Bill Salvatierra Barrionuevo


53
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Ejemplo

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


>>z = sin(x)+cos(y);
>>mesh(x,y,z)
>> colormap(hot)

Dibujar al función
z=xy2x2+y2−1≤x≤3 1≤y≤4z=xy2x2+y2−1≤x≤3 1≤y≤4

>> 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 función 𝒛 = 𝒙𝟐 ∗ 𝒚

Aux. Joseph Bill Salvatierra Barrionuevo


54
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

PROGRAMACION EN MATLAB

Entrar al menu New, y presionar en Script

Comando break, nos permite detener el código


% 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 condiciónal if, verifica si la condición es verdadera ejecuta ciertas tareas y si la


condición es falsa no ejecuta nada.
Sintaxis.-

Aux. Joseph Bill Salvatierra Barrionuevo


55
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

if condición
tareas
end

Ejemplo

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

La estructura condiciónal if else , verifica si la condición es verdadera ejecuta la tarea1 y si la


condición es falsa ejecuta la tarea2.
Sintaxis.-

if condición
tarea1
else
tarea2
end

Ejemplo

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

La estructura condicional if else anidado , verifica la condición1 si es verdadera ejecuta la tarea1 y


si la condición1 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 condición1
tarea1
else if condicion2

Aux. Joseph Bill Salvatierra Barrionuevo


56
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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')

Aux. Joseph Bill Salvatierra Barrionuevo


57
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

case 2,
disp('dos')
otherwise,
disp('error')
end

error

ESTRUCTURA DE REPETICION FOR

La estructura de repetición 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=

Aux. Joseph Bill Salvatierra Barrionuevo


58
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16

ESTRUCTURA DE REPETICION WHILE

La estructura de repetición while, si la condición 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

Aux. Joseph Bill Salvatierra Barrionuevo


59
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Archivos-M
Cuando el número de órdenes a ejecutar aumenta o cuando se desea cambiar el valor de una o más
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 línea por línea como si hubiesen sido escritas en las líneas 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 extensión) 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 línea de codigo
Funciones:
 Las funciones sí tienen argumentos de entrada y/o de salida.
 Para ejecutar una función hay que especificar el valor de sus argumentos de
entrada.
 Las variables internas de la función no aparecen en el workspace (a no ser que se
indique lo contrario)

CREACIÓN 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 edición 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 extensión m.

 Escribiendo simplemente el nombre del archivo (sin la extensión m) en la línea de orden
de MATLAB, se ejecutarán las órdenes contenidas en el archivo.

 Nota:
 Para hacer algún comentario en el editor de código el símbolo % delante de la línea de
código y matlab no leerá esa línea de código.
 Para poder mostrar algún mensaje en matlab se escribe disp se abre un paréntesis 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

Aux. Joseph Bill Salvatierra Barrionuevo


60
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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

Aux. Joseph Bill Salvatierra Barrionuevo


61
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Ahora utilizamos nuestro archivo en matlab

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

Aux. Joseph Bill Salvatierra Barrionuevo


62
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Procedemos a editar

Aux. Joseph Bill Salvatierra Barrionuevo


63
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Ejemplo.-
a) Confeccione un archivo–M que calcule el área del triángulo cuya base y altura miden
respectivamente 12.34cm y 7.82cm. Y guárdelo en el disco
b) Llámelo 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 triángulo,
guarde el archivo modificado y ejecútelo 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

Aux. Joseph Bill Salvatierra Barrionuevo


64
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Aux. Joseph Bill Salvatierra Barrionuevo


65
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

INCISO B)
Ejecutamos nuestro archivo

INCISO C)
PROCEDEMOS A MODIFICAR

Aux. Joseph Bill Salvatierra Barrionuevo


66
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

CREACIÓN DE ARCHIVOS-M DE FUNCIONES

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

Aux. Joseph Bill Salvatierra Barrionuevo


67
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Las funciones le ayudan a programar eficientemente, lo que le permite evitar reescribir el código de
computación para cálculos que se realizan con frecuencia. Por ejemplo, la mayoría de los programas
de cómputo contienen una función que calcula el seno de un número. En MATLAB, sin es el nombre
de la función que se usa para llamar una serie de comandos que realizan los cálculos necesarios.
El usuario necesita proporcionar un ángulo y MATLAB regresa un resultado. No es necesario que el
programador sepa cómo 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 serán asignadas en el mismo orden
al convocar la función.

Ejemplo.- Cree una función que lea 2 números y muestre la suma


Solucion

Para empezar a crear una función lo primero es entrar al editor de Archivos-M del tipo función.

Aux. Joseph Bill Salvatierra Barrionuevo


68
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Una vez dentro el editor nos aparecerá de esta forma

Ahora empecemos con el código

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

Aux. Joseph Bill Salvatierra Barrionuevo


69
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Ahora procedemos a guardarlo

Aux. Joseph Bill Salvatierra Barrionuevo


70
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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 paréntesis 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 leído
‘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

Aux. Joseph Bill Salvatierra Barrionuevo


71
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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 función

Aux. Joseph Bill Salvatierra Barrionuevo


72
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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 cilíndrica de radio r posee una parte superior esférica de radio R. La altura
de la porción cilíndrica es H. Escribir un fichero script que determine la altura H a partir de los
valores r y R, y del volumen V. Además, 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.

Aux. Joseph Bill Salvatierra Barrionuevo


73
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Solución.

El volumen total del silo se obtiene sumando el volumen de la parte cilíndrica y el de la parte
correspondiente al techo esférico. El volumen de un cilindro se calcula a partir de la expresión:

𝑉𝑐𝑖𝑙𝑖𝑛𝑑𝑟𝑜 = 𝜋𝑟 2 𝐻

Y el volumen de techo esférico se obtiene a partir de:

1
𝑉𝑡𝑒𝑐ℎ𝑜 = 𝜋ℎ2 (3𝑅 − ℎ)
3

Donde:

ℎ = 𝑅 − 𝑅𝑐𝑜𝑠𝜃 = 𝑅(1 − 𝑐𝑜𝑠𝜃), 𝑦 𝜃 se obtiene a partir de la expresión


𝑟
𝑠𝑒𝑛 𝜃 =
𝑅

Utilizando la ecuación de arriba, la altura H de la parte cilíndrica se puede expresar de la forma:

𝑉 − 𝑉𝑡𝑒𝑐ℎ𝑜
𝐻=
𝜋𝑟 2

El área de la superficie del silo se calcula sumando el área de la parte esférica y el de la parte
cilíndrica:

𝑆 = 𝑆𝑐𝑖𝑙𝑖𝑛𝑑𝑟𝑜 + 𝑆𝑡𝑒𝑐ℎ𝑜 = 2𝜋𝐻 + 2𝜋𝑅ℎ

A continuación se muestra el programa, en forma de fichero script llamado silo que resuelve el
problema propuesto.

fprintf(‘texto %f texto adicional’,nombre_variable)

donde:

Aux. Joseph Bill Salvatierra Barrionuevo


74
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

texto= Mensaje a mostrar

%=Este símbolo marca el lugar donde se insertara el numero dentro del texto

nombre_variable= nombre de la variable cuyo valor será visualizado

f=carácter de conversión obligatorio

valores de puede tomar f

e Notacion exponencial en minúsculas (ej. 1.709098e+001).


E Notacion exponencial en mayusculas (ej. 1.709098E+001).
f Notacion de punto fijo (ej. 17.090980).
g Representacion en formato corto de las notaciones e o f.
G Representacion en formato corto de las notaciones E o f.
i 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 gráficamente F(x) entre -1.5≤ x ≤ 6.7
c) Raíces del polinomio

Aux. Joseph Bill Salvatierra Barrionuevo


75
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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 números), asi como el área de cada sección (un
numero). Cuando se ejecute el script, este debe pedir al usuario que introduzca los tres números

Aux. Joseph Bill Salvatierra Barrionuevo


76
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

como fila de una matriz. El usuario debe introducir tantas filas como secciones haya. Las secciones
que representan agujeros tendrán área negativa. Como salida, el programa debe mostrar
coordenadas del centroide del área compuesta. Los datos conocidos se indican en la figura.

Aux. Joseph Bill Salvatierra Barrionuevo


77
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Solución

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
localización y coordenadas del centroide de cada sección vienen marcadas en la figura, asi como el
área de cada sección.

𝐿𝑎𝑠 𝑐𝑜𝑜𝑟𝑑𝑒𝑛𝑑𝑎𝑠 → 𝑒 → 𝑑𝑒𝑙 𝑐𝑒𝑛𝑡𝑟𝑜𝑖𝑑𝑒 𝑑𝑒𝑙 𝑎𝑟𝑒𝑎 𝑡𝑜𝑡𝑎𝑙 𝑣𝑖𝑒𝑛𝑒𝑛 𝑑𝑎𝑑𝑎𝑠 𝑝𝑜𝑟:
𝑋 𝑌

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

Aux. Joseph Bill Salvatierra Barrionuevo


78
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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 sección (primera columna de C).
ys=C(:,2)'; %Se crea un vector fila para la coordenada y de
%cada sección (segunda columna de C).
As=C(:,3)'; %se crea un vector fila para el área de cada
%sección(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)>>

Aux. Joseph Bill Salvatierra Barrionuevo


79
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Ejemplo

Suma, multiplicación y división 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 tamaño), el
vector más corto debe ser modificado, añadiendo ceros por la izquierda, para que tenga la misma
longitud que el vector más 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

Multiplicación:
Para multiplicar dos polinomios se utiliza la función 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
multiplicación

En el caso de la multiplicación, los polinomios no tienen por qué ser del mismo grado
La multiplicación de tres o mas polinomios se lleva a cabo mediante el uso repetitivo de la función
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)

Aux. Joseph Bill Salvatierra Barrionuevo


80
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

pm =
9 45 -6 -78 -99 65 -54 -12 -10 240

Que se corresponde con el polinomio:


𝟗𝒙𝟗 + 𝟒𝟓𝒙𝟖 − 𝟔𝒙𝟕 − 𝟕𝟖𝒙𝟔 − 𝟗𝟗𝒙𝟓 + 𝟔𝟓𝒙𝟒 − 𝟓𝟒𝒙𝟑 − 𝟏𝟐𝒙𝟐 − 𝟏𝟎𝒙 + 𝟐𝟒𝟎

División:
Para dividir un polinomio entre otro se utiliza la función 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 división
r= es un vector que contiene los coeficientes del polinomio resto de la división

Por ejemplo, la división 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 3 -2 %El resultado (cociente) de la operación es el polinomio: 𝟐𝒙𝟐 + 𝟑𝒙 − 𝟐
b=
0 0 0 0 %El resto de la división es cero

Veamos a continuación otro ejemplo de división 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 %El cociente es: 𝟐𝒙𝟒 − 𝟏𝟑𝒙𝟑 + 𝟏𝟎𝒙𝟐 + 𝟏𝟎𝒙 + 𝟓𝟐

h=
0 0 0 0 0 50 200 %El resto es:𝟓𝟎𝒙 − 𝟐𝟎𝟎

50𝑥+200
Es decir, el resultado de la división es: 2𝑥 4 − 13𝑥 3 + 10𝑥 2 + 10𝑥 + 52 +
𝑥 2 −5

Aux. Joseph Bill Salvatierra Barrionuevo


81
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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 expresión que relacione el peso de la caja con su grosor x. Calcular el
grosor x para una caja que pesa 15 libras. El peso específico 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:

Aux. Joseph Bill Salvatierra Barrionuevo


82
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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 VAl-
24*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.0000 88.0000 -576.0000 148.5149 %−4𝑥 3 + 88𝑥 2 − 576𝑥 + 148.515

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.

Aux. Joseph Bill Salvatierra Barrionuevo


83
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN PARA INGENIERIA

Ejemplo:

Calculo de la altura de una boya

Una esfera de aluminio de pared delgada se utiliza como boya de señalización. 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
Según 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

Aux. Joseph Bill Salvatierra Barrionuevo


84
UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA COMPUTACIÓN 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

Aux. Joseph Bill Salvatierra Barrionuevo


85

También podría gustarte