Sunteți pe pagina 1din 90

BenemritaUniversidadAutnoma dePuebla

FacultaddecienciasdelaElectrnica

Introduccin FundamentosdeMATLAB Matrices,vectoresyfuncionesmatemticas Symbolic Math Toolbox TiposdedatosenMATLAB ProgramacinenMATLAB

Conocerambientedetrabajo Manejarmatricesyvectores Poderresolverproblemasmatemticos Utilizarlosdiferentestiposdedatos Aprenderellenguajedeprogramacin deMATLAB

NotenganningnconocimientoprevioMATLAB. Estnrelacionadasconlasreasdecienciasexactase ingeniera. EstninteresadasenutilizarMATLABcomo herramientapararesolverproblemasmatemticos, decienciaeingeniera.

Matlab SurgedelosproyectosLINPACKyEISPACK LaempresaMathWorks esfundadaen1984. The Mathworks esldereneldesarrollodesoftware decomputacintcnica,ademslaempresatiene msde1millndeusuariosalrededordelmundo.

The Mathworks tienemsde1,000empleados trabajandoeneldesarrollodelasherramientas MATLABySIMULINKparainnovartecnologaen empresas,laboratoriosgubernamentales, institucionesfinancierasyenmsde3,500 Universidades.

MATLAB Matrix Laboratory


MATLABesunsoftwarematemticomuyverstilque ofreceunentornodedesarrollointegrado(IDE)conun lenguajedeprogramacinpropio(lenguajeM),queesun conjuntodecomandosofuncionesquerealizantareas especficasydisponedemsde30librerasespecializadas llamadasToolboxeslascualestrabajanenreas especialescomoControl,Coumunicaciones, ProcesamientodeSeales,etc.

Aplicaciones:
Matemticas,estadsticayanlisisdedatos. Desarrollo dealgoritmos. Adquisicin yprocesamiento dedatos. Prueba,modeladoysimulacindeprototipos. Anlisis,manipulacinyvisualizacindedatos. Diferentes tipos deGraficacin. DesarrollodeaplicacionesconInterfacesGrficasde Usuario.

Introduccin FundamentosdeMATLAB Matrices,vectoresyfuncionesmatemticas Symbolic Math Toolbox TiposdedatosenMATLAB ProgramacinenMATLAB

2 3 4 5

2 3 4 5

UsodelHelp enMATLAB y FuncionesparaelHelp

MATLABdisponedevariosmensloscualesvarande acuerdoalaventanaqueseencuentreactiva
Dentrodelascaractersticasquesepuedenconfigurarcon estosmensseencuentran:
Crear,salvareimportardiferentestiposdearchivosusadospor MATLAB Configuraralgunaspreferenciasdeusuariocomo:tipoycolordeletra, colordefondodelCommand Window,formatonumrico, visualizacinderesultados,etc. ManipulacinyvisualizacindelasventanasdentrodelDesktop Bsquedadepalabrasoarchivosenlasdiferentesventanas

Losshorcuts sonunaformafcilyrpidadeejecutarun conjuntodesentenciasenMATLAB. Unshorcut puedeser:unasolasentencia(ofuncin),un conjuntodesentenciasounarchivoM. Consolodarclick enelshorcut seejecutaelconjuntode sentencias.

Introduccin FundamentosdeMATLAB Matrices,vectoresyfuncionesmatemticas Symbolic Math Toolbox TiposdedatosenMATLAB ProgramacinenMATLAB

MATLABposeeunagranvariedaddefuncionesparatrabajarcon matricesyvectores. Lasmatricessedeclarandelasiguientemanera:

A=

1596 6208 1951

A = [1 5 9 6; 6 2 0 8; 1 -9 5 -1]

Paradeclararunanuevafilaseescribeunpuntoycoma(;). Paradeclararunanuevacolumnaseusaunespacioenblanco.

Elsignoigual(=)esparaasignarresultadosaunavariable >>variable=expresin MATLABdistingueentremaysculasyminsculasenel nombredeunavariable,porejemploNOeslomismola variablevarquelavariableVar Elnombredeunavariabledebeempezarsiempreconuna letraseguidadenmerosomsletrasuotroscaracteres siempreycuandonoseancaracteresespeciales;elnombre puedetenerunmximode31caracteres.

Elpuntoycoma(;)alfinaldeunaexpresinsignificaquevaa realizarlaoperacinqueseleindiqueperonovaamostrar losresultadosenpantalla. Lostrespuntos()sirvenparaindicarquelaexpresinvaa continuarenlalneadeabajo. Cuandolaoperacinnoseleasignaaningunavariable entoncesautomticamenteseleasignaalavariableans.

MATLAB soporta todas las operaciones aritmticas entre matrices o vectores siguiendo la teora, por ejemplo: para sumar dos matrices, deben de ser del mismo tamao; la multiplicacin de una matriz A (mxn) por una matriz B (kxp) debe cumplir que n=k.
>>A+B(suma) >>A B(resta) >>A*B(multiplicacin) >>A(transpuesta) >>A^2(potenciacin) >>A\ B(divisinizquierdaA*inv(B))seusaparalasolucindesistemasde ecuaciones >>A/B(divisinderecha,inv(A)*B)complementodeladivisinizquierda

Existen otros operadores llamados operadores elemento a elemento los cuales realizan la operacin indicada pero a cada uno de los elementos que conforman al vector o a la matriz, dichos operadores tienen la caracterstica de que estn precedidos por un punto (.). >>A.*Bmultiplicacin: >>A.^n potencia: >>A.\ Bdivisin: >>A./Bdivisin: A(i,j)*B(i,j) A(i,j)n B(i,j)/A(i,j) A(i,j)/B(i,j)

Declaracindematricesyvectores OperacionesAritmticas y Manejodeexpresiones

Por default MATLAB almacena los nmeros en formato de doble precisin, es decir, en 8 bytes. MATLAB puede interpretar el concepto de Infinito con la palabra Inf(para MATLAB son los nmeros ms grandes de lo que es capaz de representar). MATLAB tiene una representacin para los nmeros que no estn definidos como tal, llamados NaN (Not a Number). Tanto la representacin de NaN como la de infinito permite controlar la fiabilidad de los resultados que presenta MATLAB.

MATLABpuederepresentarymanipularnmeroscomplejos, lasvariablesiyjestndefinidascomolaunidad imaginaria. >>z=4+5j >>z=complex(4,5) Sedebedetenerespecialcuidadoconlasvariablesiyj,si seusanparaguardaralgnvalornumricodejandeserla unidadimaginaria. Sepuedenrealizarlasoperacionesaritmticasentrenmeros complejosymatricesovectoresquecontenganacomplejos.

Representacinnumrica y Nmeroscomplejos

Existeunagranvariedaddefuncionespredefinidasparacrear matricesdetodotipo:
Matrizdeceros. Matirz deunos. Matrizidentidad. Matrizaleatoria. Matrizmgica. zeros(m,n) ones(m,n) eye(m,n) rand(m,n) magic(k)

randint(m,n,[i,j])

Ayuda:Specialized Matrix Functions

Esposibletambinrealizarmanipulacionesyobtener informacindelasmatricesquesetienen:
Tamaodeunamatriz. Longituddeunvector. Concatenacindematrices. Rotacindematrices. Matricestriangulares. size(A) lenght(A) cat(dim,A,B) rot90(A,k) tril(A,k)

Ayuda:SummaryofMatrixandArrayFunctions

Existentambinalgunasfuncionesunpocomselaboradasy complejasencuantoasuoperacin,lascualesrealizantareas como:


Inversadeunamatriz. Determinante. Sumadeladiagonal. FactorizacintipoL*U. ReduccindematricesporGaussJordan. Obtencindelpolinomiocaracterstico. Obtencindeloseigenvalores yeigenvectores. DescomposicinSchur. Rangoynulidadenunamatriz. Inv(A) det(A) trace(A) lu(A) rref(A) poly(A) eig(A) schur(A) rank(A)

Funcionesqueactansobre matricesyvectores

Direccionamientoenvectores. Parateneraccesoaloselementosenunvectorsedebede ponerelndiceentreparntesis,elndicesiempreempezar siempreporelnmero1. x=[1032...3]


x(1)x(2)x(3)...x(n)

Puedenaccedersevarioselementosalavezcolocandoentre parntesisunvectordendices >>x([123]) accesoaloselementos1,2y3delvectorx

Direccionamientoenvectores. Enlugardeunvectordendicesseobtenerunamatrizconlos elementoscorrespondientesalosndices. >>x([15;94]) devuelveunamatrizde2x2conlos elementosquecorrespondenalosndices 1,5,9y4

x=[71079129598] x([15;94]) ans= 71 99

Direccionamientodematrices Existen2posiblesformasdeaccederaloselementosdeuna matriz:


Con2subndices(i,j)endondeieselnmerodefilayjesel nmerodecolumna. Con1subndice(i)endondeloselementossevancontandopor columnas.
2973 9765 8315 83110 A(2,2)=A(6) seaccedealnmero11

A=

Direccionamientodematrices Tambinesposiblehacereldireccionamientopormediode2 vectores


>>A([13],[42]) hacelascombinaciones[(1,4)(1,2);(3,4)(3,2)]
A= 6211 4995 51074 6682

A([13],[42]) ans=12 410

Eloperadordospuntospuedeusarsede3formasdistintas:
Creadordevectoresconincrementosodecrementos. x=1:10 creaunvectordel1al10conincrementode1. x=1:i:10 creaelmismovectorperoconincrementodei. Direccionamientohasta. A(1,2:5) direccionaloselementosdelafila1,desdelacolumna 2hastalacolumna5. x(5:8) direccionadelelemento5hastael8. Direccionamientotodo. A(3,:) direccionatodalafila3. A(:,1) direccionatodalacolumna1. x(:,end) direccionatodalaltimacolumna.

<menorque >=mayoroigualque >mayorque ==igualque <=menoroigualque ~=diferentea Enlosoperadoresrelacionalessilacondicinsecumpleregresa un1lgico,delocontrarioregresaun0lgico. Estetipodeoperadoressepuedenusartambinparacomparar matricesovectoressiempreycuandoseandelmismo tamao,cuandoestosucedelacomparacinserealiza elementoaelemento.

&AND |OR ~NOT Losoperadoreslgicosseusanencombinacinconlos relacionalesparacomprobarelcumplimientodecondiciones mltiples. if (A>5)&(A<10) ~(A>20) Losoperadoreslgicostomancomo1lgicoatodoslosnmeros diferentesdecero,mientrasquetomacomo0lgicosoloa loselementosqueseancero.

Ejemplosdedireccionamiento Operadordospuntos y Operadoreslgicosyrelacionales

MATLABdisponedelasfuncionesmatemticasmsusadas. Algunasdeellasson:
>>exp(x) funcinexponencial >>log(x) logaritmonatural >>log10(x) logaritmobase10 >>log2(x) logaritmobase2 >>pow2(x) eleva2alax >>sqrt(x) razcuadrada >>round(x) redondeo >>primes(x) obtienelosnmeros primos >>factorial(x)

MATLABtambintienelasfuncionestrigonomtricas,que puedenseraplicadastambinamatricesyvectoresendonde laoperacinserealizaelementoaelemento.

sin cos tan

sinh cosh tanh

asin acos atan

LarepresentacindepolinomiosenMATLABserealizapor mediodevectoresdelasiguientemanera: x4 8x2 +6x 10 [108610] Dentrodelasoperacionesquesepuedenrealizarcon polinomiosseencuentranlassiguientes:


Obtencindelasraces roots(x) Evaluacindelpolinomiocondiferentesvalores polyval(x,k) Diferenciacineintegracindelpolinomio polyder (x);polyint(x) Representacinenfraccionesparciales [r,p,k]=residue(b,a)

Funcionesmatemticas y Polinomios

Introduccin FundamentosdeMATLAB Matrices,vectoresyfuncionesmatemticas Symbolic Math Toolbox TiposdedatosenMATLAB ProgramacinenMATLAB

Los Symbolic Math Toolboxes incorporan el uso de smbolos dentro del ambiente numrico de MATLAB. Estos toolboxes sustituyen el MATLAB numrico y grfico con otras formas de computacin matemtica. El campo de aplicacin de este Toolbox abarca diversos tpicos:
Clculo: diferenciacin, integracin, lmites, sumatorias, series de Taylor. lgebra Lineal: inversas, determinantes, eigenvalores, matrices simblicas. Mtodos de simplificacin de expresiones algebraicas. Solucin de sistemas de ecuaciones. Funciones matemticas especiales.

LabasecomputacionalquesoportaaestosToolboxes eselkernel deMaple,elcualesunaaplicacinparalasolucindeproblemas matemticosylacreacindeaplicacionestcnicasinteractivas. ElSymbolic Math estconformadopor2toolboxes:


ElSymbolic Math Toolbox Bsicoesunacoleccindemsde100funciones queproporcionanaccesoalkernel deMapleusandolasintaxisyelestiloal quenostieneacostumbradosellenguajedeMATLAB. ElSymbolic Math Toolbox Extendidoaumentalafuncionalidaddelbsicoal incluirtodoslospaquetesnogrficosdeMaple,caractersticasde programacinyprocedimientosdefinidosporelusuario.

Almencionar que estos toolboxessebasan ensmbolos,en trminos deMATLABserefieren aelementos llamados objetos simblicos

Estos objetos simblicos sonestructuras dedatos que almacenan una representacin devariables,expresiones ymatrices algebricas enformadecadenas decaracteres. Declaracindevariablesyexpresionessimblicas:
>>a=sqrt(sym(2)) a= 2^(1/2) >>sym(2)/sym(5) ans = 2/5 x=sym('x') a=sym('alpha') f=(x^2 4)/(x+2) f=sym('a*x^2+b*x+c)

Creacindevariablesy expresionessimblicas

MATLAB cuenta con varias funciones para reducir una expresin matemtica, de esta manera hace ms entendible y menos compleja la expresin; dicha reduccin la realiza haciendo uso de diferentes identidades trigonomtricas y algebraicas. pretty(f) permite ver la expresin f de una forma ms amena y precisamente ms bonita
f = x ^ 3 6 * x ^ 2 + 11 * x 6 x 3 6 x 2 + 11 x 6

collect(f) hace ver a f como a un polinomio en trminos de su variable simblica, digamos x; y suma todos los coeficientes que tienen la misma potencia de x.

f = ( x 1) * ( x 2) * ( x 3) x ^3 6 * x ^ 2 + 11* x 6

expand(f) distribuye los productos en sumas y aplica identidades a funciones que envuelven a las sumas en sus argumentos.
a * (x + y) a * x + a * y cos( x + y ) cos( x ) * cos( y ) sin( x ) * sin( y )

horner(f) transforma un polinomio simblico en su representacin anidada, tratando de expresar la variable simblica con el menor grado.

x ^3 6 * x ^ 2 + 11* x 6 6 + (11 + (6 + x) * x) * x
factor(f) si f es un polinomio con coeficientes racionales, entonces f es expresado como producto de factores, los cuales al ser multiplicados dan el polinomio original. Si f no puede ser factorizado entonces el resultado es el mismo.

x ^3 6 * x ^ 2 + 11* x 6 ( x 1) * ( x 2) * ( x 3)

simplify(f) es una de las funciones ms poderosas en cuanto a simplificacin se refiere ya que aplica identidades algebraicas as como identidades funcionales como las trigonomtricas, exponenciales y logartmicas.

(1/a^3

(1 - x^2)/(1 - x) x + 1

+ 6/a^2 + 12/a + 8 )^ (1 / 3 )

((2 * a + 1 )^ 3 / a ^ 3 )^ (1 / 3 )

simple(f) este tipo de simplificacin alcanza su objetivo aplicando las funciones simplify, collect, factor, y otras funciones de simplificacin, es la forma ms general de simplificacin ya que muestra todos los resultados en pantalla.
cos (x )^ 2 + sin ( x )^ 2 1 2 * cos ( x )^2 - sin ( x )^2 3 * cos ( x )^ 2 1

subs(f,old,new) reemplaza en la expresin simblica f la expresin o variable old por la expresin o variable new. Por ejemplo: sea la funcin simblica f= x^2 1/2*x 1/2
>>subs(f,1/2,a) x^2 (a)*x (a) >>subs(f,x,a) a^2 1/2*a 1/2 >>subs(f,1/2*x1/2,a) x^2 (a)

Operador matemtico

Comandode MATLAB
diff(f) odiff(f,x)

Operador matemtico

Comandode MATLAB
limit(f)
limit(f,x,a)olimit(f,a)

diff(f,a)

diff(f,b,2)

limit(f,x,a,left)

J=jacobian([r;t],[u ,v]

limit(f,x,a,right)

Operadormatemtico

ComandodeMATLAB Operador
int(f)oint(f,x)

Int(f,a,b)oint(f,x,a,b)

Int(besselj(1,z))oInt(besselj(1,z), z)

Operacionesalgebraicas:

3x+5y 2x+4y +4y 5x+13y

Sumatoriassimblicas
f(0)+f(1)+f(2)+f(3) symsum(f,x,0,3)

SeriesdeTaylor
taylor(f)

Graficacin simblica:

ezplot (f)

Ejemplosconaplicacionesalclculoy simplificacindeexpresionessimblicas

El Symbolic Math Toolbox dispone principalmente de 2 funciones para la solucin de ecuaciones:


Solve(f). resuelve la ecuacin simblica algebrica f para la variable simblica que este por default para f=0, en caso de ser un sistema con mltiples ecuaciones, entonces habr mltiples soluciones por lo que esta funcin regresa las soluciones en forma de estructura. x2 x f=x^2+*x 1 1/2

dsolve(s). me permite resolver expresiones simblicas pero que tengan la caracterstica de ser ecuaciones diferenciales ordinarias, stas ecuaciones deben de contener el carcter D el cual denota diferenciacin. Los smbolos D2, D3, , Dn denotan la segunda, tercera, , nsima derivadas respectivamente. Por ejemplo: D2 representa , la variable dependiente por default que maneja el toolbox es la variable t.

Solucindeecuaciones

Existen algunas funciones que son especiales en cuanto a su aplicacin, este tipo de funciones se pueden ejecutar con una sola funcin llamada mfun, algunas de estas funciones se enlistan a continuacin:
Binominal Coefficients Riemann Zeta Functions Bernoulli Numbers and Polynominals Euler Numbers and Polynomials Harmonic Function Logarithmic Integral Shifted Sine Integral Fresnel Sine And Cosine Integral Dawsons Integral Error Function Gamma Function Logarithm of the Gamma Function Digamma Function Polygamma Function Generalized Hypergeometric Function Bessel Functions Complete Elliptic Integrals Beta Function Lamberts W Function

>>mfunlist paraobtenertodalalistadefuncionesespeciales >>mhelp function obtenerlaayudadeunafuncinespecial

La estructura de la funcin mfun depende directamente del tipo de funcin especial que se utilice, en general la estructura es la siguiente: mfun (fun, p1, p2,)
Nombredela funcinPrincipal Conjuntode parmetrossegn eltipodefuncin especial

Introduccin FundamentosdeMATLAB Matrices,vectoresyfuncionesmatemticas Symbolic Math Toolbox TiposdedatosenMATLAB ProgramacinenMATLAB

MATLAB soporta diferentes tipos de datos como dobles, simples, cadenas, lgicos, etc. De hecho, el usuario puede hacer su propio tipo de dato haciendo uso de las Clases. Existen 15 tipos de datos fundamentales en MATLAB:
ARRAY [Fullor sparse]

logical

char

NUMERIC

cell

structure User classes

Java classes

function handle

int8,uint8,int16, uint16,int32, uint32,int64, uint64

single

double

Los tipos numricos incluyen a los enteros (int), a los de simple y a los de doble precisin (double). Todos los tipos numricos soportan operaciones matemticas excepto los int64 y unit64. Los tipos de datos enteros son tiles porque nos ayudan a ahorrar espacio en memoria y a realizar las operaciones mucho ms rpido.

En los tipos de lgicos slo existen 2 posibles valores que son: 1 o 0 (true o false respectivamente). Obviamente cada valor requiere solo de 1 bit para almacenarse. Los tipos lgicos se usan mucho en operaciones para imgenes binarias (en blanco y negro) y en programacin cuando cierto valor o cierta condicin se cumple o no.

Para declarar un dato de tipo cadena se coloca entre apstrofes:


>>cad=nombre >>cad2=micorreo@servidor

Cada carcter (cualquiera que este sea) escrito en la cadena se guarda en 2 bytes de memoria. La opcin help strings da una pequea ayuda acerca de las cadenas de caracteres. Se pueden crear matrices de cadenas de caracteres, siempre y cuando las cadenas sean de la misma longitud.

La librera que alberga a todas las funciones que actan sobre cadenas de caracteres es strfun. La librera strfun cuenta con ms de 30 funciones para manipulacin de cadenas, algunas de las ms usadas y ms elementales son: size(c): obtiene el nmero de caracteres. double(c): obtiene el cdigo ASCII de la cadena. char(c): convierte de cdigo ASCII a carcter. char(Pedro, Juan Jose): crea una matriz de cadenas. disp(c): imprime la cadena c en pantalla.

Ejemploscontiposnumricos,lgicos ycadenasdecaracteres

Las estructuras son agrupaciones de datos (llamados campos) de diferente tipo bajo un mismo nombre. Por ejemplo, la estructura alumno puede contener los campos nombre (cadena de caracteres) y edad (un nmero).
ARRAY alumno

Alumno(1) Nombre Edad Examen Tania Arrieta 21 89 710

Alumno(2) Nombre Edad Examen Aleida Cosme 18 76 88

Alumno(3) Nombre Edad Examen Carmen Flores 20 108 109

1 Forma. se pueden crear estructuras con la utilizacin del punto(.). Simplemente se van aadiendo los campos que se requieren con su valor correspondiente. Cabe mencionar que un campo puede ser de cualquier clase (entero, doble, char, cell array, vector, matriz, etc.)
alumno.nombre =CarmenFlores'; alumno.edad =20; Alumno.examen =[108;109];

Un cell array proporciona un mecanismo de almacenamiento para diferentes tipos de datos. Los datos pueden ser de todo tipo: matrices, vectores, estructuras e incluso ms cell arrays.
Celda1,1
3 98 475 2 51

Celda1,2
CarmenFlores' 11/9/88 Clase II Obs.1 Obs. 1

Celda1,3
0.9i16 32i 17+i2+.7i

Celda2,1

Celda2,2
3 162 8 5234 0148

Celda2,3

texto
2.24.7 0.94.1

5 6

4 9

4.318.923.877.65

10+0.4i

Uncell array sepuedecreardedosformas,usandoparntesis yusandollaves.


Siseusanparntesis,entonceslosvaloresdebenserdadosentre llaves.
A(1,1)={[143;058;729]}; A(1,2)={TaniaArrieta'};

Siseusanllaves,entonceslosvaloressedantalcual.
A{1,1}=[143;058;729]; A{1,2}=TaniaArrieta';

Cuandosequierepreguntarporelcontenidodeunelemento delcell array sepuedehacerdedosformas:


A(1,2)regresaeltipodedatoqueesyeltamao,peronomemuestrael contenidoensi. A{1,2}memuestraelcontenidodelelemento(1,2)delcell array,se recomiendaestaforma.

Estructuras yarreglosdecelda

Introduccin FundamentosdeMATLAB Matrices,vectoresyfuncionesmatemticas Symbolic Math Toolbox TiposdedatosenMATLAB ProgramacinenMATLAB

MATLAB posee su propio lenguaje de programacin, con sus sentencias y sintaxis. Existen dos elementos bsicos en cualquier lenguaje de programacin: Sentencia IF
Condicin 1 Bloque1 Condicin 2 Bloque2 Bloque3

if condicin sentencias end if condicin sentencias else sentencias end

if condicion1 bloque1 elseif condicion2 bloque2 elseif condicion3 bloque3 else bloque4 end

SentenciaWHILE
while condicin sentencias end
Condicin

Sentencias

SentenciaBREAK:solamenteseusapararomperlosciclosfor owhile
while condicin sentencias if condicin2 break end sentencias end

SentenciaSWITCH
switch expresin case case_expr1, bloque1 case {case_expr2,case_expr3,...} Bloque2 case {case_expr4,case_expr5,...} Bloque2 ... otherwise,%opcinpordefecto bloque3 end

SentenciaFOR
for i=1:n sentencias end for i=vectordevalores sentencias end

SentenciaCONTINUE:esta
sentenciasirvesolamentedentro deciclos,seusaparapasarala siguienteiteracin.
for i=1:n sentencias if condicin2continue end sentenciasB end

SentenciaTRY,CATCH:
normalmenteseejecutanlas sentenciasA,perosiocurrealgn tipodeerrorendichassentencias, enconesseejecutanlassentencias B.
try sentenciasA catch sentenciasB end

Para la lectura de variables se ocupa la funcin input la cual imprime un mensaje en pantalla e inmediatamente despus se queda en espera de un valor de cualquier tipo manejado por MATLAB.
val=input(daunvalor:) cad=input(daunacadena:,s)

Para la escritura de variables se ocupa la funcin disp la cual puede imprimir el contenido de cualquier tipo de variable en la pantalla del command window.
disp(val) disp(findelprograma)

CuandoseescribeunprogramaenMATLAB,stees guardadocomounarchivoM cuyaextensines*.m. ExistendostiposdearchivosM:losscriptsylas funciones:


Un archivo script es un archivo externo que contiene una secuencia de sentencias de MATLAB, tambin son la forma ms simple de realizar un programa ya que no tienen argumentos de entrada o salida. Por otro lado, los scripts comparten totalmente el workspace de MATLAB, es decir, se pueden acceder o crear variables en el workspace desde el archivo script. Para ejecutar un archivo script basta con escribir el nombre del archivo M en el command window y dar ENTER.

Una funcin sirve para agregar nuevas funciones a las ya conocidas en MATLAB. Son rutinas de programa que aceptan argumentos tanto de entrada como de salida. Las funciones operan con variables dentro de su propio workspace, es decir, las variables definidas dentro de una funcin son variables locales. Para que la funcin tenga acceso a variables que no han sido pasadas como argumentos es necesario declarar dichas variables como variables globales. En cualquier funcin de MATLAB existen dos variables definidas de modo automtico, llamadas nargin y nargout, que representan respectivamente el nmero de argumentos de entrada y el nmero de valores de retorno.

Varargin es un cell array que contienen tantos elementos como sean necesarios para poder recoger en dichos elementos todos los argumentos de entrada. Varargout es tambin un cell array que agrupa los valores de retorno de la funcin. Una archivo m tipo funcin se asigna como tal con un encabezado
Function variablesy argumentosde = salida nombredefuncin
(debeserelmismonombre queelarchivom)

(variablesdeentraday argumentos)

Ejemplos de posibles encabezados de una funcin:


function varargout=fun1(varargin) function [r1 r2 varargout]=fun2(a1,a2,varargin) function res=fun1(a,b) function [r1 r2 r3]=fun2(a,b)

Un function handle es un valor de MATLAB que proporciona un medio de llamar a una funcin de una forma indirecta. El principal uso de este tipo de funciones es el de pasar a una funcin el nombre de otra funcin junto con sus argumentos, para que la pueda ejecutar
fhandle =@functionname >>fseno=@sin >>fseno(pi) >>f1=@spice >>f1() ahoralafuncinfsenofuncionaexactamente igualalafuncinsin hacelomismoquesin(pi) secreaunhandle f1delscriptspice.m ejecutaelarchivospice.m

El uso ms frecuente de un handle es para las funciones annimas.

Programacinconmatlab

Para este tipo de ejecucin es imprescindible colocar un breakpoint en la parte del programa en la que queramos que se detenga la ejecucin.
Set/ClearBreakpoint.Colocaoborraunbreakpoint. ClearAll Breakpoints.Eliminatodoslosbreakpoints delarchivo. Step.Avanzarunpasosinentrarenlasfuncionesosubfunciones de usuario. Step In.Avanzarunpaso,ysienesepasohayunallamadaaunafuncin cuyofichero entraendichafuncin. Step Out.Salirdelafuncinqueseestejecutandoenesemomento(la funcinalaqueentrelstep in). Continue.Continuarlaejecucinhastaelfinalohastaelsiguiente breakpoint. Quit Debugging.TerminarlaejecucinpasoapasodelDebugger.

Este tipo de ejecucin permite ejecutar el programa por secciones llamadas celdas, de tal forma que se puede ejecutar mi cdigo por estas secciones o bloques paso a paso. Este modo de ejecucin puede ser controlado por el men Cell del Editor/Debugger. Pasos para una ejecucin en modo de celdas:
1. Habilitar el modo de celda del Editor/Debugger. 2. Definir los bloques o celdas con el signo de doble por ciento (%%) 3. Ejecutar las celdas de acuerdo a las siguientes opciones:
Evaluate Cell. Evala la celda o el bloque completo y se mantiene ah. Evaluate Cell and Anvance. Evala la celda y avanza a la siguiente. Evaluate Entire File. Evala todo el archivo.

El reporte de chequeo de cdigo llamado MLint es una herramienta que muestra problemas y errores potenciales en el cdigo de nuestro programa, tambin muestra ciertos consejos para el mejoramiento del cdigo. La herramienta MLint muestra un mensaje por cada lnea en donde haya cierto problema y determina como se puede mejorar esa lnea de cdigo.

Cuando se haya completado la escritura y el depurado del script M se puede hacer la publicacin del archivo en diferentes formatos: HTML, XML, LaTeX, Word o Power Point.

Modosdeejecucin, correctordecdigoy publicacindearchivos

MATLAB dispone de varias funciones para la lectura y escritura interactiva de archivos (principalmente tipo texto). Algunas de las funciones ms elementales y de mayor uso son:
fopen. para abrir un archivo tipo texto. fclose. para cerrar un archivo tipo texto. fscanf. lee el contenido de un archivo. feof. verifica el fin de un archivo. textread. lee el contenido de un archivo sin necesidad de abrirlo. fprintf. imprime directamente dentro de un archivo.

Validacindeconocimientos

Realice un programa siguiendo los siguientes pasos:


1. 2. 3. Declarar una matriz arbitraria. Realizar 5 operaciones a dicha matriz (Inversa, eigenvalores, acceso a elementos, etc.) Realizar una publicacin debidamente organizada y en formato html.

El principal objetivo de este laboratorio es que el alumno realice un tutorial en donde pueda ir explicando paso a paso como trabajan las funciones en MATLAB y lo ms importante es que no tendr que ir copiandopegando para realizar el reporte de su trabajo.

S-ar putea să vă placă și