Вы находитесь на странице: 1из 9

ElEntornoMatlab

MatLabinteractaconelusuarioatravsdeventanas.Lasprincipalessonlassiguientes:
Ventanadecomandos(CommandWindow):enellaseejecutanlasinstrucciones.
Historialdecomandos(CommandHistory):historiadelasinstruccionesintroducidasenla
ventanadecomandos.
Directorioactual(CurrentDirectory):muestralosficheros.
Espaciodetrabajo(Workspace):muestralasvariablesalmacenadasenmemoria.
Ventanadefiguras:despliegalasgraficasqueelusuariorealice.
LasayudasdeMatLab
ManejodeComandosyFunciones
Cada comando en MATLAB es un archivo con extensin .m, por lo tanto es necesario tener las
librerasenqueseencuentranloscomandosquesedeseanutilizar.
Aunquelagranmayoradeloscomandosutilizadossiemprevienenincluidosenlaslibreras.
MATLABNOdistingueentremaysculasyminsculasenloscomandos(amenosquesetrabajeen
Unix).Elrestodeestasnotastratarcadacomandomasusadoendetalle.
HELPDocumentacinenlnea.Nospermiteverloquehaceunafuncin
WHATListadodeDirectoriodearchivosconextensinM,MATyMEX.
TYPEListadearchivosMfile.
LOOKFORBsquedadesdeeltecladoatravsdelcomandoHELP.
WHICHLocalizacindefuncionesyarchivos.
DEMOEjecucindeundemodeMatLab.
HELPWINDocumentacinenformainteractivaconelusuario
QUITParacerrarofinalizarelusodeMatLab.
Adicionalmente, presionando el icono Help usted puede entrar al sistema de ayuda de MATLAB
organizadoporcontenido,ndice,bsquedaydemostraciones.
Manejodevariablesyworkspace(espaciodetrabajo).
WHO Lista de variables actuales. Nos permite saber caractersticas de una variable tal como su
tamao,eltipoosiesrealocompleja
WHOSListadevariablesactuales,formalarga
LOADCargarvariablesdedisco.
SAVESalvarvariablesdeworkspaceadisco.
CLEARLimpiarvariablesyfuncionesdememoria.
CLEARabc
CLCdespejalaventanadecomandos
PWDmuestracualeseldirectorioactual
SIZETamaodelamatriz
LENGTHNumerodeelementosdeunvector
DISPMuestralosvaloresdeunamatrizotexto.
EXIST('C')chequeasilavariablecexiste
Deigualforma,sepuedeinterrogaralsistemasobresuscaractersticasolascaractersticasdelas
variablesqueseestnmanejando
FINITE(X)Devuelve1sixesfinito,yceroenotrocaso
ISINF(X)Da1sixesinfinitooinfinito,yceroenotrocaso
ISNAN(X)Da1sixesindeterminadoyceroenotrocaso
ISIEEEDa1silamquinaesIEEEyda0enotrocaso
COMPUTERDevuelveeltipodecomputador
VERSIONDevuelvelaversinactualdeMatlab
WHYDevuelveunmensajesucinto
LASTERRDevuelveelltimomensajedeerror
PACKConsolidaelespaciodetrabajoenmemoria
DIARYGuardaeltextodelasesinactualdeMatlab
UNIXEjecutacomandosdelsistemaoperativoUnix
VERDainformacinsobreelprogramaysusToolbox
INFODainformacinacercadeMatlab
SUBSCRIBEDainformacinsobrelasuscripcinaMatlab
WHATSNEWInformaacercadecaractersticasnuevadeMatlab
HOSTIDIdentificaelnmerodelhostservidor

Sistemaoperativoyarchivos
CDCambiardirectorioactualdetrabajo.Ejemplo:cdc:\mb\work
DIRMuestraeldirectorioactual.Porejemplo,DIR*.mListatodoslosarchivosdeextensinMen
eldirectorioactual
DELETE Borra un archivo u objeto grfico. Por ejemplo, DELETE *.p Borra todos los archivos de
extensinPdesdeeldirectorioactual
Es conveniente abrir una hoja en el editor de MATLAB (Mfile) para ir guardando lo que se va
escribiendo. Tambin es posible ir generando el programa directamente en el command de
MATLABladesventajaesquenosepuedenguardarlasinstruccionesescritas.

Lneasdecomentarios
Ya se ha indicado que para MATLAB el carcter tanto por ciento (%) indica comienzo de
comentario. Cuando aparece en una lnea de comandos, el programa supone que todo lo que va
desde ese carcter hasta el fin de la lnea es un comentario. Ms adelante se ver que los
comentarios de los ficheros *.m tienen algunas peculiaridades importantes, pues pueden servir
paradefinirhelp'spersonalizadosdelasfuncionesqueelusuariovayacreando.
%precedeauncomentario,lassentenciassonignoradasporelprograma.
; hace que la instruccin previa se ejecute pero no devuelve el resultado.
y=2;
y
y=
2
Se pueden colocar varias instrucciones en una misma lnea separando cada instruccin por un
puntoycoma:
y=2;x=4;k=1;
En el ejemplo anterior se guardan los valores en cada una de las variables sin mostrar las
operacionesrealizadas.Encasodequenecesiteverlosvalores,sepuedesepararcadaunadelas
instruccionesconunacoma.
y=2,x=4,k=1
y=
2
x=
4
k=
1
AlgunosdelossmbolosmasutilizadosenMatlabserelacionanacontinuacin:
'Alt39( Alt40) Alt41. Alt42/ Alt47: Alt58; Alt59
[ Alt91\ Alt92] Alt93^ Alt94
Caracteresespeciales
[ ] Seutilizanparaingresarvaloresoformarvectoresymatrices
( ) Defineprecedenciaenexpresionesaritmticas.Encierraargumentosde
funcionesenformausual
, Separadordeelementosdeuna matriz,argumentosdefuncionesydeclaracionesen lneascon
declaracionesmultiples
; Terminarenglonesdeunamatriz,separadordedeclaraciones
% Comentario

OperacionesBsicasconMatLab
Manejodevariables:
En MATLAB como en cualquier otro lenguaje de programacin, y/o asistente matemtico se
utilizan variables. No es necesario declarar los nombres de las variables no sus tipos como en
algunos lenguajes. Cualquier variable en MatLab puede adoptar valores reales, complejos y
enteros. En Matlab todas las variables son arreglos. Incluso un valor escalar es un arreglo de
dimensin o tamao 1x1. Las variables deben tener un nombre segn ciertas reglas. Estas reglas
son:
NOpuedencomenzarconunnmero,aunquesipuedentenernmerosy/oalgunoscaracteres
especiales(variable_1esunnombredevariablevlido).
LasmaysculasyminsculassediferencianenlosnombresdevariablesportrabajarconC
nativo.(Ayasondosvariablesdiferentes)
Losnombresdevariablesnopuedenconteneroperadoresnipuntos.(Noesvlidousar/,*,,+,
...)
Sisetrabajaconcomplejosslopuedeutilizarseundelosnombresiy/ojparavariables.Ver
complejos.
Noesnecesariodefinireltipodevariableotamao(siseusaunvectorydespusseexpande,
nohayproblema)
ANSeslavariableporomisinprovistaporMATLAB
Matlabrealizalaasignacindememoriaavariablesdurantelaejecucin.
x=3xesdetiporeal
x='mensaje'xesdetipoliteral(usecomillassimplesalt39)
symsxxesunsmbolo
x=[274]xesunvector
x=2+3ixesdetipocomplejo
xmuestreelcontenidoactualdelavariable
whosxmuestreeltipoactualdelavariable
disp(x)muestresolamenteelcontenido
x=input('dato?')ingreseunvalorparaunavariabledesdeelteclado
exp(x)/3
anslavariableanscontieneelltimoresultado
y=2*ansylopuedeusar
Si se utiliza como nombre de variable algn nombre de funcin definido por MatLab,la variable
anula la funcin hasta tanto no sean borradas las variable con el comando clear o se salga de
matlab.

Nombre de variable Significado Valor


Eps Epsilondelamquina 2.2204e16
Pi 3.14159
iyj Unidadimaginaria Raiz(1)
Inf Infinito
NaN Noesnmero
Date Fecha
Flops Contadordeoperacionesdeptoflotante
Nargin Numerodeargumentosdeentradasenunafuncin
Nargout Numerodeargumentosdesalidaenunafunction

Cadenasdecaracteres
Lasvariablesdecadenasonarreglos.Unavariabledecadenavdefinidapor:
V='yamil'
V=
Yamil
Equivaleaunvectordelasiguientemanera
V=['y','a','m','i','l']
V=
Yamil
Ylavariablevsepuedeconvertirenunvectorcolumnadelasiguientemanerav
Otrosejemplosdemanejodecadenas
x='Matematica';Asignacindeunacadena(usecomillassimples)
x(4)Manejodeuncarcterdelacadena,useunndice

EnMATLABlosndicesseescribenentreParntesisysonnumeradosdesde1
t=x(2:5);manejodeunasubcadena,use:(inicio:final)
n=length(x)Longituddelacadena
c=strcat(x,t)Concatenacindecadenzas
helpstrfunListelasfuncionesparacadenas

LasfuncionesparamanejodecadenassonsimilaresalasusadasenellenguajeC.
OperacionesMatemticasBsicas
Smbolo Operacin
+ Sumadeescalares,vectoresomatrices
Restadeescalares,vectoresomatrices
* Productodeescalaresodematrices
.* Productodeescalaresodevectores
\ A\B=inv(A)*B,siendoAyBmatrices
.\ A.\BcocienteelementaldeBentreA(dim(A)=dim(B))
/ CocienteescalaroB/A=B*inv(A),siendoAyBmatrices
./ A./BcocienteelementaldeAentreB(dim(A)=dim(B))
^ Potenciadeescalaresopotenciaescalardematriz
.^ Potencia elemental de los elementos del primer operando elevados a los
correspondienteselementosdelsegundooperando
Al combinar varias operaciones en una misma instruccin, han de tenerse en cuenta los criterios
deprioridadhabitualesentreellas,quedeterminanelordendeevaluacindelaexpresin.

Precisinutilizada:
En los lenguajes de programacin ordinarios, los nmeros se clasifican como sencillo, dobles,
reales, enteros y complejos. En MatLab, todas las variables se tratan igualmente con double
precisin.Nohaydistincinentrevariablesenterasyreales,nientrevariablesrealesycomplejas.
La forma como se asigna un valor a una variable depende exclusivamente del usuario. Matlab
representa los resultados con exactitud, pero aunque internamente siempre trabaja con clculos
exactos para no arrastrar errores de redondeo, pueden habilitarse diferentes formatos de
representacin aproximada, que en ocasiones facilitan la interpretacin de los resultados. A
continuacinsecitanloscomandosquepermitenaproximacionesnumricas.
Aproximadamente16dgitossignificativosencomputadorasutilizandoaritmticaflotanteIEEE.El
rango aproximado es: 10^308 a 10^308. El formato de salida para datos en MatLab en fORMAT
SHORT.
Formatosdesalida:Tomandoelsiguienteejemplo4/3
a)formatshort1.3333
b)formatshorte1.3333e+000
c)formatlong1.33333333333333
d)formatlonge1.33333333333333e00
e)formatbank1.33
f)formathex3ff5555555555555
g)formatrat4/3
FORMATHEXOfrecelosresultadosenelsistemahexadecimal
VPA(OPERACIONES,N)Ofreceelresultadodelasoperacionesconndgitos
decimalesexactos
NUMERIC(EXPR)Ofreceelvalordelaexpresindeformanumricaaproximada
segnelformatoactualactivo.
DIGITS(N)Ofrecelosresultadosconndgitosexactos.

FuncionesMatemticasenMATLAB:
Al igual que en otros lenguajes de programacin, MATLAB presenta numerosas funciones
matemticas,desdelasmselementaleshastalasdemsaltonivel.Estasfuncionesmatemticas
puedenagruparseentrescategoras.
FuncionesTrigonomtricas.
OtrasFuncionesElementales.
FuncionesquerealizanTareas.

helpmatlab\elfun%Leentregaunlistadodefuncionesqueseusanencalculo
matemtico.

Las funciones matemticas presentan, para su uso en MATLAB, dos diferencias significativas con
respecto a su uso en otros lenguajes de programacin (Fortran, C, C++). Primera: Las funciones
matemticas operan con variables complejas sin discriminacin alguna. Segunda: Las funciones
matemticaspuedenoperarconargumentosvectorialesyargumentosmatriciales.
Funcionesmatemticaselementalesqueoperandemodoescalar
Estas funciones, que comprenden las funciones matemticas trascendentales y otras funciones
bsicas,actansobrecadaelementodelamatrizcomosisetrataradeunescalar.Seaplicandela
misma forma a escalares, vectores y matrices. Algunas de las funciones de este grupo son las
siguientes:
La librera MATLAB dispone de una gama muy completa de funciones predefinidas que se
correspondenconlasfuncionesmatemticasmsutilizadas.

Funcionestrigonomtricasehiperblicas
Funcin Inversa Hiperblica HiperblicaInversa
sin(Z) asin(Z) sinh(Z) asinh(Z)
cos(Z) acos(Z) cosh(Z) acosh(Z)
tan(Z) atan(Z) tanh(Z) atanh(Z)
atan2(Z)
sec(Z) asec(Z) sech(Z) asech(Z)
csc(Z) acsc(Z) csch(Z) acsch(Z)
cot(Z) acot(Z) coth(Z) acoth(Z)
Funcionesexponenciales
log(x) logaritmonatural
log10(x) logaritmodecimal
exp(x) funcinexponencial
sqrt(x) razcuadrada
Funcionesespecficasdevariablenumrica
abs(Z) Mduloovalorabsoluto
angle(Z) Argumento,ngulosdefase
ceil(x) Redondealosdecimalesalmayorenteromscercano
ceil(Z) Aplicalafuncinceilareal(Z)yaimag(Z)
conj(Z) Complejoconjugado
fix(x) Eliminalapartedecimaldelrealx
fix(Z) Aplicalafuncinfixareal(Z)yaimag(Z)
floor(x) Redondealosdecimalesalmenorenteromscercano
floor(Z) Aplicalafuncinfloorareal(Z)yaimag(Z)
gcd(x) mximocomndivisor
imag(Z) Parteimaginaria
lcm(x) mnimocomnmltiplo
mod(x,y) Similararem (VerdiferenciasconelHelp)
real(Z) Partereal
rem(a,b) Daelrestodeladivisinentrelosrealesayb
rem(Z1,Z2) RestodeladivisindelostrminosdeZ1yZ2
round(x) Elenteromsprximoalrealx
round(Z) Aplicalafuncinroundareal(Z)yaimag(Z)
sign(x) Signodelrealx(1six>0,1six<0)
sign(x) Funcinsigno.devuelve1si<0,0si=0y1si>0.Aplicadaaunnmerocomplejo,
devuelveunvectorunitarioenlamismadireccin

NmerosAleatorios
RandDevuelveunnmerodecimalaleatoriodistribuidouniformementeenelintervalo[0,1]
rand(n)Devuelveunamatrizdedimensinnxncuyoselementossonnmerosdecimalesaleatorios
distribuidosuniformementeenelintervalo[0,1]
rand(m,n) Devuelve una matriz de dimensin mxn cuyos elementos sonnmeros decimales
aleatoriosdistribuidos.
rand(size(A)) Devuelve una matriz del mismo tamao que la matriz A y cuyos elementos son
nmerosdecimalesaleatoriosdistribuidosuniformementeenelintervalo[0,1]
rand(`seed)Devuelveelvaloractualdelasemillageneradoradelosnmerosaleatoriosuniformes
rand(` seed,n) Coloca en la cantidad n el valor actual de la semilla generadora de los nmeros
aleatoriosuniformes
randnDevuelveunnmerodecimalaleatoriodistribuidosegnunanormaldemedia0yvarianza
1
randn(n) Devuelve una matriz de dimensin nxn cuyos elementos son nmeros decimales
aleatoriosdistribuidossegnunanormaldemedia0yvarianza1
randn(m,n) Devuelve una matriz de dimensin mxn cuyos elementos son nmeros decimales
aleatoriosdistribuidossegnunanormaldemedia0yvarianza1
randn(size(A)) Devuelve una matriz del mismo tamao que la matriz A y cuyos elementos son
nmerosdecimalesaleatoriosdistribuidossegnunanormaldemedia0yvarianza1
randn(`seed)Devuelveelvaloractualdelasemillageneradoradelosnmeosaleatoriosnormales
randn(`seed, n) Coloca en la cantidad n el valor actual de la semilla generadora de los nmeros
aleatoriosuniformes.

Operadoresrelacionales
EllenguajedeprogramacindeMATLABdisponedelossiguientesoperadores
relacionales:
<menorque
>mayorque
<=menoroigualque
>=mayoroigualque
==igualque
~=distintoque7
EnMATLABlosoperadoresrelacionalespuedenaplicarseaescalares,vectoresy/omatrices,yeso
hacequetenganunsignificadoespecial.
Al igual que en C, si una comparacin se cumple el resultado es 1 (true), mientras que si no se
cumplees0(false).Recprocamente,cualquiervalordistintodeceroesconsideradocomotrue yel
ceroequivaleafalse.
a=1; a=1; a=1; a=1;
b=2; b=2; b=2; b=2;
a==ba~=b a>b a<b
ans= ans= ans= ans=
0 1 0 1

Operadoreslgicos
LosoperadoreslgicosdeMATLABsonlossiguientes:
&and
|or
~Negacinlgica
xor(x)Intercambiacerosporunosyviceversa
all(x)Devuelve1slamentesitodosloselementosdexsondiferentesde
cero.Ciertacuandotodosloselementoslesvectorsonunos
any(x) Devuelve 1 si cualquiera de los elementos de x es diferente de cero, de lo contrario
devuelve0.Cierta,sialgnelementodelvectoresnonulo
Para argumentos matriciales, any y all trabajan por columnas para devolver un vector fila con el
resultado para cada columna. Aplicando la funcin dos veces, any(any(A)), siempre reduce la
matrizaunacondicinescalar.

Вам также может понравиться