<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>El Blog de Vicent 2.0</title>
	<atom:link href="http://visanju.es/feed/" rel="self" type="application/rss+xml" />
	<link>http://visanju.es</link>
	<description>Mi blog, otra vez ;)</description>
	<lastBuildDate>Wed, 07 Mar 2012 19:14:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Amunt i avall amb les llicències</title>
		<link>http://visanju.es/amunt-i-avall-amb-les-llicencies/</link>
		<comments>http://visanju.es/amunt-i-avall-amb-les-llicencies/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 19:12:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Grau en Multimèdia]]></category>
		<category><![CDATA[Prácticas]]></category>
		<category><![CDATA[Universitat]]></category>
		<category><![CDATA[UOC]]></category>
		<category><![CDATA[Disseny]]></category>
		<category><![CDATA[PAC]]></category>

		<guid isPermaLink="false">http://visanju.es/?p=144</guid>
		<description><![CDATA[Per a l&#8217;A1 de Disseny hem de llegir uns textos sobre llicències. De moment he fet un mapa amb el primer text (Un vistazo a los derechos de autor y a las licencias abiertas. Apuntes para su uso en la creación y tratamiento de imágenes. David Gómez Fontanills) que ens donen a la PAC. El podeu descarregar en <a href='http://visanju.es/amunt-i-avall-amb-les-llicencies/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Per a l&#8217;A1 de Disseny hem de llegir uns textos sobre llicències. De moment he fet un <a title="Mapa" href="http://db.tt/PoxkPRIc" target="_blank">mapa</a> amb el primer text (Un vistazo a los derechos de autor y a las licencias abiertas. Apuntes para su uso en la creación y tratamiento de imágenes. David Gómez Fontanills) que ens donen a la PAC. El podeu descarregar en PDF.</p>
<p>Noteu que per un costat la llicència d&#8217;aquest blog és <em>cc 3.0 by-nc-sa</em> però la del mapa és <em>cc 3.0 by-sa.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://visanju.es/amunt-i-avall-amb-les-llicencies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Primera setmana</title>
		<link>http://visanju.es/primera-setmana/</link>
		<comments>http://visanju.es/primera-setmana/#comments</comments>
		<pubDate>Mon, 05 Mar 2012 19:28:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Grau en Multimèdia]]></category>
		<category><![CDATA[Prácticas]]></category>
		<category><![CDATA[Universitat]]></category>
		<category><![CDATA[UOC]]></category>
		<category><![CDATA[feina setmanal]]></category>

		<guid isPermaLink="false">http://visanju.es/?p=139</guid>
		<description><![CDATA[Laboratori: Hem de fer el primer tutorial de cada guia: Fireworks: Tutorial 1 Illustrator: Tutorial 1 Dreamweaver: Tutorial 1 Flash: Tutorial 1 Disseny: Molta feina, llegir el primer mòdul (percepció visual i jo de pas annotar totes les errades per a comentar-les al fòrum), instal·lar Fireworks i seguir el tutorial i començar A1 (pdf de <a href='http://visanju.es/primera-setmana/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><strong>Laboratori</strong>: Hem de fer el primer tutorial de cada guia:</p>
<ul>
<li>Fireworks: Tutorial 1</li>
<li>Illustrator: Tutorial 1</li>
<li>Dreamweaver: Tutorial 1</li>
<li>Flash: Tutorial 1</li>
</ul>
<p><strong>Disseny</strong>: Molta feina, llegir el primer mòdul (percepció visual i jo de pas annotar totes les errades per a comentar-les al fòrum), instal·lar Fireworks i seguir el tutorial i començar A1 (pdf de l&#8217;activitat i tres documents de teoria com a bibliografia). Els &#8220;novatos&#8221; estaran un pelet acollonats.</p>
<p><strong>Llenguatges web</strong>: Introducció i conceptes bàsics</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://visanju.es/primera-setmana/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comencem el Grau en Multimèdia</title>
		<link>http://visanju.es/comencem-el-grau-en-multimedia/</link>
		<comments>http://visanju.es/comencem-el-grau-en-multimedia/#comments</comments>
		<pubDate>Sun, 04 Mar 2012 18:12:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Grau en Multimèdia]]></category>
		<category><![CDATA[Disseny Gràfic]]></category>
		<category><![CDATA[Llenguatges i Estàndars Web]]></category>
		<category><![CDATA[Universitat]]></category>
		<category><![CDATA[UOC]]></category>

		<guid isPermaLink="false">http://visanju.es/?p=126</guid>
		<description><![CDATA[Ja he començat a la UOC el Grau en Multimèdia. Per a aquest primer semestre he triat Disseny gràfic (6 crèdits) i Llenguatges i estàndars Web (6 crèdits). Disseny gràfic Introducció al grupo d&#8217;assignatures sobre el disseny visual dels productes multimèdia. Aprendrem les bases del disseny (composició, color i forma) i estudiarem les llicències aplicables. <a href='http://visanju.es/comencem-el-grau-en-multimedia/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Ja he començat a la UOC el Grau en Multimèdia. Per a aquest primer semestre he triat <strong>Disseny gràfic</strong> (6 crèdits) i <strong>Llenguatges i estàndars Web</strong> (6 crèdits).</p>
<h4>Disseny gràfic</h4>
<p>Introducció al grupo d&#8217;assignatures sobre el disseny visual dels productes multimèdia. Aprendrem les bases del disseny (composició, color i forma) i estudiarem les llicències aplicables.</p>
<p>Els diferents mòduls són molt variats: percepció visual (m&#8217;enviaran a fer punyetes quan els indique els errors del text?, visca la psicofísica!), gràfics digitals, bases de disseny, tècniques de creativitat. A banda el material incorpora enllaços a materials web on podem ampliar coneixements. També aprendrem un poc de tipografia, yuju!</p>
<p>Les pràctiques es fan amb Fireworks i Flash (what?, i per a què volem Illustrator?, mentida!, jo sempre voldré a Freehand xD), l&#8217;explicació és senzilla. Fireworks està orientat a la producció d&#8217;imatges per a la web i, per tant, permet treballar amb mapa de bits i gràfics vectorials.</p>
<p>El consultor ens propossarà activitats opcionals. Com a novetat les PAC ací s&#8217;anomenen Activitats (A i seran tres), i, com era d&#8217;esperar hi ha una pràctica (l&#8217;Alvert es burla però ell no tenia tantes pràctiques obligatòries <em>fakinshit</em>!)</p>
<p>Els resultats de les activitats i guies d&#8217;aprenentage volen que els pengem a l&#8217;espai &#8220;Web personal&#8221; (sic) i després al fòrum peguem l&#8217;adreça. Açò és novetat, on està aquest espai?, el proporciona la UOC o ens hem de traure les castanyes del foc?</p>
<p><strong>Avaluació:</strong> <span style="color: #ff0000;">Pràctica obligatòria i examen o avaluació continuada (nota mínima a les PAC i al final una prova de síntesi).</span></p>
<h4>Llenguatges i estàndars Web</h4>
<p>Aquesta assignatura tracta sobre els fonaments de la creació de pàgines web. La base de tot açò és l&#8217;ús dels estàndars web (normes i pràctiques d&#8217;accessibilitat).</p>
<p>El material teòric és una traducció d&#8217;un material creat per Opera (<a title="Material Opera" href="http://cv.uoc.edu/app/mediawiki8/index.php/Portada" target="_blank">l&#8217;accés és lliure</a>). Les pràctiques les farem amb Dreamweaver, al respecte, dir que al pla docent es parla de dues PAC i una pràctica, en canvi la consultora i el calendari parlen de tres PAC i una pràctica.</p>
<p><strong>Avaluació:</strong> <span style="color: #ff0000;">Pràctica obligatòria i examen o avaluació continuada (nota mínima a les PAC i al final una prova de síntesi)</span>.</p>
<p>BONUS: Per a què després diguen que els catalans no donen res&#8230; tenim un<strong> Laboratori d&#8217;eines de disseny d&#8217;interfícies web</strong>!. No és una assignatura avaluable i per tant no té crèdits. El seguiment es voluntari. És un espai transversal entre vàries assignatures on hi ha tutorials i consultor de programari.</p>
<h4>Conclussió</h4>
<p>Moltes novetats i temàtiques noves. A veure si em serveix per a desintoxicar-me de tanta assignatura teòrica i científica. D&#8217;aquest tipus en tinc al màster de contactologia (com diria el director del màster: <em>A muerte, pero con amistad!</em>).</p>
]]></content:encoded>
			<wfw:commentRss>http://visanju.es/comencem-el-grau-en-multimedia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Control de la miopía 1 de 5</title>
		<link>http://visanju.es/control-de-miopia-1-de-5/</link>
		<comments>http://visanju.es/control-de-miopia-1-de-5/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 23:13:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Revisión bibliográfica]]></category>
		<category><![CDATA[Visión]]></category>
		<category><![CDATA[control de la miopía]]></category>
		<category><![CDATA[miopía]]></category>
		<category><![CDATA[revisión bibliográfica]]></category>

		<guid isPermaLink="false">http://visanju.es/?p=109</guid>
		<description><![CDATA[&#160; Este tema ha estado siempre presente en la sociedad. Es frecuente que nuestro pacientes nos pregunten si les ha subido la &#8220;graduación&#8221;, hasta cuándo les va a subir, si sus lentes van a ser gruesas, si les sube por no ponerse las gafas, etc. pero el verdadero problema sanitario/económico son las complicaciones relacionadas con <a href='http://visanju.es/control-de-miopia-1-de-5/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div>
<p>&nbsp;</p>
<div>
<div>
<p>Este tema ha estado siempre presente en la sociedad. Es frecuente que nuestro pacientes nos pregunten si les ha subido la &#8220;graduación&#8221;, hasta cuándo les va a subir, si sus lentes van a ser gruesas, si les sube por no ponerse las gafas, etc. pero el verdadero problema sanitario/económico son las complicaciones relacionadas con la miopía. La mayor parte de las referencias bibliográficas al respecto están publicadas en inglés y además el acceso a ellas no siempre es sencillo. Creo que puede ser de interés tanto para optometristas como para los pacientes. En principio mi idea es escribir cinco pequeñas entradas a razón de una entrada cada dos o tres días. Si os interesa el tema os recomiendo que os suscribáis a mis publicaciones de autor y/o comentéis mis entradas.</p>
<p>La miopía es el defecto refractivo con mayor incidencia en el mundo, especialmente en zonas desarrolladas y dentro de estas en Asia. Concretamente en las zonas urbanas asiáticas se puede llegar a encontrar una incidencia del 80% mientras que en zonas rurales se reduce drásticamente hasta el 5%. Actualmente consideramos que a demás de factores genéticos, raciales y geográficos la miopía se ve afectada por factores ambientales y educacionales.</p>
<p>También se ha detectado que la prevalencia va aumentando en sujetos jóvenes, de hecho en España la incidencia oscila entre el 20 y el 30% dependiendo de la franja de edad. Por lo tanto en las próximas décadas la miopía puede suponer un serio problema de salud a nivel prácticamente global.</p>
<p>Existen varios explicaciones para el aumento de la miopía. Inicialmente se pensó que un aumento de la PIO provocaría la elongación ocular pero ni se ha encontrado valores elevados en sujetos con miopía en progresión ni los fármacos usados para el tratamiento del glaucoma han detenido la progresión.</p>
<p>Otra explicación se basa en observar las diferencias entre la población urbana y la rural, en la población urbana existe una mayor demanda de tareas en visión próxima. ¿Es posible que la acomodación aumente la miopía? Algunos autores afirman que durante la acomodación aumenta la longitud del ojo y relacionan el LAG acomodativo con el aumento de la miopía.</p>
<p>Como veremos más adelante el estudio COMET si establece el beneficio de un tratamiento para sujetos con elevado LAG pero en estos momentos la tendencia es a pensar que el LAG es una consecuencia más que la causa. Por último está la hipótesis más aceptada hoy en día, el desenfoque periférico retiniano. En múltiples modelos animales se ha demostrado que mediante lentes se podía modificar el crecimiento axial del ojo.</p>
<p>Os animo a todos y todas a que comentéis, preguntéis, corrijáis, especifiquéis&#8230;</p>
<p>Esta misma entrada se va a publicar simultáneamente en OptoBlogs: www.formacionoptometrica.com</p>
</div>
</div>
<p>&nbsp;</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://visanju.es/control-de-miopia-1-de-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El fin de Google Wave</title>
		<link>http://visanju.es/el-fin-de-google-wave/</link>
		<comments>http://visanju.es/el-fin-de-google-wave/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 16:12:48 +0000</pubDate>
		<dc:creator>visanju</dc:creator>
				<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[Nostalgia]]></category>

		<guid isPermaLink="false">http://visanju.es/el-fin-de-google-wave/</guid>
		<description><![CDATA[El 30 de abril de 2012 será el último día que podremos entrar a Google Wave. La compañía está mandando correos a los usuarios. No es un servicio que usé mucho, pero así y todo siento un nosequé nostálgico.]]></description>
			<content:encoded><![CDATA[<p>El 30 de abril de 2012 será el último día que podremos entrar a Google Wave. La compañía está mandando correos a los usuarios.<br />
No es un servicio que usé mucho, pero así y todo siento un nosequé nostálgico.</p>
]]></content:encoded>
			<wfw:commentRss>http://visanju.es/el-fin-de-google-wave/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 11.10</title>
		<link>http://visanju.es/ubuntu-11-10/</link>
		<comments>http://visanju.es/ubuntu-11-10/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 22:16:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[Varios]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://visanju.es/?p=97</guid>
		<description><![CDATA[Contentísimo con la nueva versión de Ubuntu. Aún no lo he probado en mi viejo eeePc, pero en mi netbook HP vuela! Han conseguido mejorar el rendimiento del escritorio, en versiones anteriores era desesperante. De hecho en mi eeePc tuve que pasar a Gnome 2. A ver si este fin de semana lo actualizo.]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://visanju.es/wp-admin/www.ubuntu.com"><img class="aligncenter" title="Ubuntu 11.10" src="http://www.ubuntu.com/sites/www.ubuntu.com/files/active/02_ubuntu/U1_/tour-screen-1.jpg" alt="" width="493" height="290" /></a></p>
<p>Contentísimo con la nueva versión de <a title="Descarga Ubuntu, elige tu versión!" href="http://www.ubuntu.com/download/ubuntu/download" target="_blank">Ubuntu</a>. Aún no lo he probado en mi viejo eeePc, pero en mi netbook HP vuela! Han conseguido mejorar el rendimiento del escritorio, en versiones anteriores era desesperante. De hecho en mi eeePc tuve que pasar a Gnome 2. A ver si este fin de semana lo actualizo.</p>
]]></content:encoded>
			<wfw:commentRss>http://visanju.es/ubuntu-11-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La neuroplasticidad y la estereopsis</title>
		<link>http://visanju.es/la-neuroplasticidad-y-la-estereopsis/</link>
		<comments>http://visanju.es/la-neuroplasticidad-y-la-estereopsis/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 13:00:44 +0000</pubDate>
		<dc:creator>visanju</dc:creator>
				<category><![CDATA[Visión]]></category>
		<category><![CDATA[ambliopía]]></category>
		<category><![CDATA[entrenamiento]]></category>
		<category><![CDATA[estereopsis]]></category>
		<category><![CDATA[neuroplasticidad]]></category>
		<category><![CDATA[punset]]></category>
		<category><![CDATA[redes]]></category>
		<category><![CDATA[terapia visual]]></category>
		<category><![CDATA[visión binocular]]></category>

		<guid isPermaLink="false">http://visanju.es/?p=95</guid>
		<description><![CDATA[En este vídeo del programa Redes, Punset entrevista a la neurobióloga Susan Barry. El video está muy bien porque explica de forma gráfica y simple  como se genera la percepción de profundidad a partir de dos imágenes diferentes. No se definen conceptos como la rivalidad, disparidad, fusión, etc. pero se tratan de forma intuitiva. De <a href='http://visanju.es/la-neuroplasticidad-y-la-estereopsis/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>En <a href="http://www.rtve.es/television/20110608/ver-mundo-estereo/438194.shtml">este vídeo</a> del programa Redes, Punset entrevista a la neurobióloga Susan Barry. El video está muy bien porque explica de forma gráfica y simple  como se genera la percepción de profundidad a partir de dos imágenes diferentes. No se definen conceptos como la rivalidad, disparidad, fusión, etc. pero se tratan de forma intuitiva.</p>
<p>De todas formas, lo que más me llama la atención es lo que se dice sobre la neuroplasticidad. Barry nació estrábica (supongo que endotrópica) y por lo tanto  no desarrolló estereopsis durante su infancia. Con 48 años, tras pasar por terapia visual consiguió percibir estereopsis. No dan más detalles sobre la causa de su estrabismo o cómo lo corrigió ya que en el vídeo no se le nota. Esto implica que su sistema visual primero realizó una adaptación sensorial (supresión) y siendo adulta fue capaz de superarla, presentar diplopia y desarrollar los tres grados de visión binocular: visión simultánea, fusión plana y estereopsis. Esto requiere seguramente una reestructuración a nivel cortical y de procesos superiores que desde los años 50 se piensa que no se puede dar más allá de los 8 años.</p>
<blockquote><p><em>&#8230;desde los años cincuenta la sabiduría popular dice que tienes que desarrollar la capacidad de tener visión estereoscópica, de ver las cosas en tres dimensiones dentro de los primeros años de vida, en algún momento de la primera infancia. Y si no la desarrollas a esa edad, tu cerebro se conecta de tal modo que nunca serás capaz de ver en tres dimensiones&#8230;</em></p></blockquote>
<p>Cada día hay más estudios que indican que sigue existiendo cierta plasticidad neuronal tras la infancia. Respecto a las ciencias de la visión esto significa que se puede tratar la ambliopía y lograr la estereopsis a cualquier edad.</p>
]]></content:encoded>
			<wfw:commentRss>http://visanju.es/la-neuroplasticidad-y-la-estereopsis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prácticas de Espacial, a tope!</title>
		<link>http://visanju.es/practicas-de-espacial-a-tope/</link>
		<comments>http://visanju.es/practicas-de-espacial-a-tope/#comments</comments>
		<pubDate>Fri, 13 May 2011 19:07:57 +0000</pubDate>
		<dc:creator>visanju</dc:creator>
				<category><![CDATA[Friki]]></category>
		<category><![CDATA[Prácticas]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[a tope!]]></category>
		<category><![CDATA[máster]]></category>
		<category><![CDATA[Matlab]]></category>
		<category><![CDATA[prácticas]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[universidad]]></category>

		<guid isPermaLink="false">http://visanju.es/?p=85</guid>
		<description><![CDATA[NOTA: esta entrada responde a unas prácticas de simulación computacional realizadas para la asignatura mecanismos y modelos de la visión del movimiento. Mi intención ha sido intentar ayudar o al menos causar una sonrisa a mis agobiadas compañeras poco puestas en temas de programación. Hola amiguitas del house! (o del reguetón o de iurovishion o <a href='http://visanju.es/practicas-de-espacial-a-tope/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><strong>NOTA: esta entrada responde a unas prácticas de simulación computacional realizadas para la asignatura mecanismos y modelos de la visión del movimiento. Mi intención ha sido intentar ayudar o al menos causar una sonrisa a mis agobiadas compañeras poco puestas en temas de programación.</strong></p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Hola amiguitas del house! (o del reguetón o de iurovishion o lo que sus guste). Después del disgusto con las prácticas de espacial estaréis pensando&#8230; y a mí que más me da si la práctica fisiológica quiere ver lo que responde una neurona o si ha dicho que para la de psicofísica hay que calcular la sumación como una norma euclídea si yo lo que no sé es hacer un bucler! Jorl!</span></span></p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"> A ver empecemos por el principio y acabemos por el final (como se hace con los buclers). Imaginemos que queremos explorar el campo visual usando unas deltas de Dirac (no sé a qué práctica me suena&#8230;). Aunque a Maria Elena ya la tenemos un poco castigada <span style="text-decoration: line-through;">y la vamos a enviar de contertulia a Qué Tiempo Tan Feliz, antes</span> la remataremos un poco. El cloroformo le ha fastidiao las neuronas y su campo visual se ha encogido y ahora es una matriz de 10 x 10.</span></span></p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"> El experimento va a consistir en hacer una matriz de ceros 10 x 10</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">receptimetro = zeros(10)</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"> E ir poniendo un uno en cada posición. Yo no pienso escribir 100 matrices a mano (y espero que Mariajosé y cía no escriban 4096). Más cómodo va a ser pedirle a Matlá que lo haga él.</span></span></p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"> En el post anterior os expliqué que los bucles for son útiles para repetir instrucciones que se van a producir un número determinado de veces. En este caso vamos a decirle que recorra toda la matriz y asigne un 1 a la posición que le digamos.</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">receptimetro(1,1) = 1</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0 0 0 0 0 0 0 0 0</span></span></p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"> Para no hacerlo muy largo pensemos de forma más algebraica</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">a<sub>11</sub> a<sub>12</sub> a<sub>13</sub> …</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">a<sub>21</sub> a<sub>22</sub> a<sub>23</sub> …</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">a<sub>31</sub> a<sub>32</sub> a<sub>33</sub> …</span></span></p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"> Cada elemento lo nombramos como a<sub>ij</sub></span></span></p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"> Como tenemos 10 filas necesitaremos un bucle con un contador para las filas. En cada fila hay 10 elementos, necesitaremos otro bucle que esté anidado en el primero para recorrer cada fila antes de pasar a la siguiente.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">for i=1:10</span></span></span></p>
<p><span style="color: #000000;"> <span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">for j=1:10</span></span></span></p>
<p><span style="color: #000000;"> <span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> receptimetro(i,j)= 1</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> receptimetro = zeros(10); %Fijaos que como no quiero ir acumulando los unos en cada bucle, una vez terminadas las instrucciones le tengo que pedir que me vuelva a generar la matriz de ceros</span></span></span></p>
<p><span style="color: #000000;"> <span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">end</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">end</span></span></span></p>
<p><span style="font-size: small;"><span style="font-family: Arial, sans-serif;"> Rayos y retruécanos Radiactivoman! En un plín Matlá ha hecho todas las matrices&#8230; pero ¿cómo trabajo con ellas? Eso es otro tema pero lo suyo será coger y meter todo el tochaco de instrucciones dentro del </span><span style="font-family: 'Courier New', monospace;">for</span><span style="font-family: Arial, sans-serif;">, entre </span><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;">receptimetro(i,j)= 1 </span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;">y </span></span><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;">receptimetro = zeros(10);</span></span></span></p>
<p><span style="font-size: small;"><span style="color: #000000;"><span style="font-family: Arial, sans-serif;">En cambio pensando en la práctica de Pilar y Ana la idea cambia un poco. Es cierto que Jesús ha dicho que hay que mapear una región de frecuencias, pero esa región no la podemos simplicar diciendo que es una matriz simple, en realidad es una matriz de pequeños vectores de dos elementos.</span></span></span></p>
<p style="text-align: center;"><span style="font-size: small;"><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><img class="aligncenter" src="https://lh6.googleusercontent.com/_4Z3DAKYj3rc/Tc1-C04hRKI/AAAAAAAACmg/7bcbbCyW_8M/s640/mamarracho1.jpg" alt="Aquí veo una matriz!" width="640" height="480" /></span></span></span></p>
<p><span style="font-size: small;"><span style="color: #000000;"><span style="font-family: Arial, sans-serif;">¿Pero qué dices alma de cántaro? Po si señoritas, yo ahí veo una matriz compuesta por elementos que en realidad son vectores. Recordad que en los script de prácticas definimos la frecuencia en </span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><em><strong>x</strong></em></span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"> y en </span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><em><strong>y</strong></em></span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;">, un par de frecuencias. Por supuesto que esto lo podemos trabajar como una matriz, pero en este caso nos hace falta que cada elemento de la matriz sean dos números diferentes. En C++ esto es muy fácil y cómodo de hacer, Matlá también lo sabe hacer pero de forma un poco más incómoda.</span></span></span></p>
<p><span style="font-size: small;"><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><img class="aligncenter" src="https://lh4.googleusercontent.com/_4Z3DAKYj3rc/Tc1-GyCjfjI/AAAAAAAACmk/3F7u3RkoxwE/s640/mamarracho2.jpg" alt="Jamemateeeeen! Ya veo que en cada elemento me interesan dos valores!" width="640" height="480" /></span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="color: #000000;">[1 1] [1 2] [1 3] …</span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="color: #000000;">[2 1] [2 2] [2 3] …</span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="color: #000000;">[3 1] [3 2] [3 3] …</span></span></span></p>
<p><span style="font-size: small;"><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"> Si alguien tiene curiosidad se hace con la instrucción struct (estructura). En otros lenguajes de programación cuando creamos una variable le debemos decir qué tipo de datos llevará, no es lo mismo escribir un natural, un entero, un decimal, un carácter, etc por cuestiones de memoria, desbordamientos, etc. Cuando le indicamos el tipo le podemos decir que la variable </span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><em><strong>a</strong></em></span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"> es un vector de elementos de otro tipo concreto, pex: </span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><em><strong>a</strong></em></span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"> es un vector de enteros y su longitud son dos elementos, y ahora puedo crear otra variable mediante la instrucción estructura y decirle que la estructura </span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><em><strong>b</strong></em></span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"> es una matriz compuesta por variable </span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><em><strong>a</strong></em></span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;">.</span></span></span></p>
<p><span style="font-size: small;"><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"> Que nadie se asuste a ver si le va a pasar como a Toni Genil en la isla&#8230; con dos bucles lo solucionamos! Lo que queremos son parejas de números y no vamos a recorrer ninguna matriz, nos imaginamos la matriz.</span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="color: #000000;">for i=min:max</span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="color: #000000;"> for j = min:max</span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="color: #000000;"> fx = i;</span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="color: #000000;"> fy = j;</span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="color: #000000;"> %Cálculos pertinentes</span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="color: #000000;"> end</span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="color: #000000;">end</span></span></span></p>
<p><span style="color: #ff0000;"><span style="font-size: small;"><span style="font-family: Arial, sans-serif;">NOTA: en especial para Sarika y Paula, va por ustedes!</span></span></span></p>
<p><span style="font-size: small;"><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"> De la forma en la que hemos puesto el </span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><em><strong>for</strong></em></span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;">, </span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><em><strong>i</strong></em></span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"> tomará los siguientes valores: </span></span><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;">min, min+1, min+2</span></span><span style="color: #000000;"><span style="font-family: Arial, sans-serif;">&#8230;</span></span></span></p>
<p><span style="font-size: small;"><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"> En vuestra práctica debéis trabajar con contrastes en valor decimal. Tenéis dos posibilidades:</span></span></span></p>
<ul>
<li><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Crear un vector con los contrastes</span></span></span></li>
</ul>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="color: #000000;">contrastes = 0:0.1:0.6</span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="color: #000000;">contrastes =</span></span></span></p>
<p><span style="color: #000000;"> <span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000</span></span></span></p>
<p><span style="font-size: small;"><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"> e ir diciéndole cógeme el elemento 1 del vector, después el 2&#8230;</span></span></span></p>
<ul>
<li>
<ul>
<li><span style="font-size: small;"><span style="color: #000000;"><span style="font-family: Arial, sans-serif;">Modificar el <em><strong>for</strong></em> para que el contador tome valores decimales. Se escribe igual que el vector contrastes:</span></span></span></li>
</ul>
</li>
</ul>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="color: #000000;">for i=0.0:0.1:0.6</span></span></span></p>
<p><span style="font-size: small;"><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"> Ambas formas son iguales y a la vez diferentes. En la primera la variable i es un contador que nos va a servir para referirnos a los valores almacenados en un vector, de la segunda forma i es directamente el valor que queremos utilizar.</span></span></span></p>
<p><span style="font-size: small;"><span style="color: #000000;"><span style="font-family: Arial, sans-serif;">PD: quién lo lea que comente!!! <img src='http://visanju.es/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </span></span></span></p>
<div><span style="font-family: Arial, sans-serif; font-size: xx-small;"><br />
</span></div>
]]></content:encoded>
			<wfw:commentRss>http://visanju.es/practicas-de-espacial-a-tope/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Algunos consejos sobre programación para las prácticas</title>
		<link>http://visanju.es/algunos-consejos-sobre-programacion-para-las-practicas/</link>
		<comments>http://visanju.es/algunos-consejos-sobre-programacion-para-las-practicas/#comments</comments>
		<pubDate>Thu, 05 May 2011 15:05:39 +0000</pubDate>
		<dc:creator>visanju</dc:creator>
				<category><![CDATA[Prácticas]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[máster]]></category>
		<category><![CDATA[Matlab]]></category>
		<category><![CDATA[prácticas]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://visanju.es/?p=77</guid>
		<description><![CDATA[Hola amiguit@s! Hoy estoy más despejadillo del resfriado y me han entrado ganas de escribir un poco. Voy a explicaros un pelín de Matlab a ver si hay algo que os es útil para las prácticas, especialmente para las de Psicofísica. &#160; Matlab no es ni más ni menos que una calculadora, una calculadora cara <a href='http://visanju.es/algunos-consejos-sobre-programacion-para-las-practicas/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Hola amiguit@s! Hoy estoy más despejadillo del resfriado y me han entrado ganas de escribir un poco. Voy a explicaros un pelín de Matlab a ver si hay algo que os es útil para las prácticas, especialmente para las de Psicofísica.</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Matlab no es ni más ni menos que una calculadora, una calculadora cara y muy potente. Nos permite realizar una serie de trucos para hacer cálculos que o son tediosos o son repetitivos.</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> &gt;&gt; 1 + 2</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> ans =</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> 3</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">También podemos crear variables, que es donde podemos almacenar resultados de nuestros cálculos</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> &gt;&gt; a = cos(pi)</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> a =</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> -1</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Fijémonos en una cosa, mi variable se llama <em><strong>a</strong></em>, y le he dicho que me guarde el resultado de la operación coseno de π. Si os fijáis Matlab entiende que <em><strong>cos </strong></em>significa coseno y <em><strong>pi</strong></em><strong> </strong>significa π. Por lo tanto existen una serie de palabras que Matlab tiene reservadas para nombrar funciones y constantes suyas que no <del>podemos</del> debemos utilizar para nombras nuestras variables (otros lenguaje de programación no permiten usar sus palabras reservadas.</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Script</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Un script es un archivo de texto con extensión .m, en el almacenamos una serie de instrucciones de Matlab. Copiando y pegando (o pulsando f9) las ejecutamos. Es la forma en que guardamos nuestro trabajo con Matlab y posteriormente lo podemos volver a ejecutar.</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Como ejemplo supongamos que Matlab no sabe multiplicar. Una multiplicación es una suma repetida. Podríamos escribir la suma a mano (2 + 2 + 2), abreviar un poco usando variables ( b = 2345324623546234; b + b + b) o incluso guardarlo en un script. Pero, ¿y si queremos una solución más general que le de igual que queramos multiplicar por 2 o por tropocientosmil? Usaremos un bucle <em>for</em>.</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Un bucle es una porción de código que se repite mientras que se cumpla una serie de condiciones. En el <em><strong>for</strong></em> la condición es que el valor de la variable contador (<em><strong>i</strong></em> normalmente) sea un valor natural que se encuentre entre el valor mínimo y el valor máximo. Esta variable nos va a almacenar cuantas veces se ha ejecutado el bucle, por defecto en cada iteración se incrementa su valor en una unidad.</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Su sintaxis es:</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> for contador = inicio:fin;</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> instrucciones</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> end</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">En nuestro ejemplo el bucle será:</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> b = 0; % Aquí almacenaremos el valor del producto, debemos darle un valor inicial</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> for i = 1:fin</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> b = b + a;</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> end</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Así con este script simplemente cambiando los valores de <em>a</em> e <em><strong>i</strong></em> podemos calcular multiplicaciones. Si queremos refinarlo para no tener que editar cada vez el script podemos usar la función <em><strong>input</strong></em>. Esta función al ejecutarse presenta un texto en la línea de comandos de Matlab y guarda las pulsaciones de teclado que hagamos hasta pulsar intro.</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> var = input (&#8216;Escribe un número &#8216;)</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">En nuestro ejemplo será:</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> a = input(&#8216;Número a multiplicar: &#8216;);</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> fin = input(&#8216;¿Por qué número lo multiplicas?: &#8216;);</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> b = 0;</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> for i = 1:fin</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> b = b + a;</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> end</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> display(&#8216;El resultado de la multiplicación es &#8216;),display(b)</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Genial, ahora nuestro script nos sirve para calcular productos de números naturales y encima está automatizado, al pulsar la tecla f9 nos preguntará los números a multiplicar y después nos dirá el resultado de la operación.</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Aún lo podemos mejorar más porque, ¿y si en vez de abrir el script seleccionar y ejecutar el código buscamos una forma de ejecutarlo como una instrucción de Matlab? Quiero decir, ¿cómo convierto el script en una función?</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Aquí conviene hacer una pequeña explicación sobre un pequeño matiz que Matlab no tiene en cuenta, la diferencia entre acción y función. Una función es como una función matemática, es decir, le das unos valores y te devuelve otros. En cambio una acción no devuelve ningún resultado. En nuestro ejemplo la diferencia sería: acción nos calcula la multiplicación, función nos calcular la multiplicación y además guarda el resultado para que podamos trabajar con el. También es útil si por ejemplo vuestro script tiene muchas líneas y lo queréis ejecutar muchas veces, se podría meter todo en un bucle for pero es más visible y elegante meter en un bucle una llamada a una función.</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">En Matlab es sencillo convertir un script en una acción, en la primera línea del script debe aparecer:</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> function nombre_de_la_acción</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Y para una función:</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> function resultado = nombre_de_la_función (parámetro de entrada 1, parámetro de entrada 2, …)</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"> Aquí <em><strong>resultado</strong></em> es la variable que devuelve y <em><strong>parámetro de entrada</strong></em> son los valores que se le deben pasar a la función</span></span></span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;"><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Entonces con todo esto nuestro ejemplo quedaría:</span></span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> function res = suma_repetida</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> a = input(&#8216;Número a multiplicar: &#8216;);</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> fin = input(&#8216;¿Por qué número lo multiplicas?: &#8216;);</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> b = 0;</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> for i = 1:fin</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> b = b + a;</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> end</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> res = b;</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> display(&#8216;El resultado de la multiplicación es &#8216;),display(b)</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Ahora sólo queda guardar la función en una carpeta que esté en el “path”, de esta forma al decirle a Matlab:</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">y = suma_repetida</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Buscará entre todos los archivos .m que tiene en su “path” y lo ejecutará.</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Conclusión: después de todo el tocho desorganizado resumo un poco los puntos aprovechables.</span></span></p>
<p>&nbsp;</p>
<ul>
<li>
<ul>
<li><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Hemos 		aprendido cómo escribir y para qué sirve un bucle <em><strong>for</strong></em></span></span></li>
<li><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Hemos 		aprendido a usar las funciones <em><strong>input</strong></em> y <em><strong>display</strong></em> que son útiles para automatizar nuestros scripts y darle un toque 		más “pofesional”</span></span></li>
<li><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Hemos 		aprendido a convertir el script en una función/acción</span></span></li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Bonus: Otras instrucciones muy interesantes.</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"><strong>while</strong></span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"> Es otra forma de hacer un bucle, su sintaxis es</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> while expresión</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> instrucciones</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> end</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"> Donde expresión tiene un resultado booleano (o se cumple o no) por ejemplo <em><strong>a ~= 6</strong></em> (a no es 6). La diferencia entre <em>while</em> y <em><strong>for</strong></em> es que <em><strong>for</strong></em> realiza un número de iteraciones determinado y <em><strong>while</strong></em> no. Cuando no sabemos las veces que se va a repetir el bucle nos interesa utilizar <em><strong>while</strong></em>.</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"> Por ejemplo, imaginemos que tenemos una serie de medidas en un vector muy largo y nos interesa detectar un valor mínimo, por ejemplo 2. Nuestra expresión podría ser <em><strong>i &gt; 2</strong></em>. Veamos el código:</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"> <span style="font-family: 'Courier New', monospace;">r = round(10.*rand(1,20)); %rand generará un vector fila de longitud 20 de números entre 0 y 1, los multiplicamos todos por 10</span></span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> a = 200 %como queremos un valor mayor a 2 si lo inicializamos a 0 no se cumplirá la condición para que se ejecute while</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> i = 1;%Para Matlab el primer elemento de un vector ocupa la posición uno, en otros lenguajes el primer elemento ocupa la posición cero</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> while a &gt; 2</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> a = r(1,i); %Dentro del bucle debe modificarse el valor de la condición o si no no terminará nunca!</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> i = i + 1; %Avanzamos una posición en el vector</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> end</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> display(i-1) % Que nos muestre la posición del primer valor que no cumple la condición, le restamos uno porque en el momento que deja de cumplirse la condición ya se le ha sumado uno a i</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"> Aunque no parezca muy útil nos salva en los casos en los que no se puede aplicar fácilmente un bucle <em><strong>for</strong></em>.</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"><strong>if</strong></span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"> Esta expresión si que mola porque es super útil. Veamos la sintaxis:</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> if expresión</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> instrucciones</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> end</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"> Si se cumple la expresión se ejecutan las instrucciones, si no continua la ejecución desde el <em><strong>end</strong></em>.</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"> Si lo aplicamos al ejemplo anterior, supongamos que queremos quitar el vector los valores menores que 2</span></span></p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;"> </span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> for i = 1:length(r)</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> if r(1,i) &gt;2</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> s (1,i) = r(1,i);</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> end</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> i = i+1;</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> end</span></span></p>
<p>&nbsp;</p>
<p><span style="font-family: Arial, sans-serif;"><span style="font-size: small;">Si lo ejecutamos después del código del <em><strong>while</strong></em> veremos como el vector <em><strong>s</strong></em> es más corto que el vector <em><strong>r</strong></em> ya que hemos quitado los valores que no nos interesaban.</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://visanju.es/algunos-consejos-sobre-programacion-para-las-practicas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Práctica de MOID: Sensor Hartmann-Shack</title>
		<link>http://visanju.es/practica-de-moid-sensor-hartmann-shack/</link>
		<comments>http://visanju.es/practica-de-moid-sensor-hartmann-shack/#comments</comments>
		<pubDate>Fri, 14 May 2010 16:21:37 +0000</pubDate>
		<dc:creator>visanju</dc:creator>
				<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[máster]]></category>
		<category><![CDATA[moid]]></category>
		<category><![CDATA[wavefront]]></category>

		<guid isPermaLink="false">http://visanju.es/?p=64</guid>
		<description><![CDATA[Captura de frente de onda con un sensor Hartmann-Shack]]></description>
			<content:encoded><![CDATA[<p>Hoy hemos hecho la práctica de medida del frente de onda. Sabia que Hartmann i Shack eran dos personas diferentes pero pensaba que eran coetáneos. La práctica ha consistido en utilizar un sensor de Hartmann-Shack para estimar el frente de onda generado por diferentes lentes.<br />
<a href="http://picasaweb.google.es/lh/photo/ag-OtMyo97rr8hBrg36vaA?feat=embedwebsite"><img src="http://lh6.ggpht.com/_4Z3DAKYj3rc/S-1rMVCDLhI/AAAAAAAACFo/30pUmOrom_w/s400/REF.jpg" alt="" /></a> Frente de onda referencia<br />
<a href="http://picasaweb.google.es/lh/photo/dLKX0fm9s18gWZGwm77_Fg?feat=embedwebsite"><img src="http://lh6.ggpht.com/_4Z3DAKYj3rc/S-1tvDR4cxI/AAAAAAAACGs/pDGB4V5XKMA/s400/C%2B3O.jpg" alt="" /></a> Cilindro de +3D<br />
<a href="http://picasaweb.google.es/lh/photo/8VseVMaRZWJg_mB04QMn6g?feat=embedwebsite"><img src="http://lh3.ggpht.com/_4Z3DAKYj3rc/S-1tyO-VBrI/AAAAAAAACGw/oYeyyFLnBAc/s400/bifocal.jpg" alt="" /></a> Bifocal<br />
<a href="http://picasaweb.google.es/lh/photo/grugVl2PkAdeDiP3UuQ8gA?feat=embedwebsite"><img src="http://lh6.ggpht.com/_4Z3DAKYj3rc/S-1uUpPqsXI/AAAAAAAACG0/hHY-YwUW2x0/s400/plastico.jpg" alt="" /></a> Plástico<br />
Cuando tenemos las capturas valoramos cualitativamente la diferencia entre la captura y la referencia.<br />
<a href="http://picasaweb.google.es/lh/photo/D_XKN5GAAoagrcE7yDCgtA?feat=embedwebsite"><img src="http://lh6.ggpht.com/_4Z3DAKYj3rc/S-10Ux9RvtI/AAAAAAAACHE/XOe-cVMmleI/s400/Sin%20t%C3%ADtulo-1.jpg" alt="" /></a><br />
La referencia son los puntos negros. Como podemos ver los dos frentes de onda coinciden en la columna central pero a medida que nos movemos hacia los lados el aumento en el eje X se va incrementando mientras que en el eje Y se mantiene constante, eso implica que la lente problema és un cilindro con eje vertical y como el aumento se va incrementando podemos concluir que se trata de un cilindro positivo.</p>
]]></content:encoded>
			<wfw:commentRss>http://visanju.es/practica-de-moid-sensor-hartmann-shack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

