MATEMÁTICAS, FUNDAMENTO DE CUALQUIER PROGRAMA. Mónica Canizo Cortés. Dra. María de Lourdes Sandoval Solís. Resumen Durante mi estancia dentro del programa Verano de Talentos trabaje con el programa MATLAB, a través del cual empecé el desarrollo de habilidades de programación, utilizando de manera simultánea la diferencia entre la aritmética real y flotante, comprobada a través de ecuaciones de segundo grado con sus respectivas soluciones y la ecuación de recta. Para ello se utilizó formas básicas de programación, como la condición if-end, misma que fue ocupada para ejercicios de solución de raíces de ecuaciones de segundo grado; además del comando while-end, el cual fue ocupado para obtener sumatorias finitas de números naturales; junto con estos comandos se utilizo el comando plot el cual ayuda a obtener una gráfica. Con estas instrucciones bases se graficaron dentro de dicho programa diversos triángulos a los cuales se les aplico translación, escala y reflexión respecto a los ejes ordenada y abscisa, para poder obtener de cierta manera principios de algunas animaciones. Descripción del trabajo desarrollado Empecé el trabajo de la estancia con la forma general de la ecuación de segundo grado ( ), la cual solucioné a través de la Solución General de la Ecuación de Segundo Grado . Después calculé las raíces de la operación cuadrática obteniendo los resultados , ; mismos que trate de comprobar dentro del programa MATLAB, primero coloque diary (comando que me permite colocarle un nombre al archivo de texto que estoy trabajando), luego coloque las raíces y (sqrt indica raíz) obteniendo como resultados 6.374 y -23.3745 respectivamente, luego sustituí en las soluciones de las raíces originales w1^2+17*w1-149 y w2^2+17*w2-149 obteniendo como resultados 0 y -5.6843e-014; por último coloque diary off (comando que permite cerrar el archivo). De esta manera es posible ver que las computadoras no siempre dan resultados correctos. Luego se realiza la respectiva gráfica, definiendo el eje de las abscisas con el vector w=-24:.1:7; (delimitando el mínimo (-24), el máximo (7) y el incremento (.1)) y se evalúa y=w.^2+17*w-149; en este caso las raíces fueron 6.3745 y -23.3745, por lo que se colocará la gráfica basada en la w, determinando la intersección en la misma. Por último se coloca plot (w, y) (acción que sirve para graficar tomando en cuenta los puntos) y luego grid (condición que sirve para que la grafica tenga rejilla). Después trabaje con el programa pero volviéndolo menos especifico para que este pudiera trabajar con cualquier número, para ello primero abro un editor con el comando edit y luego utilicé otro comando, input para que solicitará por pantalla el término cuadrático, el término lineal, y el término independiente (a=input('Dar el coeficiente del termino cuadrático '), y así con las demás variables); luego coloque (disc me permite realizar una síntesis mas adelante de algunas acciones que quiera realizar para no estar colocando las mismas una y otra vez, pero estas no debe contener valores numéricos). Sustituyo dentro de la variable de las abscisas para obtener sus respectivas raíces , . Verifico en la formula general aplicándola en la y o eje de las ordenadas y . Genero la gráfica pero como esta vez no se conoce cual es la raíz más pequeña se utiliza una condición para crear los vectores; , coloco una bandera para ver como se genera el eje de las abscisas , introduzco un margen a la izquierda y derecha de las raíces dentro de este incluyo un absoluto para que resulten equivalentes de cierto modo dentro de la gráfica también genero un limite inferior y superior el cual será restado y sumando al margen de las raíces respectivamente, para obtener una gráfica mas simétrica, y Se forma un incremento para asegurar 500 números entre el mínimo y el máximo dentro de la gráfica, con el comando incabs, y se obtiene el vector en caso de que if sea verdadero, es decir, que w1 sea menor que w2 luego colocamos else esto con el fin de tener una condición que respalde por si if es falso, es decir que w1 sea mayor o igual que w2, en esta ocasión también se genera una bandera, ; un incremento los limites inferior y superior y ; el incremento y su respectivo vector para dar fin a la condición se coloca end. Se determina el eje de las ordenadas con y se termina con y También comprobé la aplicación de dos ciclos el primero fue el for/end el cual fue utilizado para realizar una suma sistemática dentro de MATLAB, para ello se coloca el comando sum (sirve para calcular la suma del total de elementos dentro de un vector, y se coloca el cero ya que al correr el programa no se sabe a cuanto equivale dicho comando). Inicia el ciclo for con un vector ; después del cual ira incluida la sumatoria anteriormente mencionada (esta acción sirve como fórmula para obtener los resultados de las sumas que irán resultando cada vez que se avance el número con el cual se este trabajando). Se termina el ciclo con el comando end. Para la comprobación del comando while/end se aplico de igual manera una sumatoria, la cual consistía en dar primeramente un valor al numero inicial del cual partirían las siguientes indicaciones n=1. La sumatoria igualmente al comando anterior empezará con cero y posteriormente se iniciará el comando o ciclo con la indicación while n<=10, justificando que el ciclo terminará cuando llegue a 10. Se hace la operación de suma sum=sum+n, se indica la suma entre los números n=n+1; y se termina el ciclo con end. Posteriormente utilizando la ecuación de la recta y los anteriores comandos se realizaron triángulos especificando el eje de las ordenadas y de las abscisas, este ultimo siempre sería utilizado generalmente como vector X=0:5:35 ; y=1; se especifican los vectores de los cuales dependerá el triangulo original, ya que de este dependerán los consiguientes x1=1:.1:9; x2=7:.1:9; x3=1:.1:7; al igual que se especifican las ecuaciones con las cuales se trabajaran y1=3*(x1)/8+13/8; y2=-5*(x2)72+55/2; y3=4*(x3)/3+2/3; además de que se especifica a cuantas escalas se estarán manejando los triángulos con una condición, for n=1:10 trabajando los vectores y las ecuaciones de las cuales depende el segundo triangulo, se tiene entonces el segundo triangulo el cual estará a escala del primero inc=.5*n; posteriormente se van estableciendo los ejes de este segundo triangulo de igual manera este incremento se aplicará al ultimo eje de las abscisas y a todo el eje de las ordenadas. Para la traslación se utiliza el incremento, es decir, que en base a la función del eje x se realiza una suma o una resta del incremento al mismo, dentro del eje y, para ello se utiliza un comando if mod(n,2)==0, y se coloca un al igual que en el segundo triangulo, esto en caso de que sea par; pero si esta condición es falsa se hará un incremento de 1.5 a todos los ejes de las abscisas; else … y termina el ciclo con end. Y se grafican ambos triángulos. Representan los colores de las líneas. Estos resultados se guardan en el primer triangulo Se coloca una pausa en la traslación con pause (1) y se termina el ciclo con end. La gráfica es: Al inicio: Al final: Luego invertí uno de los triángulos marcando primero las coordenadas dentro de las cuales se iba a realizar el triangulo y a continuación introduje los datos de las rectas en las cuales se basaría el triangulo (tanto del eje de las abscisas como de las ordenadas, en este último es en donde se basa mi inversión) x1=1:.1:9;…. Y las demás abscisas, X1=-x1;x2=x2;x3=-x3; y todas las ordenadas pendientes. Se grafican los triángulos. La gráfica quedaría así: 10 9 8 7 6 5 4 3 2 1 -15 -10 -5 0 5 10 15 Para el trabajo final que es el de realizar una figura utilicé la ecuación de la recta aplicada dentro de MATLAB y para ello genere ambos ejes y grafique los mismos dentro del editor de MATLAB x1=0:.1:50; y1=25*(x1)/50; plot(x1,y1,'m') Obteniendo así la siguiente figura: Posteriormente dibuje un triangulo en base a la ecuación de la recta: % eje de las abscisas x1=0:.1:50; x2=25:.1:50; x3=0:.1:25; % eje de las ordenadas y1=25*(x1)/50; y2=-25*(x2)/25+1875/25; y3=50*(x3)/25; % graficando plot(x1,y1,'m',x2,y2,'m',x3,y3,'m') Luego obtuve su inversión con los siguientes comandos (hold on sirve para graficar todos los datos que se requieren): hold on x=-60:5:60; y=1; % eje de las ordenadas originales del primer triangulo x1=0:.1:50; x2=25:.1:50; x3=0:.1:25; % Inversión respecto a y x1=-x1; x2=-x2 ; x3=-x3 ; y1=25*(x1)/50; y2=-25*(x2)/25-1875/25; y3=50*(x3)/25; % graficando plot(x,y,x1,-y1,'b',x2,-y2,'b',x3,-y3,'b') Grafico su inversión: hold on x=-60:5:60; y=1; % Primer triángulo x1=0:.1:50; x2=25:.1:50; x3=0:.1:25; % Inversión respecto a y x1=-x1; x2=-x2 ; x3=-x3 ; y1=25*(x1)/50; y2=-25*(x2)/25-1875/25; y3=50*(x3)/25; % graficando plot(x,y,x1,y1,'g',x2,y2,'g',x3,y3,'g') plot(x,y,x1,-y1,'b',x2,-y2,'b',x3,-y3,'b') Grafico la inversión de ambos ejes: hold on x=-60:5:60; y=1; % Primer triángulo x1=0:.1:50; x2=25:.1:50; x3=0:.1:25; % Inversión respecto a y x1=-x1; x2=-x2 ; x3=-x3 ; y1=25*(x1)/50; y2=-25*(x2)/25-1875/25; y3=50*(x3)/25; % graficando plot(x,y,x1,y1,'g',x2,y2,'g',x3,y3,'g') plot(x,y,x1,-y1,'b',x2,-y2,'b',x3,-y3,'b') Y al final grafico toda una figura: hold on x=-60:5:60; y=1; % Primer triángulo x1=0:.1:50; x2=25:.1:50; x3=0:.1:25; % Inversión respecto a y x1=-x1; x2=-x2 ; x3=-x3 ; y1=25*(x1)/50; y2=-25*(x2)/25-1875/25; y3=50*(x3)/25; n=0; % Segundo triángulo sin inversión y sin translación inc=.5*n; x11=0:.1:50+inc; x22=25+inc:.1:50+inc; x33=0:.1:25+inc; y11=25*(x11-inc)/50; y22=-25*(x22-inc)/25+1875/25; y33=50*(x33-inc)/25; % graficando plot(x,y,x1,y1,'g',x2,y2,'g',x3,y3,'g') plot(x,y,x1,-y1,'b',x2,-y2,'b',x3,-y3,'b') plot(x,y,x11,y11,'m',x22,y22,'m',x33,y33,'m') plot(x,y,x11,-y11,'r',x22,-y22,'r',x33,-y33,'r') hold off Bibliografía Shoichiro Nakamura, ANALISIS NUMERICO Y VISUALIZACION GRAFICA CON MATLAB, Person educación 1997. Spivak, Michael. CÁLCULO INFINITESIMAL , Barcelona: Reverté, 1992. Agradecimientos Al programa por el posible acceso al mismo, a mí asesora María de Lourdes Sandoval por la ayuda y el apoyo brindado durante mí estancia, y a mí familia por permitirme continuar con mis estudios hasta la actualidad. Opinión personal respecto al programa Me parece muy bien ya que éste ayuda a tener un panorama más específico de la carrera en elección y ayuda a establecer opciones claras con respecto a la misma. Además de que los asesores fomentan el compañerismo y la colaboración mutua entre alumnos y profesores, y más que nada porque colabora en el crecimiento de un estudiante como tal.