Sie sind auf Seite 1von 25

Curso Mtodos Computacionales

Tema Introduccin al MATLAB


Practica 01
Profesores Lic. Hermes Pantoja Carhuavilca
Mg. Ezzard Omar lvarez Daz
1. Obeti!os "
Manejar los comandos bsicos del M!"L!# $ara o$eraciones con
escalares% vectores & matrices.
#. Introduccin MATLAB como una Calculadora
#.1 $Cmo se escriben los n%meros&
Enteros 'sin $unto decimal() #' '#1 (')
*eales 'con $unto decimal*" #'. (10.1 11.'#1
*eales 'notaci+n cient,ica o e-$onencial() #.e(#+#,10(#+0.0#
#.# MATLAB como una Calculadora
Los o$eradores bsicos son) . / 0 1 2
33 4 . 516 0 7.62/8.'817(2'/514(
33 4 . 51'607( .62/9.7.'817(2'/514(
:e $uede utilizar M!"L!# como sim$le calculadora% escribiendo e-$resiones aritm;ticas
& terminando con -.T/-0. :e obtiene el resultado inmediatamente a trav;s de la
variable del sistema ans 'ans<er(. :i no se desea eco 'es decir% la res$uesta inmediata a
cada orden( al ,inal de cada instrucci+n% debe ,inalizarse con =punto 1 coma>.

M!"L!# trabaja de acuerdo a las $rioridades)


8. E-$resiones entre $ar;ntesis
4. Potencias 4.524 4 . ?
5. 0 % 1 trabajan de iz@uierda a derecha '50617A 8417(
6. . % / trabajan de iz@uierda a derecha '5.6/7A B/7(
#.' .ercicios
Escribir en M!"L!# las siguientes e-$resiones matemticas
5 + e
4
a(
8
5 1

b(
4

8
_

4
9.8
8 1
4

arctan'9.8B(
4
8 1 5
7
5
5.8 4
,
c(
8
8 + 5 e
5+
4


e
+

7
9.8
81


a cos'9.8B(
d(
4
e 1
5
e + 8
'. 0%meros 1 2ormatos
M!"L!# reorganiza di,erentes clases de nCmeros
Tipo .emplo
Entero 85D4% /48BE?B
*eal 8.456% /89.BD
Com$lejo 5.48 F 6.5i 'i A /8 (
Gn, Gn,inito'*esultado de dividir entre 9(
HaH Ho es un nCmero '919(
La notaci+n =e> es usada $ara nCmeros mu& grandes o mu& $e@ueIos)
/8.5684e.95 A / 8.5684J89
5
A /8568.4
/8.5684e/98 A / 8.5684J89
/8
A /9.85684
). Operadores relacionales"
K Menor '$ara com$lejos s+lo a,ecta a $artes reales(
KA Menor o igual 's+lo a,ecta a $artes reales(
3 Ma&or 's+lo a,ecta a $artes reales(
3A Ma&or o igual 's+lo a,ecta a $artes reales(
- A A & Ggualdad 'a,ecta a los nCmeros com$lejos(
- A & Desigualdad 'a,ecta a los nCmeros com$lejos(
3. 2ormatos numricos
Comando -esultado
,ormat short 8.5555 9.9999
,ormat short e 8.5555e.999 8.4567e/99D

,ormat long 8.55555555555555 9.9999984566??54
,ormat long e 8.555555555555555e.999 8.4566??58B?5?84Be/99D
,ormat rat 815

4. 2unciones matem5ticas elementales
s@rt'-( raz cuadrada sin'-( seno'en radianes(
e-$'-( e-$onencial cos'-( coseno'en radianes(
log'-( logaritmo ne$eriano tan'-( tangente'en radianes(
log89'-( logaritmo decimal asin'-( arco seno
abs'-( valor absoluto acos'-( arco coseno
atan'-( arco tangente
El argumento de las ,unciones $uede ser un nCmero% una variable o una e-$resi+n. Cuando
en una e-$resi+n a$arece alguna ,unci+n% su valor se calcula antes @ue cual@uier otra cosa.
.emplos
>> sqrt(7)
>> sqrt(7/5)
>> a=2.1; sqrt(2*a)
>> exp(3)
>> 7*exp(5/4)+3.54
>> x = 5*cos(pi/6) , y=5*sin(pi/6)
>> acos(x/5), asin(y/5)
.ercicio" Evaluar las siguientes e-$resiones matemticas en M!"L!#.
a( Log
?.E
'4( c. 7 . e
4
b( L !rcsen'/9.7( L d. tan'e(
6. Otras funciones elementales
Otras funciones
matem5ticas elementales
Comentarios
angle'-(
real'-(
imag'-(
conj'-(
round'-(
,i-'-(
,loor'-(
ceil'-(
sign'-(
rem'-%&(
!ngulo de ,ase de un valor com$lejo -
Parte real de una valor com$lejo -
Parte imaginaria de un valor com$lejo -
Conjugada de un com$lejo -
*edondea al entero ms $r+-imo
*edondea un valor real hacia 9
*edondea hacia /M
*edondea hacia .M
.8 si -39 & /8 si -K9
*esiduo al dividir dos enteros - e &
7. 8ectores 1 Matrices
9eleccin de los elementos de un !ector , o matri: A
-'n( Devuelve el n/;simo elemento del vector -
-'Nn%m%$O( Devuelve los elementos del vector - situados en las $osiciones n/
;simas%m/;simas & $/;simas
-'n)m( Devuelve los elementos del vector - situados entre el n/;simo & el
m/;simo%ambos inclusive.
-'n)$)m( Devuelve los elementos del vector - situados entre el n/;simo & el
m/;simo% ambos inclusive $ero se$arados de $ en $ unidades.
!'m%n( Devuelve el elemento 'm%n( de la matriz ! ',ila m & columna n(
!'Nm%nO%N$%@O( Devuelve la submatriz de ! ,ormada $or la intersecci+n de las
,ilas n/;sima & m/;sima & las columnas $/;sima & @/;sima.
!'n%)( Devuelve la ,ila n/;sima de la matriz !
!')%$( Devuelve la columna $/;sima de la matriz !
!')( Devuelve el vector columna cu&os elementos son las columnas de
! situadas $or orden
!')%)( Devuelve toda la matriz !
2unciones matriciales
2uncin ;escripcin
ranP'!( *ango de la matriz !.
det'!( Determinante de la matriz !
trace'!( "raza de la matriz !% suma de los elementos de la diagonal
inv'!( Calcula la inversa de la matriz !
!Q "rans$uesta de la matriz !.
diag'!( E-trae la diagonal de la matriz ! como vector columna
e&e'n( Crea la matriz identidad de orden n
e&e'm%n( Crea la matriz de orden m-n con unos en la diagonal $rinci$al &
ceros en el resto.
zeros'm%n( Crea la matriz nula de orden m-n
ones'm%n( Crea la matriz de orden m-n con todos sus elementos unos
Nn%mOAsize'!( Devuelve el nCmero de ,ilas & columnas de la matriz !
<. Operaciones de matrices
-'n( Devuelve el n/;simo elemento del vector -
-'Nn%m%$O( Devuelve los elementos del vector - situados en las $osiciones n/;sima%
m/;sima & $/;sima.
-'n)m( Devuelve los elementos del vector - situados entre el n/;simo & el
m/ ;simo% ambos inclusive
-'n)$)m( Devuelve los elementos del vector - situados entre el n/;simo & el
m/ ;simo% ambos inclusive $ero se$arados de $ en $ unidades
!'m%n( Devuelve el elemento 'm%n( de la matriz ! ',ila m & columna n(
!'Nm% nO%N$% @O( Devuelve la submatriz de ! ,ormada $or la intersecci+n de
las ,ilas n/;sima & m/;sima & las columnas $/;sima & @/;sima.
!'n)m%$)@( Devuelve la submatriz de ! ,ormada $or las ,ilas @ue ha& entre la n/
;sima & la m/;sima% & $or las columnas @ue ha& entre la $/;sima & la @/;sima
!'a)$)b%c)@)d( Devuelve la submatriz de ! ,ormada $or las ,ilas @ue ha& entre la
a/ ;sima & la b/;sima tomndolas de $ en $% & $or las columnas @ue ha& entre
la c/ ;sima & la d/;sima tomndolas de @ en @.
!')%$)@( Devuelve la submatriz de ! ,ormada $or las columnas @ue ha& entre la $/
;sima & @/;sima.
!'n)m%)( Devuelve la submatriz de ! ,ormada $or las ,ilas @ue ha& entre la
n/ ;sima & la m/;sima
!'n%)( Devuelve la ,ila n/;sima de la matriz !
!')%$( Devuelve la columna $/;sima de la matriz !
!')( Devuelve un vector columna cu&os elementos son las columnas de ! situadas
$or orden
!')%)( Devuelve toda la matriz !
N!%#%CO Devuelve la matriz ,ormada $or las submatrices !%#%C%
10. -epresentacin =r5fica de funciones
La ,orma ms sencilla de dibujar con M!"L!# una ,unci+n &A,'-( es)
>> e:plot?@e,presion de la funcion@*
Esta orden dibuja la gr,ica de la ,unci+n dada $or la e-$resi+n% $ara - variando en
en un intervalo $or de,ecto.
33 ez$lot'Qsin'-24(0-14Q(
dibuja la gr,ica de la ,unci+n
4
f ' x(
x sin' x (
%
4
x [ 4 %4 ]
:i se desea dibujar la ,unci+n en un intervalo distinto% Na%bO% ha& @ue indicarlo
e-$resamente en la orden)
>> e:plot?@e,presion de la funcion@ABaAbC*
"ambi;n se $ueden dibujar varias gr,icas se$aradas en la misma ventana% usando la
orden
>> subplot?mAnAp*
Este comando $ermite dividir la ventana gr,ica en una matriz m-n de sub/ventanas
gr,icas% activando $ara dibujar la $/;sima de ellas.
plot?1* " $roduce un gr,ico lineal de los elementos del vector & versus los ndices
de &.
33& A N 9 9.D 9.? 9.8 9.E 9.5 9.6OR
33$lot'&(
plot?,A1* " Dados dos vectores de la misma dimensi+n% - e &% $roduce un
gr,ico lineal de los elementos del vector - versus los elementos del vector &
33t A 9 ) 9.8 ) 60$iR
33& A sin't(R
33$lot't%&%QrQ(
Otra ,orma )
33-Alins$ace'/5%5%799(R&Ae-$'/-.24(RzA40e-$'/-.24(R
33$lot'-%&%Q/Q%-%z%Q//Q( S dibujamos dos ,unciones
33title'QCam$anas de TaussQ(
33-label'QEje de !bscisasQ( S Eti@ueta el eje horizontal
33&label'QEje de OrdenadasQ( S Eti@ueta el eje vertical
33legend'Qe-$'/-24(Q% Q40e-$'/-24(Q( S Le&enda
11. Pr5ctica de comandos
8( Crear los siguientes vectores)
x [9 5 e
4
]
y [9 9.8 9.4 9.5 9.6 9.7 9.D 9.B 9.E 9.? ]
4( Crear un vector : de cuatro nCmeros com$lejos
5( Listar el tercer elemento del vector :
6( Listar los 7 $rimeros elementos del vector y
7( Listar los 7 Cltimos elementos del vector y
D( Listar los elementos de $osiciones im$ares del vector y
B( Listar los elementos de $osiciones 4% 6% 7% & B del vector y
E( Crear los vectores a A N8 4 5 6 7O & b A N8 5 7 B ?O
?( Uusionar los vectores a & b en un vector c
89( Obtener la trans$uesta del vector c

9
4 9 9 7 D B
E
1
9 9 5 9 ? 89 88 841

9 9 6 49 9 7
1

9
9
88( Crear las siguientes matrices).
gA N8)6R7)EO
hAN8 8 8 8R 4 4 4 4 O
84( Multi$licar las matrices g & h
85( Multi$licar g con la trans$uesta de h
86( Multi$li@ue g & h com$onente a com$onente
87( Eleve 4 a cada elemento de g
8D( *esolver el sistema)
4 a . 5 b . c A D
6 a . b . 4 c A B
D a . b . B c A 6
Mediante la ,unci+n in!.
8B( *esuelva el sistema anterior mediante D.
8E( Crear la siguiente matriz
8 9 9 9

8 4 5 6 1
1
T

6
7 ? 49 9
D 89 9 9
B 88 7 9
E 84 6 9
6
1
9 9 9
1
1
9 9 9
1
9 9 9
1
1
9 9 9 1
]
Luego e-traer la siguiente submatriz

5
T8

9

?

89
9 ?
6 49
49 9
9 9
89
1
1
1
9 1
1
]
8?( Escriba las matrices ! & # de,inidas $or
A'i% j( 89'i j( + 8R i% j 8%V.%89
B'i% j(

8% i / j A
8%
i , j 20
9, en otro caso

9
1
'

5
1
49( Obtener la siguiente Matriz)

8 4 9

4 8 4
R 9 4 8


9 9 4
9 9
1
9
1
4 9 1
8 4
1
9 9 9 4 8
:ug) Wse la ,unci+n dia=.
48( :i b A N8%4%5%6%7OX% resuelva el sistema *-Ab
44( Tra,icar la siguiente ,unci+n
x
4
f ' x(

8
si x < 9
si 9 x 8

x + 4 si 8 x
45( Tra,icar la ,unci+n
y e
x
x [9%4 ]
46( De,inir las siguientes matrices en M!"L!#)
Y *ealizar los siguientes clculos bsicos con estas matrices)
" /8 /8
5Z !% !/B% !Z # % ! % #
Y *ealizar ahora los siguientes clculos% siendo D la submatriz de ! ,ormada $or las
8[ & 5[ ,ilas & columnas% & E la submatriz de # ,ormada $or las 4[ & 6[ ,ilas &
columnas)
"
DZ E % DZ C% CZ E
Y *esolver las siguientes ecuaciones)
!Z -A#% DZ -AC
Y :iendo U la submatriz de ! ,ormada $or las ,ilas 4% 5 & 6% & T la submatriz de #
,ormada $or las columnas 8% 4 & 6% calcular) UZ T
Curso Mtodos Computacionales
Tema Introduccin al MATLAB
Practica 0#
Profesores Lic. Hermes Pantoja Carhuavilca
Mg. Ezzard Omar lvarez Daz
1.Obeti!os
!$licar las instrucciones de control en M!"L!#% $ara la im$lementaci+n de $rogramas%
tambi;n estudiar del com$ortamiento de los errores & la notaci+n en $unto ,lotante.
#. 2undamento Terico
#.1 ArcEi!os F.m
Wn archivo 0.m es un conjunto de comandos @ue M!"L!# $uede inter$retar.
Distinguiremos dos ti$os de archivos 0.m dentro del M!"L!#)
ArcEi!o 9cript) es un conjunto de comandos @ue M!"L!# ejecuta siem$re de la
misma manera & @ue no necesita ninguna variable de entrada & no
$ro$orciona ninguna variable de salida.
ArcEi!o tipo 2uncin" es un conjunto de comandos @ue necesita una +
ms variables de entrada $ara @ue M!"L!# $ueda ejecutar & $uede tener
variables de salida. "odos los archivos 0.m @ue sean ,unciones em$iezan as)
function Bar=umentosG salidaC + nombreG funcin ?ar=umentosGentrada*
HH.
Iinstrucciones eecutables>
Nargumentos de salidaO ) si es ms de un argumento se se$aran $or comas.
si es un argumento se $uede omitir los N O
'argumentos de entrada( ) si es ms de uno se$arado $or comas.
Las ,unciones se deben grabar como archivo m 'M/,ile(.
#.# Instrucciones b5sicas en MATLAB
Controles de 2luo 1 9entencia de ;ecisin
La sentencia I2
Condicional simple Condicional doble Condicional m%ltiple
if condicion
sentencias
end
if condicion
sentencias8
else
sentencias4
end
if condicion8
sentencias8
elseif condicion4
sentencias4
elseif condicion5
sentencias5
else
sentenciasH
end
La sentencia 9JITCK
sLitcE selector
case valor8
sentencias8
case valor4
sentencias4
............
otEerLise
sentenciasH
end
Operadores l=icos 1 relacionales
Operadores relacionales) K % 3 % KA% 3A% AA 'igual(% A 'distinto(.
Operadores l=icos ) \ '&(% L 'o(% 'negaci+n(.
Las sentencias 2O- 1 JKIL.
Sentencia FOR(Para-Desde) Sentencias WHILE(Mientras)
for contaor=!ector
"entencias
End
while conicion
"entencias
end
La sentencias B-.AM
La sentencia breaN hace @ue se termine la ejecuci+n del bucle mas interno de los
@ue com$renden a dicha sentencia.
.ntrada 1 9alida en un arcEi!o script
9alida"
disp.....................................................]isualiza te-to en $antalla 'salida(
ejem$lo) disp'OholaP(
error....................... ]isualiza te-to en caso de error
ejem$lo) error('no se !ede e"ec!tar') termina el archivo .m.
fprintf.............................................. Escribe te-to con ,ormato
ejem$lo) var8A777R fprintf'Qel resultado es S5iQ%var8(
var4A5.BR fprintf'Qel resultado es S5.8,^nQ%var4(
var5AXholaXR fprintf'Qel resultado es Ss^nQ%var5(
var6AX_XR fprintf'Qel resultado es Sc^nQ%var6(
fprintf'Q `Ss el valor de la variable Sc es S5i & S5.8,^nQ%X%var5%var6%var8%var4(
.ntrada"
Input" Permite la entrada de valores desde el teclado & se asigna en variables
E
E
#.' TeorQa de .rrores
Tipos de errores"
a. Errores de redondeo
b. Errores de truncamiento o a$ro-imaci+n
;efinicin de errores
:i a es una a$ro-imaci+n a A% entonces se de,ine el error absoluto como

a

a

A a % & el error relati!o como


a
siem$re @ue A no sea cero.
A
Propa=acin de .rrores
a( Uunciones de una variable) y f (x)
a.
y

y
x
b( Uunciones de varias variables)
y f (x
8
% x
4
%L% x
n
)
n

y

i
f

x
i

8 x
i
#.) .rrores de redondeo 1 aritmtica de punto flotante
Wn nCmero ,lotante 'normalizado% en base 4( con $recisi+n t se e-$resa as)
fl' x( t'8.b
8
b
4
...b
t 8
(
4

4
En el sistema sim$le $recisi+n 'tA46(% se tiene
fl' x( t ' 8.b
8
b
4
...b
23
(
4
4
E
:i el nCmero 1 se e-$resa '8.99V9(
4
% entonces el $rimer nCmero ma&or es el @ue se
obtiene sumndole 8 'un( bit% es decir '8.99V8(
4
E-$resando este valor mediante las $otencias 'negativas( de 4% se obtiene)
8 4
9
+ 9 4
8
+ 9 4
4
+ ... + 8 4
't 8(
8 + 4
't 8(
!l reem$lazar tA75 & luego e,ectuar la di,erencia de 1 se obtiene el =e$silon de
ma@uina> $ara este sistema de =doble $recisi+n>
'8 + 4
74
( 8 4
74
:e llama e$silon ' ( de m@uina al nCmero 'ga$( @ue e-iste como di,erencia entre el
8 & el nCmero $r+-imo ms grande.
Punto flotante de precisin ?e$s es la $recisi+n de la ma@uina) si 8 K - K 8 . e$s%
entonces - A 8 *
Punto flotante underflow ?-amin es el cero de la ma@uina) si 9 KA - K -amin%
entonces - A 9 *
Punto flotante overflow ?-ama- es el in,inito de la ma@uina) si - 3 -ama-%
entonces - A in, *
P
o
s
i
c
i
o
n

(
m
)
'. Parte pr5ctica
.emplo 1
Creacin de un ArcEi!o 9cript
a( Crear una car$eta de trabajo en su dis@uete o en el disco C% usando el
e,plorador de JindoLs% $or ejem$lo denomnela MB3'3Gpere:.
b( Establecer la ruta donde el M!"L!# buscara su $rograma% $ara ello digite en
la ventana de comandos la instrucci+n cd seguida de la ruta de su car$eta de
trabajo)
>> cd c"DMB3'3Gpere: & $resione la tecla .nter
c( Crear un nuevo archivo/m)
Haga clic en el menC 2ile% seleccione la o$ci+n 0eL & haga clic en M(2ile.
!$arecer una ventana en blanco donde deber digitar su $rograma.
d( Digite el siguiente $rograma)
# pr$e%a&1.'
n=inp$t(()n*rese n$'ero e perioos=()
x=&+pi/1&&+2*pi*n;
y=exp(,x/1&).*sin(2*x);
p-ot(x,y)
tit-e((.'orti*$a'iento()
x-a%e-((/ie'po(se*)()
y-a%e-((0osicion (')()
*ri
e( Trabar el $rograma)
Hacer clic en el menC 2ile% clic en la o$ci+n 9a!e% luego digite el nombre del
$rograma) prueba01 & haga clic en el bot+n =uardar.
,( Ejecuci+n del $rograma)
En la ventana de comandos escriba el nombre del $rograma) prueba01 &
$resione la tecla .nter.
El $rograma solicitara el ingreso de un dato)
In=rese n%mero de perQodos +
Digite 3 & $resione .nter.
:e mostrara el siguiente gr,ico)
Amortiguamiento
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
0 5 10 15 20 25 30 35
Tiempo(seg)
g( :i el $rograma no corre correctamente se debe hacer las modi,icaciones
corres$ondientes% luego volverlo a grabar & ejecutar.
4
.emplo #
Creacin de una funcin.
Por ejem$lo% escriba una ,unci+n @ue calcule $ara un numero entero =n>% la suma de
ci,ras del HCmero n & el nCmero de ci,ras del HCmero n)
a( Digitar el siguiente codigo)
cifras!"
#uncion $ue calcula para un nu"ero entero n %
su"cif % &u"a de cifras del 'u"ero n
nu"cif % 'u"ero de cifras del 'u"ero n
function (su"cif,nu"cif)*cifras+n,
su"cif*-.
nu"cif*-.
w/ile n0*-
di1ito*re"+n,2-,.
su"cif*su"cif 3 di1ito.
nu"cif*nu"cif 3 2.
n*fix+n42-,.
end
b( Trabarlo con el nombre =cifras.m>)
c( Llamado de la ,unci+n)
b Nsumci,%numci,OAci,ras'45699(
sumci, A
?
numci, A
7
.emplo '
Crear una ,unci+n e,po1 @ue $ermita obtener la suma de t;rminos de la serie de "a&lor
$ara a$ro-imar el e-$onencial de un nCmero real - dado n entero)
# expo1.'
s 8 + x
+
x x
5
x
n
+ + L
4 c 5 c n c
1$nction s=expo1(x,n)
s=1;
1or i=1+n
s=s+x2i/1actoria-(i);
en
Para ejecutarla escriba)
b sAe-$o8'8%D(
s A
4.B8E8
Wna variante de esta ,unci+n $uede ser retornando adems el error com$arado con
la ,unci+n e,p $ro$ia del M!"L!#.
1$nction 3s,err4=expo2(x,n)
# expo2.'
s=1;
1or i=1+n
s=s+x2i/1actoria-(i);
en
err=a%s(exp(x),s);
Para ejecutarla escriba)
b Nsum%errOAe-$o4'8%D(
sum A
4.B8E8
err A
4.4D4Be/996
0o t a./ Obs;rvese @ue el nombre de archivo es id;ntico al nombre de la ,unci+n.
Tambin se pueden declarar funciones en lQnea"
,Ainline'`e-$resionavariablesa-
8
a-
4
a..X%X-
8
X%X-
4
X%..(
, ) es una variable de memoria.
$or ejem$lo)
b ,Ainline'Q-24.&24Q%Q-Q%Q&Q(
, A
Gnline ,unction)
,'-%&( A -24.&24
b ,'5%6(
ans A
47
.emplo )
2unciones recursi!as
M!"L!# $ermite la creaci+n de ,unciones @ue se llamen a si mismas en tiem$o de
ejecuci+n $ara crear algoritmos $otentes.
S ,act.m
,unction ,A,act'n(
i, nAA9
,A8R
elsei, nAA8
,A8R
else
,An0,act'n/8(R
end
Cu&o llamado se realiza &a sea desde la ventana de comandos o desde otro $rograma
o ,unci+n @ue lo re@uiera)
b,A,act'7(
, A
849
.emplo 3 GU
# pr$e%a&2.'
t = ran(1)
i1 t > &.75
s = &
e-sei1 t 5 &.25
s = 1
e-se
en
s = 1,2*(t,&.25)
.emplo 4 :dG"CH
# pr$e%a&3.'
opc=3
s6itc7 opc
case 3
isp((8ecanica()
case 4
isp((8ecanica,9-ectrica()
case 5
isp((:a!a-()
case 6
isp((8ecatronica()
ot7er6ise
isp((;$era e <an*o...()
en
.emplo 6 ;=<
#pr$e%a&4.'
1or >=1+1&& # contaor
x=sqrt(>); # o%tiene -a ra?@ e >
i1 x>5, # si ra?@ es 'ayor a 5
1print1(Ax= #5.21 , >= #3 BnA,x,>) # '$estra en panta--a x y >
%rea> # sa-e e- -a@o
en # 1in e- i1
en # 1in e- 1or
.emplo 7 CD)E9
# pr$e%a&5.'
' = 1&;
> = &;
67i-e >5='
x = >/1&;
en
isp(3x, x22, x234); # i'pri'irF $na ta%-a e !a-ores
> = >+1;
.emplo <
:abiendo @ue las coordenadas cartesianas de una circun,erencia son de la ,orma
-Ar0cos'e( % &Ar0sen'e( crear una funcin @ue se llame circun,erencia8.m @ue
dibuje una circun,erencia & @ue tenga como $armetros de entrada el radio &
el ngulo. La ,unci+n tiene @ue tener como $armetros de salida todos los
$ares de valores -%& . Para realizar el $rograma% ha& @ue tener en cuenta @ue
el radio $ermanece constante & lo @ue va cambiando es el ngulo e.
9olucin"
,unction N-%&OAcircun,erencia8'radio% $aso(
rAradioR
,iA9R
iA9R
i, $aso3D9% error'Q!ngulo mu& grandeQ(% end
,or ,iA9)$aso)5D9
,i4A,i040$i15D9R
iAi.8R
-'i(Ar0cos',i4(R
&'i(Ar0sin',i4(R
end
$lot'-%&%QoQ(
.emplo 10
Con cuantas ci,ras signi,icativas a$ro-ima 9.555 a 815 f
9olucin"
El nCmero 9.555 coincide con 815 en dos ci,ras signi,icativas% &a @ue
8
9.555
7 89
4
<
5
8
5
.emplo 11
9.998 < 7 89
5
Encuentre la $ro$agaci+n de errores de la siguiente ,+rmula) H A !e"
6
con) A 7.DB - 89
/E
% ! A 9.8% e A 8.9% & " A D99
o
. 49
o
.
'Problema 6.89 del Cha$ra \ Canale% Pg. 895(
9olucin
H A !e"
6
A 7.DB - 89
/E
% ! A 9.8% e A 8.9% & " A D99
o
. 49
o
.
Error aproxi"ado)

H
AL'"( L A LH1"L L"L.
!@ui% H1" A 6!e"
5
A 6'9.8('8.9( '7.DB - 89
/E
('D99(
5
A 6.?9.

4
)

d
Por lo tanto% 'D99( A '6.?9('49( A ?B.?E.
Error exacto)
H
min
A '9.8('8.9('7.DB - 89
/E
('7E9(
6
A D68.D7
H
ma-
A '9.8('8.9('7.DB - 89
/E
('D49(
6
A E5B.E4.
Por lo tanto%
H
e-act
ALH
e-act
L A L'H
ma-
/ H
min
(14 LA 'E5B.E4 / D68.D7(14 A ? E.9E
Este valor es mu& cercano al resultado a$ro-imado.
.emplo 1#
El ensa&o de dureza #rinell involucra la com$resi+n de una bola de acero de carburo
de tungsteno% de un dimetro D e-actamente de 89 mm% contra una su$er,icie% con
una carga P en He<tons de 799 g 8 S% si d es 7.B7 mm. medido con una $recisi+n
de 9.998 mm% d es el dimetro de la huella im$resa en la su$er,icie del material ha
ensa&ar entonces% el nCmero de dureza #rinell H# ser)
5B
6(6
4P
6
4
d
4
)
Considere @ue h A 5.86 tiene sus 4 ci,ras decimales e-actas.
a( !$ro-ime H#.
b( Estime el error absoluto de la a$ro-imaci+n H#
c( Estime el rango $ara el valor e-acto de la dureza H#.
9olucin
6 89
P 799
P

7
d 7.B7
d
9.998 5.86
9.7x89
4
5B
5B
4P
6(6 6
4
4
8B.7854
d
P
6(6 6
4

4
)

9.9579
5B

4P
4 4 4

7.7BB6
6 6 6 d
5B

d
6(6
4P6
6
4
d
4
)
4
6
4
d
4
D.BDE7

5B

5B
+
P
P
5B
+


5B

d
d
9.49?E
5B 8B.7854 t 9.49?E
8B.5956 5B 8B.B459
.emplo 1'
.emplo 1'
Wna com$utadora hi$ot;tica decimal almacena D dgitos signi,icativos
'decimal( ms 5 dgitos de e-$onente% & normaliza de modo @ue el dgito e-tremo
iz@uierdo sea $or lo menos 8. Por esta raz+n los nCmeros re$resentados $ueden
ser escritos como g'9.d$$$$$(89
g$$$
donde 8 K d K ? & 9 K $ K ?. iCul es el
e$sil+n de la m@uinaf
9olucin"
En esta m@uina WHO A .9.8999990E.998 & el nCmero ms $e@ueIo
.9.9999980E.998R esto es el e$sil+n% 89
/7 @ue sumado a WHO da el
siguiente nCmero
. O usando la ,+rmula A b
8/t
A 89
/7
. ' tA $recisi+n % numero de
dgitos en la mantisa(
.emplo 1)
En la siguiente m@uina hi$ot;tica%
Escriba en binario)
e
8
e
4
e
5
m
8
m
4
m
5
a( HCmero $ositivo ms grande normalizado
b( Gn,inito
c( Wno
d( HaH
e( HCmero ms $e@ueIo normalizado
,( Caracteriza al sistema
g( iCuantos nCmeros tendr este sistemaf
9olucin
EiAEe.#ias% Ei) e-$onente interno% Ee) e-$onente e-terno.
Como se obtiene el #ias ) 4
P/8
/8 % con PA Ho de bits de Ei
Para esta m@uina PA5
#iasA5
Precisi+n 't(A5 'longitud de la mantisa 'M(% $arte ,raccionaria(
a( HCmero $ositivo ms grande normalizado) EiAD% M con todos los bits llenos
A .'8.888(4
D/#ias
A.'8.888(4
D/5
A87
b( Gn,inito)
A.'8.999(4
B/5
A8D
c( Wno)
A .'8.999(4
5/5
A8
d( HaH
A.'8.998(4
B/5
A8E
e( HCmero ms $e@ueIo normalizado EiA9
A.'8.999(4
8/5
A9.47
,( :istema) Abase% tA$recisi+n% LA mnimo valor de Ee WA m-imo valor de Ee
U'%t%L%W(A '4%5%/4%5(
g( CardinalidadA4'/8(
t/8
'W/L.8(.8 A6? incluido el cero.
.emplo 13
Dado el siguiente nCmero e-$resado en ,ormato GEEE B76 de sim$le $recisi+n)
9 89988988 99999999999999999999999
! @ue decimal re$resentaf
9olucin
'8.9(04
877/84B
A 4
.emplo 14
Aritmtica del computador en MATLAB
Considere la variable num;rica de M!"L!#
>> t = &.1
La ,unci+n sy' tiene cuatro o$ciones $ara retornar a una re$resentaci+n simb+lica
del valor num;rico almacenado en t . La o$ci+n Q 1 Q
>> sy'(t, (1 ( )
retorna una re$resentaci+n simb+lica de $unto ,lotante
(1.GGGGGGGGGGGGa(*22(,4)
Los trece dgitos he-adecimales luego del $unto decimal corres$onden a la mantisa.
El M!"L!# usa un almacenamiento de doble $recisi+n usando un total de D6 bits%
$ara ver como se almacena un nCmero en ,ormato he-adecimal)
b ,ormat he-
b t
t A
5,b????????????a
Los 85 Cltimos dgitos corres$onden a la mantisa & los tres $rimeros corres$onden al
signo & e-$onente)
Donde 8945.eA8945.'/6(A898?A5-8D
4
.8708D.88A5,b
'8D(
b ,ormat short S ,ormato $or de,ecto
La o$ci+n Q r Q
>>sy'(t, (r( )
retorna la ,orma racional
1/1&
jsta es la ,orma ,ijada $or de,ecto $ara s&m.. Es decir% la llamada a s&m sin
un
segundo argumento es igual @ue usar s&m con la o$ci+n Q r Q)
>>sy'(t)
ans=
1/1&
La tercera o$ci+n Q e Q retorna la ,orma racional de t ms la di,erencia entre
la
e-$resi+n racional te+rica $ara t & su 'm@uina( valor en $unto ,lotante en t;rminos
de e$s 'la e-actitud relativa del $unto ,lotante()
>>sy'(t, (e( )
ans =
1/1&+eps/4&
La cuarta o$ci+n (( vuelve la e-tensi+n decimal de t hasta el nCmero de dgitos
signi,icativos es$eci,icados $or i*it s
>>sy'(t, (( )
ans =
.1&&&&&&&&&&&&&&&&55511151231257H
El valor $re,ijado de ?*itos es 54 '$or lo tanto% sy'(t, ( () retorna un
nCmero con 54 dgitos signi,icativos(% $ero si usted $re,iere una re$resentaci+n ms
corta% use el comando i*its como sigue)
>>i*its(7)
sy'(t, ( ()
ans =
1&&&&&&
Wn uso $articularmente e,icaz de sy' es convertir una matriz num;rica a la ,orma
simb+lica. El comando
>>. = 7i-%(3)
33S genera la matriz de Hilbert de 5/-/5
>> ans =
1.&&&& &.5&&& &.3333
&.5&&& &.3333 &.25&&
&.3333 &.25&& &.2&&&
!$licando sy' a .
>>. = sy'(.)
. =
3 1, 1/2, 1/3 4
3 1/2, 1/3, 1/4 4
3 1/3, 1/4, 1/5 4
Precisi+n aritm;tica de las variables ']P!(
:inta-is)
< = !pa(.)
< = !pa(.,)
$ara calcular cada elemento de ! con d dgitos decimales de e-actitud% Cada
elemento del resultado es una e-$resi+n simb+lica.
!pa(.,4)
>> . =
31.1&&, 1.2&&, 1.3&&4
32.1&&, 2.2&&, 2.3&&4
33.1&&, 3.2&&, 3.3&&4
Convirtiendo de simb+lico a $unto ,lotante
6

Para convertir un racional o variable a su re$resentaci+n de $unto ,lotante en
M!"L!#% use la ,unci+n double.
.ercicios Propuestos
8. Desarrolle una ,unci+n llamada =ntR% @ue retorne el nCmero de t;rminos
necesarios $ara a$ro-imar el nCmero h hasta n ci,ras decimales e-actos% usando
la siguiente serie)

8
8
+
8

8

5 7 B
+
8
......
_
?
,
9olucin
SnAci,ras signi,icativas
,unction &Ant'n(
&A8R
errorA8R
tA6R
sAtR
<hile ''error(3'892/n((
tsA60''/8(2&(1'40&.8(R
VVVVVVVV..
end
4. Donde debe de estar -0 $ara @ue a$ro-ime a 8999 con 6 ci,ras signi,icativas
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
5. Calcular sen'-. (/sen'-( $ara valores $e@ueIos de
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
6. Crea una funcin @ue re$resente el tiro $arab+lico en tres dimensiones% sabiendo
@ue las coordenadas vienen dadas $or las ecuaciones) -A]o cos'e( cos'( t R
&A ]o cos'e ( sin'( t R zA ]o sin'e( t/'9.7 g t
4
(R siendo e el ngulo inicial @ue
,orma con la vertical & el ngulo inicial @ue ,orma con el eje _.
7. Com$lete la siguiente tabla de conversiones
Humero '#ase 89( Humero '#ase4(
845
846.47
88.45
/4?.D47
9.8
D. *e$resentar en $unto ,lotante con 54 bits% 8 de signo% B de e-$onente & 46 de
mantisa% los nCmeros decimales 896.5847 & /8579D.?DEB7.
4
5
B. iCul es el valor decimal de) 8998888899988889f
E. :ea los siguientes comandos en M!"L!#)
b ,ormat he-
b "
5,b9999999999999
El valor decimal de " es)
?. El $roducto realminFeps en M!"L!# re$resenta a)
a. Menor valor $ositivo Hormalizado
b. Menor valor $ositivo Ho Hormalizado
c. Ma&or valor $ositivo Hormalizado
d. Ma&or valor $ositivo Ho Hormalizado
89. El realmin en M!"L!# re$resenta a)
a. Menor valor $ositivo Hormalizado
b. Menor valor $ositivo Ho Hormalizado
c. Ma&or valor $ositivo Hormalizado
d. Ma&or valor $ositivo Ho Hormalizado
88. Desarrolle una ,unci+n llamado arcsen% @ue calcule el arcsen'-( & la di,erencia
con el valor e-acto 'asin'-((% a $artir de la serie de "a&lor% considerar n t;rminos
de dicha serie. :olo deber calcular si - esta en el dominio a$ro$iado sino tendr
@ue mandar un mensaje de error & grabar nan en las variables de salida.
arcsen'

x(

i
'4i(c
4
x
4i+8
i9
6 'ic( '4i +
8(
$ara todo - < 8
84. Escriba un $rograma @ue evalCe la serie)
$ara -A4 & nA89.
& 8 x +
x

x
4c 5c
x
6
x
n
+

6c
L
nc
. Probar

Das könnte Ihnen auch gefallen