funciones

10
 Cálculos aritméticos Variab les escalares Vectores y matrices Entrada/salida Gráficos  bidimensionales Funciones Sentencias condicionales Senten cias iterativas Ejemplos Inicio MATLAB Básico Funciones Estamos acostumbrados a trabajar con funciones del tipo  y=  f  (  x) donde f  (  x) es una expresión matemática en términos de la variable  x. Se calcula un valor de  y (salida) cuando se proporciona un valor de  x (entrada) en la expresión. MATLAB define muchas funciones como  sin(  x), sqrt (  x), etc. Podemos definir nuestras propias funciones guardarlas en un fichero y usarlas de un modo semejante a las funciones predefinidas. En muchos casos las funciones son los componentes básicos dentro de un programa de ordenador. Habitualmente, un programa se subdivide en tareas y cada una de ellas es llevada a cabo por una función, a esta forma de resolver los problemas se denomina programación estructurada. La principal ventaja de las funciones es la posibilidad de reutilizar el código en otros programas distintos al cual fueron definidas. La entrada y la salida puede ser una o varias variables, cada una de ellas puede ser un escalar, un vector o una matriz de cualquier tamaño. Definición de una función Las funciones se crean del mismo modo que un script seleccionado en el menúFile/New/Function  y se guardan en un fichero que tiene el mismo nombre que la función y extensión . m La primera línea en el editor es la definición de la función que comienza con la palabra clave  function function variables_salida=nombre_funcion(variables_entrada)  sentencias end nombre_funcion, es el nombre significativo que se le asigna a la función y coincide con el nombre del fichero de extensión . m en el que se guarda el código de dicha función. Las reglas para nombrar un función son las mismas que para las variables, los nombres no deben de incluir espacios, ni se pueden utilizar plabras reservadas por MATLAB. variables_entrada, es el conjunto de parámetros que se le pasa a la función. Los nombres de las variables van entre paréntesis y separadas por coma. variabales_salida, es el valor o conjunto de valores de las variables devueltos por la función. Las variables de salida van después de la palabra reservada  function entre corchetes cuadrados y separados por comas si hay varios.  sentencias, líneas de código que tomando los valores de los parámetros de entrada calculan mediante expresiones los valores que devuelve la función. end , marca el final de la función es opcional (salvo en las funciones anidadas) pero es conveniente acostumbrarse a ponerlo al finalizar la función. Opcionalmente, en la segunda línea se pone un comentario, en el que se explica la tarea que realiza la función. A

Upload: carlos7624

Post on 05-Nov-2015

216 views

Category:

Documents


0 download

DESCRIPTION

hj h hj jh jh jh jh jh

TRANSCRIPT

  • 25/6/2015 Funciones

    http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/funcion/funcion.html 1/10

    Clculosaritmticos

    Variablesescalares

    Vectoresymatrices

    Entrada/salida

    Grficosbidimensionales

    Funciones

    Sentenciascondicionales

    Sentenciasiterativas

    Ejemplos

    Inicio MATLAB Bsico

    FuncionesEstamosacostumbradosatrabajarconfuncionesdeltipoy=f(x)dondef(x)esunaexpresinmatemticaentrminosdelavariablex.Secalculaunvalordey(salida)cuandoseproporcionaunvalordex(entrada)enlaexpresin.MATLABdefinemuchasfuncionescomosin(x),sqrt(x),etc.

    Podemosdefinirnuestraspropiasfuncionesguardarlasenunficheroyusarlasdeunmodosemejantealasfuncionespredefinidas.Enmuchoscasoslasfuncionessonloscomponentesbsicosdentrodeunprogramadeordenador.Habitualmente,unprogramasesubdivideentareasycadaunadeellasesllevadaacaboporunafuncin,aestaformaderesolverlosproblemassedenominaprogramacinestructurada.

    Laprincipalventajadelasfuncioneseslaposibilidaddereutilizarelcdigoenotrosprogramasdistintosalcualfuerondefinidas.

    Laentradaylasalidapuedeserunaovariasvariables,cadaunadeellaspuedeserunescalar,unvectorounamatrizdecualquiertamao.

    Definicindeunafuncin

    LasfuncionessecreandelmismomodoqueunscriptseleccionadoenelmenFile/New/Functionyseguardanenunficheroquetieneelmismonombrequelafuncinyextensin.m

    Laprimeralneaeneleditoresladefinicindelafuncinquecomienzaconlapalabraclavefunction

    functionvariables_salida=nombre_funcion(variables_entrada)sentenciasend

    nombre_funcion,eselnombresignificativoqueseleasignaalafuncinycoincideconelnombredelficherodeextensin.menelqueseguardaelcdigodedichafuncin.Lasreglasparanombrarunfuncinsonlasmismasqueparalasvariables,losnombresnodebendeincluirespacios,nisepuedenutilizarplabrasreservadasporMATLAB.

    variables_entrada,eselconjuntodeparmetrosqueselepasaalafuncin.Losnombresdelasvariablesvanentreparntesisyseparadasporcoma.

    variabales_salida,eselvaloroconjuntodevaloresdelasvariablesdevueltosporlafuncin.Lasvariablesdesalidavandespusdelapalabrareservadafunctionentrecorchetescuadradosyseparadosporcomassihayvarios.

    sentencias,lneasdecdigoquetomandolosvaloresdelosparmetrosdeentradacalculanmedianteexpresioneslosvaloresquedevuelvelafuncin.

    end,marcaelfinaldelafuncinesopcional(salvoenlasfuncionesanidadas)peroesconvenienteacostumbrarseaponerloalfinalizarlafuncin.

    Opcionalmente,enlasegundalneaseponeuncomentario,enelqueseexplicalatareaquerealizalafuncin.A

  • 25/6/2015 Funciones

    http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/funcion/funcion.html 2/10

    continuacin,unaexplicacindetalladasobrelasvariablesdeentradaydesalida

    Cuandounafuncinnodevuelveningnvalor,sedefine

    functionnombre_funcion(variables_entrada)

    Cuandounafuncionnoprecisadevariablesdeentradasedefine

    functionvariables_salida=nombre_funcion

    Cuandounafuncindevuelveunasoloresultadoysepuedeescribir,dedosmaneras

    function[y]=nombre_funcion(a,b,c)functiony=nombre_funcion(a,b,c)

    Engeneral,definiremosunafuncindelsiguientemodo:

    function[y1,y2]=nombre_funcion(a,b,c)

    contresargumentosa,bycvariablesdeentradayquedevuelvedosresultadosenlasvariablesy1ey2.

    Unafuncinsellamadelmismomodoquelasfuncionespredefinidas.Lasfuncionessepuedenllamardesdelaventanadecomandos,desdeunficheroscriptodesdeotrafuncin.

    Todaslasvariablesenunafuncinsonlocalesadichafuncin,incluyendolasdeentradaylasdesalida.

    Vamosaverunoscuantosejemplosenestapginadefunciones.

    Ejemplos

    Sumadedosnmeros

    Empezaremosporunafuncinsumaquerealizalasiguientetarea,sumadedosnmerosxeyydevuelvelasumaz=x+y

    Definicindelafuncin

    function[z]=suma(x,y)%Estafuncinsumadosnmerosxey%ydevuelveelresultadodelasumaenz

    z=x+y%efectalasumaend

    Alafuncinsumaselepasandosdatosenlasvariablesxey,ydevuelveelresultadoenlavariablez.

    Lafuncinseguardaenunfichero

    Elficheroqueguardalafuncintieneelmismonombrequelafuncin,talcomovemosalseleccionarenelEditorFile/Saveas...

    Llamadaalafuncin

    Lallamadaalafuncinsepuedehacerdesdelaventanadecomandos

    >>suma(2,3)ans=5

  • 25/6/2015 Funciones

    http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/funcion/funcion.html 3/10

    Sepuedehacerdesdeunscript

    a=3b=2res=suma(a,b)disp(res)

    Enlallamadaalafuncinsumasuparmetroxadquiereelvalordelprimerargumentoa,elsegundoparmetroytomaelvalordelargumentob,seefectalasumaenelcuerpodelafuncin,seguardaelresultadoenlavariablezquedevuelvelafuncin.Elvalorqueguardazsecopiaenlavariableres.Lasvariablesx,yyzsonlocalesalafuncinyportanto,noaparecenenlaventanaWorkspace,nosepuedeaccederaellasdesdelaventanadecomandos.

    Comohemosvistohayquepasarlosvaloresqueguardanlasvariablesaybalafuncinsumaporqueunafuncinnotieneaccesoalasvariablesdeclaradasenunscriptoenlaventanadecomandos.

    Sistemadeayuda

    Enlaventanadecomandosescribimos

    >>helpsumaEstafuncinsumadosnmerosxeyydevuelveelresultadodelasumaenz

    aparecenloscomentariosquehemospuestoalprincipiodelafuncin,peronoaparecenelcomentario"efectalasuma",quehemospuestoenlaterceralnea.

    Movimientodecadadeloscuerpos

    Lasecuacionesquedescribenelmovimientodecadadeloscuerposson:

    Dondev0yx0eslavelocidadinicialylaposicininicial,respectivamente.Vamosacrearunafuncindenominadacaida_librequeadmitacomoparmetroseltiempotydevuelvalaposicinxyvelocidadvdeunmvilqueselanzadesde200mdealturaconvelocidadde40m/s.Laaceleracinconstantedelagravedadg=10m/s2

    v=4010tx=200+40t5t2

    SeleccionamosFile/New/Functionparaabrireleditordefunciones.

    1. Definimoslafuncin:

    Lapalabraclavefunction

    Lasvariablesdesalidaentrecorchetescuadrados[x,v]

    Eloperadorasignacin=

    Elnombredelafuncin,caida_libre

    Entreparntesislavariabledeentrada(t)

    2. Escribimoselcuerpodelafuncincondossentenciasquecalculanlavelocidadvylaposicinxcuandoseproporcionaeldatodeltiempot

    3. Finalizamosconend.

    4. SeleccionamosFile/SaveAs..paraguardarlafuncinenelficherocaida_libre.mconelmismonombrequelafuncin.

    function[x,v]=caida_libre(t)v=4010*tx=200+40*t5*t^2

    2 #02

    4 0 #4

    2

    0

  • 25/6/2015 Funciones

    http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/funcion/funcion.html 4/10

    end

    Enlaventanadecomandossellamaaestafuncincaida_libre,pasndoleuntiempot=2s,delsiguientemodo

    >>[pos,vel]=caida_libre(2)pos=240vel=20

    Quecalculaymuestra,lavelocidadv=20m/sylaposicinx=240menelinstantet=2s

    Enlallamadaalafuncincaida_libreelparmetrotadquiereelvalorde2,enlasdossentenciassecalculalavelocidadyposicinyseguardanenlasvariableslocalesvyx.Lafuncindevuelveestosdosvaloresquesecopianenlasvariablesvelyposdelaventanadecomandos.Enlaventanadecomandosnotenemosaccesoalasvariablest,vyxporserlocalesalafuncincaida_libreydesaparecencuandoterminadeejecutarse,perositenemosaccesoalasvariablesvelyposqueguardanlosresultadosdelclculorealizadoenelcuerpodelafuncin.

    Siintentamosaccederalavariablexotobtendremosunmensajedeerror

    >>x,t???Undefinedfunctionorvariable'x'.

    Siqueremosquelafuncincaida_librecalculelaposicinyvelocidaddelmvilparaunasecuencia(vector)detiempost,tendremosquemodificarladefinicindedichafuncin

    function[x,v]=caida_libre(t)v=4010*tx=200+40*t5*t.^2end

    Enlaventanadecomandossellamaaestafuncincaida_libre,pasndolelostiempost=[0,2,4,6,8,10]obien,t=0:2:10,delsiguientemodo

    >>t=0:2:10>>[pos,vel]=caida_libre(t)pos=200260280260200100vel=40200204060

    Mediaydesviacinestndardeunconjuntodedatos

    Ladefinicindemediaydesviacinestndareslasiguiente

    Creamosunafuncindenominadaestadisticaalaqueselepasaunvectorxdedatosydevuelvelamediamedyladesviacin,des,ylaguardamosenunficheroconelmismonombrequelafuncin

    function[med,des]=estadistica(x)n=length(x)med=sum(x)/ndes=sqrt(sum((xmed).^2/(n1)))end

    Lafuncinsumcalculalasumadeloselementosdeunvectorx

    Lafuncinlength,calculaelnmerodeelementosdelvectorx.

    Calcularlamediayladesviacinestndardelaalturadelos10alumnosdeunaclase:1.65,1.82,1.72,1.75,1.73,1.85,1.90,1.74,1.76,1.77.

    Escribimoselnombredelafuncinestadisticaenlaventanadecomandosylepasamoselvectordedatos

    >>[media,desviacion]=estadistica([1.651.821.721.751.731.851.901.741.761.77])media=1.7690desviacion=0.0713

    MATLABdisponededosfuncionesquecalculanlamediameanyladesviacinestndar,std.

    >>x=[1.651.821.721.751.731.851.901.741.761.77]>>mean(x)ans=1.7690>>std(x)ans=0.0713

    Funcionesdefinidasenelmismofichero

    4 U

    *

    4

    %

    *

    *

    44

    %

    *

    +

    '

    *

    *

    *

  • 25/6/2015 Funciones

    http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/funcion/funcion.html 5/10

    Unficherofuncinpuedecontenermsdeunafuncin.Lasfuncionessedefinenunaacontinuacindelaotra.Laprimerafuncineslaprimariaytieneelmismonombrequeelfichero,lasotrasfuncionessonsecundariasysedenominansubfuncionesypuedenestarencualquierordendentrodelfichero.Solamentesepuedellamaralafuncinprimariaenlaventanadecomandosoporotrasfunciones.Cadafuncintienesuspropiasvariablesquesonlocalesalafuncin,nosepuedeaccederalasvariablesdeunasubfuncindesdelafuncinprimariaodesdeotrasubfuncin.Nosepuedeaccederalasvariablesdelafuncinprimariadesdeunasubfuncin.

    Lassubfuncionespermitenorganizartareasgrandesenotrasmspequeas.

    Msadelanteveremoslautilidaddeestasfuncionescuandolosprogramasseanmslargosycomplejos,demomentovamosaverunejemploquenospermitavislumbrarcomosedefinenyllamanlassubfunciones.

    Ecuacindesegundogradoax2+bx+c=0Lasracessonx1yx2ytienenlassiguientespropiedades:

    Vamosacrearunafuncinquenospermitacomprobarlaspropiedadesdelasracesdeunaecuacindesegundogrado,ydossubfunciones,laprimeracalculalarazx1ylasegundalarazx2.

    Eneleditordefuncionescreamoslafuncincomprobar_raices,alaqueselepasaloscoeficientesa,bycdelaecuacindesegundogradoydevuelveloscocientesb/ayc/adelasumayproductodelasdosracesx1yx2.Guardamoselcdigodelafuncinprimariacomprobar_raicesydelassubfuncionescalcula_raiz1ycalcula_raiz2enelficherocomprobar_raices.m

    function[r1,r2]=comprobar_raices(a,b,c)x1=calcula_raiz1(a,b,c)x2=calcula_raiz2(a,b,c)r1=x1+x2r2=x1*x2end

    functionraiz=calcula_raiz1(a,b,c)raiz=(b+sqrt(b*b4*a*c))/(2*a)end

    functionraiz=calcula_raiz2(a,b,c)raiz=(bsqrt(b*b4*a*c))/(2*a)end

    Paracomprobarlasracesdelaecuacindesegundogradox2x6=0,llamamosalafuncincomprobar_raicesylepasamosloscoeficientes1,1,6ynosdevolverb/a=1yc/a=6

    >>[b_a,c_a]=comprobar_raices(1,1,6)b_a=1c_a=6

    Funcionesanidadas

    Unafuncinanidadaesunafuncindefinidadentrodeotrafuncin.Lasfuncinprimariaylasanidadasdebenobligatoriamenteterminarconend

    Lasfuncionesanidadastieneaccesoalasvariablesdelafuncinprimariaylafuncinprimariatieneaccesoalasvariablesdefinidasporlafuncinanidada.

    Unafuncinanidadapuedecontenerotrayassucesivamente,peroesteprocesopuedellevaraconfusin.Existenreglasparallamaraunafuncinanidadadentrodeotraperonotieneporelmomentointersparaellector.

    Eneleditordefuncionescreamoslafuncincomprobar_raices1,alaqueselepasaloscoeficientesa,bycdelaecuacindesegundogradoydevuelveloscocientesb/ayc/adelasumayproductodelasdosracesx1yx2.Guardamoselcdigodelafuncinprimariacomprobar_raices1ydelassubfuncionescalcula_raiz1ycalcula_raiz2enelficherocomprobar_raices1.m

    function[r1,r2]=comprobar_raices1(a,b,c)dis=sqrt(b*b4*a*c)calcula_raiz1calcula_raiz2r1=x1+x2r2=x1*x2functioncalcula_raiz1x1=(b+dis)/(2*a)endfunctioncalcula_raiz2x1=(bdis)/(2*a)

    4

    4

    4

    4

    4

    4

  • 25/6/2015 Funciones

    http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/funcion/funcion.html 6/10

    endend

    Vemosquelasfuncionesanidadascalcula_raiz1ycalcula_raiz2tienenaccesoalosparmetrosa,bycdelafuncinprimaria,quesonvariableslocalesalafuncincomprobar_raicesytambin,alavariablelocaldis,queguardaeldiscriminantedelaecuacindesegundogrado.Porotraparte,lafuncinprimariatieneaccesoalasvariablesx1yx2declaradasencadaunadelasfuncionesanidadas.

    Estasfuncionesanidadasnoprecisandevariablesdeentradaynodevuelvennada.

    Paracomprobarlasracesdelaecuacindesegundogradox2x6=0,llamamosalafuncincomprobar_raices1ylepasamosloscoeficientes1,1,6ynosdevolverb/a=1yc/a=6

    >>[b_a,c_a]=comprobar_raices(1,1,6)b_a=1c_a=6

    Comoejercicioseporponeallectorcrearlafuncinestadistica_1,quedevuelvalamediayladesviacinestndar,cuandoselepasaunvectordedatos.Elvalormediosecalcularmediantelafuncinanidadamediayladesviacinestndarmediantelafuncinanidadadesviacion.

    Solucin

    Funcionesannimas

    Lasfuncionesannimasnospermitendefinirunafuncinsimplesinnecesidaddecrearlayguardarlaenunfichero.m.Sepuedendefinirenlaventanadecomandos,enunficheroscriptodentrodeotrafuncin,conlasiguientesintaxis:

    variable=@(lista_argumentos)expresion

    expresionconsisteenunanicayvlidaexpresin,puedetenerunaomsvariablesdeentradaqueseespecificanenlalistadeargumentosseparadasporcomas.Puedeincluirvariablesquesehandefinidopreviamente

    Lasfuncionessepuedenasignaravariablesyestasvariablessepuedenpasaraotrasfuncionescomosepasanescalaresovectores.Msadelanteveremoscmosellamaaunafuncindentrodeotrafuncinqueselepasaenunodesusparmetros.

    Comparamosladefinicindeunafuncinfuncqueseguardaenunficherofunc.mysuequivalenteannima

    functiony=func(x)y=cos(x)xend

    Llamadaalafuncin

    >>z=func(0.5)z=0.3776

    Suequivalenteannimaseescribeenlaventanadecomandossinnecesidaddeguardarlaenunficheroysellamadelmismomodoquecualquierotrafuncin

    >>f=@(x)cos(x)x>>z=f(0.5)z=0.3776

    fguardaunvalorasociadoaunafuncinquedenominaremosmanejador(functionhandle)

    EnlaventanaWorkspace,vemosqueapreceunavariablefdedistintotipoqueguardalareferenciaalafuncinannima.

    Teoremadelcoseno

  • 25/6/2015 Funciones

    http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/funcion/funcion.html 7/10

    Podemoscalcularelladocdeltringulosiconocemoslosladosaybyelngulocomprendido,medianteelteoremadelcoseno

    >>c=@(a,b,gamma)sqrt(a^2+b^22*a*b*cosd(gamma))>>lado=c(3,4,30)lado=2.0531

    Llamadaaunafuncindesdeotrafuncin

    Existenmuchasituacionesenlasqueunafuncinf1utilizaotrafuncinf2.Porejemplo,MATLABtieneunafuncinfzeroqueseutilizaparacalcularlasracesdeunaecuacinf(x)=0.Lafuncinfselepasaafzerocuandosellamaparaencontrarlasracesdef(x).Hayvariasformasdepasarunafuncinfaotrafuncinparasuuso.

    Yahemosvistoelsignificadodemanejadorparaunafuncinannima,unvalorqueguardaunavariablefocyqueestasociadoaunafuncin.

    Sidefinimosunafuncindeformaexplcitaenunficheroporejemplo,lafuncinfunc,obtenemoselmanejadoranteponiendoelcarcter@alnombredelafuncin

    Laderivadadeunafuncin

    Vamosahora,avercomoselepasaunafuncinaotrafuncinenunodesusparmetros.

    Laderivadaprimerady/dx,deunafunciny=f(x)enunpuntox0,sepuedecalcularaproximadamentemediantelafrmula

    dondehununnmeropequeoencomparacinconx0.Escribirunafuncindenominadaderivada,cuyosparmetrosseanlafuncinf,ylaabscisax0ydevuelvaelvalordeladerivadadelafuncinf(x)enx0.Tomarh=105.Utilizarlafuncinderivadaparacalcularlasderivadasdelassiguientesfunciones,comparandoconlosresultadosexactos.

    functionyp=derivada(f,x0)h=1e5yp=(f(x02*h)8*f(x0h)+8*f(x0+h)f(x0+2*h))/(12*h)end

    Enlaventanadecomandos,definimoslafuncin(annima)quequeremosderivaryllamamosalafuncinderivada.

    >>f1=@(x)x^2*exp(x)>>derivada(f1,0.25)ans=0.7223

    Podemoscalculartambinladerivadasegundadeunafuncinenunpuntodelsiguientemodo

    >>f1=@(x)x^36*x^2+3>>derivada(f1,2)ans=12.0000>>f2=@(x)derivada(f1,x)>>derivada(f2,2)ans=9.8686e007

    Podemosrepresentarlafuncin(encolorazul),suderivadaprimera(encolorrojo)ysuderivadasegunda(encolorverde)

    DPT E

    5

    4

    " $ " $ " $ " $4

    4

    4

    4

    $

    5 4

    4

    4

    5 4

    !

    4

    4

  • 25/6/2015 Funciones

    http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/funcion/funcion.html 8/10

    x=3:0.05:7f1=@(x)x.^36*x.^2+3y=f1(x)%funcinyp=derivada(f1,x)%derivadaprimeraf2=@(x)derivada(f1,x)ypp=derivada(f2,x)%derivadasegundaplot(x,y,'b',x,yp,'r',x,ypp,'g')xlabel('x')ylabel('y')title('funcinyderivadas')ylim([50,50])gridon

    Representacingrficadeunafuncin

    Definimosunafuncindenominadagraficaylepasamoselmanejadordelafuncincuyagrficaqueremosrepresentarenundeterminadointervaloa,b.Lafuncinnodevuelveningnvalor.

    functiongrafica(f,a,b)x=linspace(a,b,50)y=f(x)plot(x,y,'r')gridonxlabel('x')ylabel('y')title('grficadeunafuncin')end

    Enlaventanadecomandocreamosunafuncinannimacuyomanejadoresfuncyllamamosalafuncingrafica,pasndoleelmanejador,elintervalo(a,b)enelcualqueremosrepresentarlafuncin

    >>func=@(x)xcos(x)>>grafica(func,0,pi/2)

    Aparecelaventanagrfica

    5 4

    4

    4

    5

    4

    4

    4

    5

    4

  • 25/6/2015 Funciones

    http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/funcion/funcion.html 9/10

    Definimosunafuncinsimilarfunc1ylaguardamosenunficherofunc1.m

    functiony=func1(x)y=cos(x)xend

    Enlaventanadecomandosllamamosalafuncingrafica,pasndoleelmanejadordelafuncinfunc1,@func1yelintervalo(a,b)enelcualqueremosrepresentarlafuncin.

    >>grafica(@func1,0,pi/2)

    Seobtienelamismagrfica

    Lafuncinfplot

    Lafuncinfplotdibujaunagrficasiselepasalafuncinfenelprimerparmetroyelintervalo[xmin,xmax]enelsegundo

    >>f=@(x)x5*(1exp(x))>>fplot(f,[06])

    Alternativamente,fplotdevuelveunatabladevalores[x,y]quepuedenserutilizadasporlafuncinplot(x,y)paradibujargrfica,superponerunarejilla(grid),ponerttulo(title)yetiquetas(xlabel,ylabel),etc.talcomosemuestraenelsiguientescript

    f=@(x)x5*(1exp(x))[x,y]=fplot(f,[06])plot(x,y)gridonxlabel('x')ylabel('y')title('grficadeunafuncin')

    Haydiferenciassignificativasentreplotyfplot.Laprimeraevalalafuncinparavaloresdexigualmenteespaciados.Comovemoshayqueespecificarelintervaloxoelnmerodepuntos,mientrasqueenlasegundanoesnecesarioespecificarlo.fplotevalainternamentelafuncinmsfrecuentementeenaquellasregionesenlasquecambiarpidamente.Enelsiguienteejemplosedibujalasiguientefuncinenelintervalo[0.010.1]

    >>x=0.01:0.001:0.1>>y=sin(1./x)>>plot(x,y)

    5 TJO

    4

  • 25/6/2015 Funciones

    http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/funcion/funcion.html 10/10

    Tomandox=0.001,seobtieneunafiguraconbajaresolucin.Sinembargo,

    >>f=@(x)sin(1/x)>>fplot(f,[0.010.1])

    Obtenemosunafiguraconmejorresolucinsintenerqueprobardistintosvaloresdexodelnmerodepuntos.

    EnergasRenovablesEUITIdeEibar