Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Uso de
Uso de
CURSO 2012-2013
Prcticas Matlab
Prctica 1
Objetivos
IniciarseenelusodeMatlab.
Conocer comandos bsicos de Matlab para realizar clculos con nmeros reales y
nmeroscomplejos.
Realizargrficossencillosconelcomandoplot.
QuesMatlab?
ElnombredeMatlabesunacrnimodeMATrixLABoratory.HoyendaMatlabesun
programa muy potente con un entorno agradable, que incluye herramientas de
visualizacingrfica,ascomounlenguajedealtonivel.
LaventanadeMatlabmuestraunescritoriodivididoenvariaspartes:
Lasrdenesseescribenenlaventanadecomandos,CommandWindow.
LaventanaWorkspaceproporcionainformacinsobrelasvariablesutilizadas.
Iniciodesesin
o Introducirunpendriveycrearunacarpetadenombrepractica1.
o EntrarenMatlabyhacerqueCurrentDirectorysealacarpetapractica1.
PGINA 2
Operacioneselementales
Operador
+
*
/
^
Utilizacin
Adicin
Sustraccin
Multiplicacin
Divisin
Potenciacin
Ejemplo
2+3
2-3
2*3
2/3
2^3
Para que Matlab ejecute una orden en la ventana de comandos es necesario pulsar la
teclaintroosaltodelnea.
>>3+5^3-2
ans=
126
elvalordeanssera126perononoslomostrara.
Unavariableesunnombrequesedaaunaentidadquepuedeserunamatriz,unvector,
unescalar.Elvalordeesavariable,einclusoeltipodelaentidadquerepresenta,puede
variar a lo largo de una sesin de Matlab. Para asignar un valor a una variable se
escribir:
nombreVariable=expresin
Siquisiramosguardarelresultadoenotravariableescribiramos
>>s=3+5^3-2
Elnuevovalordelavariableses126.
Reglasparanombrarvariables
o
Elnombredeunavariablepuedetenercomomximo63caracteresque pueden
serletras,nmerosyelguiondesubrayar
Elprimercarctertienequeserunaletra,modulo2esunnombrevlido,perono
loes2modulo.
MATLAB: PRCTICA 1
PGINA 3
Dentrodeunnombredevariablenopuedehaberespaciosenblanco,modulo1es
unnombredevariablevlido,peronomodulo 1.
Existen nombres que deben evitarse porque tienen significado propio en Matlab:
ans, pi, Inf, i, . . .
AyudadeMatlab
En esta primera prctica trabajaremos nicamente en la Command Window (Ventana
deComandos)deMatlab.
1. CmoobtenerayudadesdelaCommandWindow:
Ejecutarhelp,lookfor,doc,otypeseguidodelcomandodelqueserequierelaayuda.
Ejemplo
>>help plot
>>lookfor graph
>>doc plot
>>type linspace
2.CmoencontrarcomandosdeMatlab:
o
o
IraProducthelpenelmenHelpdelaventanaprincipaldeMatlab.
EnMATLABbuscareltemaqueinterese.
Algunasfuncionesmatemticas
Funciones
Utilizacin
exp(x)
Exponencialdex
log(x)
Logaritmonatural
log10
Logaritmoenbase10
sin(x)
Senodex
cos(x)
Cosenodex
tan(x)
Tangentedex
asin(x)
Arcosenodexcon
imagenenelrango[
,]
acos(x)
Arcocosenodexcon
imagenen[,]
atan(x)
Arcotangentedexcon
imagenenelrango[
,]
atan2(y,x)
Arcotangentedey/xcon
imagenenelrango[
sinh(x)
Seno hiperblico de x
Ejemplo
exp(1)=2.7183
log(2.7183)=1.0000
log10(350)=2.5441
sin(pi/6)=0.500
cos(0)=1
tan(pi/4)=1.000
asin(1)=1.5708
acos(1)=6.1257e17
atan(1)=0.7854
atan2(0,1)=3.1416
sinh(3)=10.0179
cosh(x)
tanh(x)
Tangente hiperblica
de x
tanh(3)=0.9951
PGINA 4
Comandosparatrabajarconvectores
Matlabesunprogramaquetrabajafundamentalmenteconvectoresymatrices.
Paradefinirunvectorfilasepuede:
o Introducirsuscomponentesseparadasporunespacioounacoma
>> w=[1 4 9]
o Introducirsuscomponentes,especificandoelvalordecadacomponente
>> w[1]=1, w[2]=4, w[3]=9
o Utilizareloperador,colon (:). Elcomando
a:h:b
generaunvectorfiladeprimerelementoaylosdemselementosaumentandeh
enhhastanosuperarb.
>> v=2:9
% Devuelve
v = 2
3
4
5
6
7
8
9
>> w=-5:2:5
% Devuelve w = -5 -3
-1
1
3
5
o Utilizarelcomando
linspace(a,b,n)
quegeneraunvectorfiladencomponentescuyoprimerelementoesayelltimo
b,siendotodossuselementosequidistantes.
>>
w=linspace(-5,5,10)
% Devuelve w= -5.0000 -3.8889 -2.7778 -1.6667
-0.5556
0.5556
1.6667
2.7778
3.8889
5.0000
wesunvectorde10nmerosigualmenteespaciadosentre5y5.
Sisequieredefinirunvectorcolumnabastahacerlomismoqueparaunvectorfilapero
separandoporunpuntoycomacadafila.
>>w=[-1;2;3]
>>a=[1 2 3; 4 5 6] %matriz de 2 filas y 3 columnas
Operadoresentre Utilizacin
Ejemplo
vectores
.*
Multiplicacin
[23].*[24]=
trminoatrmino
=[412]
./
Divisintrminoa
[23]./[24]=
trmino
=[10.7500]
.^
Potenciacin
[23].^2=[49]
trminoatrmino
MATLAB: PRCTICA 1
PGINA 5
Las funciones matemticas que se han visto en el apartado anterior pueden aplicarse
tambinaunvector.Porejemplo,sisequierecalcularelsenoacadacomponentedeun
vectorbastaescribir
>>v=0:pi/4:pi;
>>sin(v)
Como hemos comentado anteriormente, uno de los aspectos ms destacables de
Matlab es su capacidad para trabajar con vectores y matrices y, en consecuencia, son
muchosloscomandosdelosquesedisponeparasumanipulacin.Amododeejemplo:
>>v=1/2:1/3:3;
>>sum(v)
%suma las componentes del vector v
>>length(v)
%devuelve el nmero de elementos de v
Comandosparaoperarconnmeroscomplejos
i(j)
EslaunidadimaginariaenMatlab
abs(s)
Valorabsolutodeloselementosdesomduloenelcasodesercomplejos.
Ejemplo:
>> z=2+3i; w=5+7i;
>> abs(z)
% Devuelve 3.6056
>> abs([z,w]) % Devuelve 3.6056
86023
angle(h)
real(z)
Devuelvelaparterealdez
Ejemplo:
>> z=2+3i; w=5+7i;
>> real(z)
>> real([z,w])
% Devuelve 2
% Devuelve 2
% Devuelve 3
% Devuelve 3
imag(z)
Devuelvelaparteimaginariadez
Ejemplo:
>> z=2+3i; w=5+7i;
>> imag(z)
>> imag([z,w])
conj(z)
Devuelveelconjugadodez
Ejemplo:
>> z=2+3i; w=5+7i
PGINA 6
>>
>>
%
>>
%
z=2+3i; w=5+7i
conj(z)
Devuelve 2.0000-3.0000i
conj([z,w])
Devuelve
2.0000-3.0000i
5.000-7.000i
Comandospararepresentarpuntos
plot(x,y)
dibujaunalneaqueunelospuntosdeabscisaselvectorxyordenadasy.
plot(y)
dibujaunalneaqueunelospuntosdelvectoryconsideradocomoabscisassu
ndice.Siyescomplejoesequivalenteadibujarplot(real(y),imag(y)).
plot(x,y,s)
Realizaelgrficoconelestiloindicadoens.Paraellosdebeserunacadena
de caracteres formada por uno o ningn elemento de las tres columnas
siguientes:
yyellow
.point
solid
mmagenta
ocircle
:dotted
ccyan
xxmark
.dashdot
rred
+plusdashed
ggreen
*star
bblue
ssquare
wwhite
ddiamond
kblack
vtriangle(down)
^triangle(up)
<triangle(left)
>triangle(right)
ppentagram
hhexagram
Ejemplo:
>> n=1:10
>> a=2.^n;
>> plot(a,bo)
>> %Para ver ms opciones teclea la orden:
>> help plot
figure(n)
Paracrearunaventanadedibujo
Ejemplo:
>> x=-pi : 0.1: pi;
>> figure(1);
>> plot(x,sin(x),b. );
>> figure(2);
>> plot(x,cos(x), gd-);
holdon
holdoff
Permitedibujardosgrficasenunamismaventanadedibujo.
Ejemplo:
>> x=-pi : 0.1: pi;
MATLAB: PRCTICA 1
PGINA 7
>>
>>
>>
>>
>>
hold on
figure(1);
plot(x,sin(x),b. );
plot(x,cos(x), gd-);
hold off
compass(z)
Representaelnmerocomplejocomounaflechaquetienesuorigenenelpunto
(0,0).
Ejemplo:
>> z=3+2*i;
>> figure(1);
>> plot(z);
>> figure(2);
>> compass(z);
>> % Esto es equivalente a:
>> compass(real(z),imag(z));
Comandosparaconstruirvariablessimblicas
sym(A)
Ejercicios
EnesteprimerejemploveremoscmoutilizarMatlabcomounacalculadora.
a) Calculaelsiguientevalor 1 i
b) Calculalasumadelosprimeros100nmerosnaturales.
c) Calculalasumadeloscubosdelosprimeros100nmerosnaturales.
4
Indicaciones
a)
Parahacerelclculoamano:
Pasapreviamenteelcomplejo 1 i aformaexponencial,
(1 i) 4
ParacomprobarelresultadoconMatlab:
o Escribeelcomplejo 1 i yutilizaeloperador^paraelevarloalapotenciacuarta.
b)
Parahacerelclculoamano
100
Estasumasepuederepresentarmedianteelsumatorio, s k 1 2 3 4 100
k 1
Cmosumaramanoestos100primerosnmerosnaturales?
PGINA 8
s= 1 +2 +3 +4 ++ 100
s= 100 +99 +98 +97 ++ +1
2s= 101 101 101 101
101
100 101
5500
2
Sabrasobtenerunafrmulageneralparacalcularlasumadecualquiernmeronde
nmerosnaturales?
s
s k 1 2 3 4 n
k 1
ParacomprobarelresultadoconMatlab:
Utilizalossiguientescomandos,
o
colon(:),paracrearunarrayvectorconlosnmerosdesde1hasta100.
sum,parasumarloselementosdelvectoranterior.
c)
ParahacerelclculoconMatlab:
Utilizalossiguientescomandos,
o
o
colon(:),paracrearunarrayvectorconlosnmerosdesde1hasta100.
sum,parasumarloselementosdelltimovector.
Eloperador.^,paraelevaralcubocadaelementodelvectoranterior.
100
13 23 33 1003
k 1
c) z3 4 2 e
5 i 2 /6
z2
3
4 /12 105 /12
4
1
2
2
a) z1
cos
i sen
3
3
3
b)
10 3 10i
d) z4
5 5i
Indicaciones
Esteejercicioeselnmero7delospropuestoseneltemadecomplejosporloqueseasume
queyaseharesueltoamanoysolorestacomprobarlosresultadosconMatlab.
a)
ParacomprobarelresultadoconMatlab:
Escribe el complejo z1 directamente en forma trigonomtrica, utilizando los
operadoresaritmticosylasfuncionesqueserequieren.
o Escribesym(z1)paraobtenerlarepresentacinsimblicadelvalornumricode
z1.
o
MATLAB: PRCTICA 1
PGINA 9
b)
ParacomprobarelresultadoconMatlab:
o Previamentepasaloscomplejosdeformapolaratrigonomtricaoexponencial.
o
Hazporunapartelasoperacionesdelnumeradorygurdalasenlavariable w1,y
porotralasoperacionesdeldenominadorygurdalasenlavariablew2.
Haz
>> z2=w1/w2.
c)
ParacomprobarelresultadoconMatlab:
o
Escribeelcomplejoz3 directamenteenformaexponencial,utilizandolos
operadoresaritmticosylasfuncionesqueserequieren.
Escribesym(z3)paraobtenerlarepresentacinsimblicadez3.
o
d)
ParacomprobarelresultadoconMatlab:
o
Escribeelcomplejoz4 directamenteenlaformadelenunciado,utilizandolos
operadoresaritmticosylasfuncionesqueserequieren.
Escribesym(z4)paraobtenerlarepresentacinsimblicadez4.
Realizarlatransformacindefinidaporwparalospuntosdelplanoz.
z1 0,
(b)
(c)
(d)
z 2 1 3 i, z 3 2
Dibujareltringulodefinidoporlospuntosanterioresencolorrojo.
Dibujareltringulotransformadoencolorverdeyenlamismafigura.
Comprobarquetantoeltringuloenelplanozcomoeltringulo
transformadosonequilteros.
Indicaciones
Esteejercicioeselnmero3delospropuestoseneltemadecomplejosporloqueseasume
queyaseharesueltoamanoysolorestacomprobarlosresultadosconMatlab.
ParacomprobarelresultadoconMatlab:
o Generaunvectorfilaalquellamarszcuyoselementosseanz1,z2yz3.
o IntroducelasconstantesAyBydefinelatransformacin w Az B ..
a) Dibujaeltringulodefinidopor lospuntosdelvectorz,utilizandoel comando
plot(real(z),imag(z)).
b) Utiliza hold on para dibujar en la misma figura el tringulo definido por los
puntosdelvectorw,conelcomandoplot(real(w),imag(w)).
c) Paracomprobarquelostringulossonequilteroscalculalaslongitudesdelos
ladosconelcomandoabsycompruebaquesoniguales.