Mostrando entradas con la etiqueta Primera unidad. Mostrar todas las entradas
Mostrando entradas con la etiqueta Primera unidad. Mostrar todas las entradas

lunes, 6 de junio de 2016

Graficador XY

En el modo gráfico existe una enorme cantidad de funciones que realizan desde la tarea mas sencilla como es pintar un píxel, hasta la tarea mas compleja como pudiera ser dibujar un carácter por medio de trazos.
Para trabajar el modo gráfico es necesario incluir la librería graphics.h como hacer uso de la BGI (Borlan Graphics Interphase). Para usar cualquier función es necesario colocar el adaptador de video en modo grafico y esto se logra a través de la función initgraph(); y al terminares necesario regresar al modo original a través de la función closegraph();
Para iniciar un programa en ambiente gráfico es recomendable correr una subrutina de inicialización de gráficos y detección de errores.Algunos ejemplos de las funciones que se pueden encontrar en la librería de gráphics.h son:
Line(); circle(); arc(); elipse();rectangle(); ottextxy(); putpixel();Para saber mas de las funciones de la librería de gráficos lo pueden buscar en el índice de turbo C.
ESTRUCTURA DEL PROGRAMA
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
VARIABLES PARA INICIALIZAR MODO GRAFICO
int gdriver = DETECT, gmode, errorcode;
INICIALIZAR MODO GRAFICO
initgraph(&gdriver, &gmode, "");
DETECTA SI HAY ALGUN ERROR PARA USAR MODO GRAFICO
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
line(0, 0, 50,50 ); DIBUJA UNA LINEA
getch();
closegraph(); CERRAR MODO GRAFICO
return 0;
}
FUNCIONES PARA DIBUJAR
cleardevice(void); LIMPIA LA PANTALLA
setcolor(int color); COLOR DE LINEA
setbkcolor(int color); COLOR DE FONDO (PANTALLA)
TAMAÑO O RESOLUCION DE LA PANTALLA 640X480 PIXELS
line(int x1, int y1, int x2, int y2); DIBUJA UNA LINEA
rectangle(int left, int top, int right, int bottom); DIBUJA UN RECTANGULO
rectangle(izqierda,arriba,derecha,abajo);
putpixel(int x, int y, int color); PINTA UN PIXEL
outtextxy(int x, int y, char far *textstring); DIBUJA TEXTO
outtextxy(100,100,”Programa 1”);
settextstyle(int font, int direction, int charsize); TIPO DE LETRA A USAR
settextstyle(tipo letra, direccion, tamaño letra);
TIPOS DE LETRA (FONT)
0 DEFAULT_FONT
1 TRIPLEX_FONT
2 SMALL_FONT
3 SANS_SERIF_FONT
4 GOTHIC_FONT
DIRECTION
0 HORIZ_DIR
1 VERT_DIR
settextjustify(int horiz, int vert); JUSTIFICAR TEXTO
HORIZ
0 LEFT_TEXT IZQUIERDA
1 CENTER_TEXT CENTRADO
2 RIGHT_TEXT DERECHA
VERT
0 BOTTOM_TEXT ABAJO
1 CENTER_TEXT CENTRADO
2 TOP_TEXT ARRIBA
RELLENADO DE FIGURAS
floodfill(int x, int y, int border); RELLENAR FIGURA
setfillstyle(int pattern, int color); TIPO DE RELLENO Y COLOR A USAR

Graficacion

La graficación por computadora es el estudio de algoritmos para el diseño e implementación de representaciones graficas de los datos y sus relaciones entre sí.
En pocas palabras, la graficación es la creación de objetos gráficos por computadora.
En las principales aplicaciones de la graficación tenemos las siguientes: (Hearn y Baker, 2006).

GRÁFICOS Y DIAGRAMAS:

La representación gráfica de datos es una de las aplicaciones más comunes, pero hoy podemos generar fácilmente gráficos que muestren complejas relaciones entre datos para realizar informes escritos o para presentarlos mediante diapositivas, transparencias o animaciones en video.

Los gráficos y los diagramas se usan comúnmente para realizar resúmenes financieros, estadísticos, matemáticos, científicos, de ingeniería y económicos para realizar informes de investigación, resúmenes de gestión, boletines de información al consumidor y otros tipos de publicaciones.



Fig. 1: Gráfica del resultado de la Simulación de las ecuaciones Lotka-Volterra en los experimentos de Depredador-Presa.
Pdf antecedentes historicos de graficacion
Tecnics de graficacion

Numeros de punto flotante 32 y 64 bits

El estándar de la IEEE para aritmética en coma flotante (IEEE 754) es el estándar más extendido para las computaciones en coma flotante, y es seguido por muchas de las mejoras de CPU y FPU. El estándar define formatos para la representación de números en coma flotante (incluyendo el cero) y valores desnormalizados, así como valores especiales como infinito y NaN, con un conjunto de operaciones en coma flotante que trabaja sobre estos valores. También especifica cuatro modos de redondeo y cinco excepciones (incluyendo cuándo ocurren dichas excepciones y qué sucede en esos momentos).


IEEE 754 especifica cuatro formatos para la representación de valores en coma flotante: precisión simple (32 bits), precisión doble (64 bits), precisión simple extendida (≥ 43 bits, no usada normalmente) y precisión doble extendida (≥ 79 bits, usualmente implementada con 80 bits). Sólo los valores de 32 bits son requeridos por el estándar, los otros son opcionales. Muchos lenguajes especifican qué formatos y aritmética de la IEEE implementan, a pesar de que a veces son opcionales.

Precisión simple 32-bits

Un número en coma flotante de precisión simple se almacena en una palabra de 32 bits. 1 8 23 <-- tamaño en bits
+-+--------+-----------------------+
|S| Exp | Significante |
+-+--------+-----------------------+
31 30 23 22 0 <-- índice del bit (0 a la derecha)
desplazado +127
donde S es el bit de signo y Exp es el campo exponente. (Para el signo: 0=Positivo ; 1= Negativo).

El exponente es desplazado en el un número en precisión simple, un exponente en el rango −126 a +127 es desplazado mediante la suma de 127 para obtener un valor en el rango 1 a 254 (0 y 255 tienen valores especiales descritos más adelante). Cuando se interpreta el valor en coma flotante, el número es desplazado de nuevo para obtener el exponente real.

El conjunto de valores posibles pueden ser divididos en los siguientes:
  • ceros
  • números normalizados
  • números desnormalizados
  • infinitos
  • NaN (¬E, no es un número, como por ejemplo, la raíz cuadrada de un número negativo)

Las clases se distinguen principalmente por el valor del campo Exp, siendo modificada ésta por el campo fracción. Considera Exp y Fracción como campos de números binarios sin signo (Exp se encuentra en el rango 0–255): 



ClaseExpFracción
Ceros00
Números desnormalizados0distinto de 0
Números normalizados1-254cualquiera
Infinitos2550
NaN (Not a Number)255distinto de 0


Para números normalizados, los más comunes, Exp es el exponente desplazado y Fracción es la parte fraccional del significante (o significando). El número tiene valor v:

v = s × 2e × m

Donde

s = +1 (números positivos) cuando S es 0

s = −1 (números negativos) cuando S es 1

e = Exp − 127 (en otras palabras, al exponente se le suma 127 y se almacena, a esto también se le llama "biased with 127" en inglés)


m = 1,Fracción en binario (esto es, el significando es el número binario 1 seguido por la coma decimal seguido por los bits de Fracción). Por lo tanto, 1 ≤ m < 2.



Error absoluto y relativo

Bien sea una medida directa (la que da el aparato) o indirecta (utilizando una fórmula) existe un tratamiento de los errores de medida. Podemos distinguir dos tipos de errores que se utilizan en los cálculos:
  • Error absoluto. Es la diferencia entre el valor de la medida y el valor tomado como exacto. Puede ser positivo o negativo, según si la medida es superior al valor real o inferior (la resta sale positiva o negativa). Tiene unidades, las mismas que las de la medida.
  • Error relativo. Es el cociente (la división) entre el error absoluto y el valor exacto. Si se multiplica por 100 se obtiene el tanto por ciento (%) de error. Al igual que el error absoluto puede ser positivo o negativo (según lo sea el error absoluto) porque puede ser por exceso o por defecto. no tiene unidades.
Las cifras significativas de una medida están formas por los dígitos que se conocen no afectados por el error, más una última cifra sometida al error de la medida. Así, por ejemplo, si digo que el resultado de una medida es 3,72 m, quiero decir que serán significativas las cifras 3, 7 y 2. Que los dígitos 3 y 7 son cifras exactas y que el dígito 2 puede ser erróneo. O sea, el aparato de medida puede medir hasta las centésimas de metro (centímetros), aquí es donde está el error del aparato y de la medida. Por tanto, has de tener en cuenta:
  • Que en física y en química el número de dígitos con das un resultado de una medida (directa o indirecta) es importante. No puedes poner todos los dígitos que te da la calculadora. Los resultados no pueden ser más precisos que los datos de donde se obtienen, es decir, los resultados deben tener tantas cifras significativas o menos que los datos de procedencia.
  • No es lo mismo 3,70 m que 3,7 m. En el primer caso queremos decir que se ha precisado hasta los centímetros mientras que en el segundo caso sólo hasta los decímetros.
  • Un aparato de medida debería tener el error en el último dígito que es capaz de medir. Así si tengo una regla cuya escala alcanza hasta los milímetros, su error debería ser de más / menos algún milímetro. Si el error lo tuviese en los centímetros no tendría sentido la escala hasta los milímetros.
Cuando el resultado de una operación matemática nos dé como resultado un número con demasiados dígitos hemos de redondearlo para que el número de cifras significativas sea coherente con los datos de procedencia.

Les dejo aqui un video de error absoluto y relativo en las aproximaciones

Exactitud y Presicion

Exactitud

La exactitud es lo cerca que el resultado de una medición está del valor verdadero.

Precisión

La precisión es lo cerca que los valores medidos están unos de otros.

Ejemplos de exactitud y precisión:




Series de Taylor y Mc Laurin

SERIE DE TAYLOR

¿Qué es?
La serie de Taylor es una serie funcional y surge de una ecuación en la cual se puede encontrar una solución aproximada a una función.

¿Para que sirve?

La serie de Taylor proporciona una buena forma de aproximar el valor de una función en un punto en términos del valor de la función y sus derivadas en otro punto. Por supuesto, para hacer esta aproximación sólo se pueden tomar unas cuantas expresiones de esta serie, por lo que el resto resulta en un error conocido como el término residual, es a criterio del que aplica la serie en numero de términos que ha de incluir la aproximación.

¿Cómo funciona?

La serie de Taylor se basa en ir haciendo operaciones según una ecuación general y mientras mas operaciones tenga la serie mas exacto será el resultado que se esta buscando. Dicha ecuación es la siguiente:







o expresado de otra forma





Donde n! es el factorial de n
F(n) es la enésima derivada de f en el punto a


Como se puede observar en la ecuación, hay una parte en la cual hay que desarrollar un binomio (x-a) n por lo que para simplificar el asunto se igualara a "a" siempre a 0. Para fines prácticos no afecta mucho en el resultado si se hacen muchas operaciones en la serie.

¿Cuántos términos se requieren para obtener una “aproximación razonable”?

La ecuación para el término residual se puede expresar como:



Significa que el error de truncamiento es de orden hn+1. El error es proporcional al tamaño del paso h elevado a la (n+1)-ésima potencia.
SERIE DE MACLARIN
En matemáticas, la serie de Taylor de una función f(x) infinitamente derivable (real o compleja) definida en un intervalo abierto (a-r, a+r) se define con la siguiente suma: sin(x) y aproximaciones de Taylor centradas en 0, con polinomios de grado 1, 3, 5, 7, 9, 11 y 13.
f(x) = \sum_{n=0}^{\infin} \frac{f^(n)(a)}{n!} (x-a)^{n} 


Aquí, n! es el factorial n y f (n)(a) indica la n-ésima derivada de f en el punto a.

Si esta serie converge para todo x perteneciente al intervalo (a-r, a+r) y la suma es igual a f(x), entonces la función f(x) se llama analítica. Para comprobar si la serie converge a f(x), se suele utilizar una estimación del resto del teorema de Taylor. Una función es analítica si y solo si se puede representar con una serie de potencias; los coeficientes de esa serie son necesariamente los determinados en la fórmula de la serie de Taylor. Si a = 0, a la serie se le llama serie de Maclaurin.

Esta representación tiene tres ventajas importantes:

* La derivación e integración de una de estas series se puede realizar término a término, que resultan operaciones triviales.
 * Se puede utilizar para calcular valores aproximados de la función.
* Es posible demostrar que, si es viable la transformación de una función a una serie de Taylor, es la óptima aproximación posible.

Les dejo un videos de cmo resolver por series de Taylor y Mc Laurin


Tipos de errores

A lo largo del tiempo, los métodos numéricos han sido desarrollados con el objeto de resolver problemas matemáticos cuya solución es difícil o imposible de obtener por medio de los procedimientos tradicionales.
Las soluciones que ofrecen los métodos numéricos son aproximaciones de los valores reales y, por tanto se tendrá un cierto grado de error que será conveniente determinar.


EXACTITUD Y PRECISION
Los errores asociados con los cálculos y medidas se pueden caracterizar observando su precisión y exactitud. La precisión se refiere a 1) el numero de cifras significativas que representa una cantidad o 2) la extensión en las lecturas repetidas de un instrumento que mide alguna propiedad física. La exactitud se refiere a la aproximación de un número o de una medida al valor verdadero que se supone representa. La inexactitud ( conocida también como sesgo ) se define también como un alejamiento sistemático de la verdad . la precisión por otro lado se refiere a la magnitud del esparcimiento.
Los métodos números deben ser lo suficientemente exactos o sin sesgo para que cumplan los requisitos de un problema particular de ingeniería. También debe ser lo suficientemente preciso para el diseño en la ingeniería.
Usaremos el termino de error para representar la inexactitud y la precision de las predicciones.


FACTORES QUE CONTRIBUYEN AL ERROR EN LOS CÁLCULOS NUMÉRICOS.
DEFINICIÓN DE ERROR
Los errores numéricos se generan con el uso de aproximaciones para representar las operaciones y cantidades matemáticas. Esto incluye errores de truncamiento que resultan de representar aproximadamente un procedimiento matematico exacto, y los errores de redondeo, que resultan de presentar aproximadamente números exactos. Para los tipos de errores, la relación entre el resultado exacto o verdadero y el aproximado esta dado por :

Valor verdadero = valor aproximado + error ( Ec.1 )

Reordenando la ecuación Ec.1, se encuentra que el error numérico es igual a la diferencia entre el valor verdadero y el valor aproximado esto es :

Ev = valor verdadero – valor aproximado

Donde Ev se usa para redondear el valor exacto del error. Se incluye el subíndice v par dar a entender que se trata del “verdadero” error.
Un defecto es que muchas veces no se toma en consideración el orden de magnitud del valor que se esta probando . Por ejemplo, un error de un centímetro es mucho mas significativo si se esta midiendo un remache que un puente. Una manera de medir las magnitudes de las cantidades que se están evaluendo es normalizar el error respecto al valor verdadero, como en:

Error relativo fraccional = error / valor verdadero

Donde:
Error = valor verdadero – valor aproximado.
El error relativo también se puede multiplicar por el 100% para expresarlo como Ev = (error verdadero/ valor verdadero ) 100; Donde Ev denota el error relativo porcentual. El subíndice v significa la normalización del error al valor verdadero .

Para los métodos numéricos el valor verdadero únicamente se conocerá cuando se habla de funciones que se pueden resolver analíticamente. Sin embargo, en aplicaciones reales, no se conoce la respuesta verdadera. En estos casos, normalizar el error es una alternativa usando la mejor estimación posible del valor verdadero, esto es a la aproximación misma, como:

Ea = (error aproximado/ valor aproximado)100

Donde el subíndice a significa que el error está normalizado a un valor aproximado .
Uno de los retos a que se enfrentas los métodos numéricos es el de determinar estimaciones del error en ausencia de conocimiento de los valores verdaderos. El error se calcula como la diferencia entre la aproximación previa y la actual. Por lo tanto, el error relativo porcentual está dado por
Ea =abs( ((aproximación actual- aproximación previa )/ aproximación actual) 100)
Si se cumple la relación anterior , entonces se considera que el resultado obtenido esta dentro del nivel aceptable, es decir, aun error previamente fijado(Es):
Abs(Ea) <>

ERRORES DE REDONDEO
Los errores de redondeo se deben a que las computadoras solo guardan un numero finito de cifras significativas durante un calculo. Las computadoras realizan esta función de maneras diferentes; esta técnica de retener solo los primeros siete términos se llamó “truncamiento” en el ambiente de computación. De preferencia se llamara de corte, para distinguirlo de los errores de truncamiento. Un corte ignora los términos restantes de la representación decimal completa.

La mayor parte de las computadoras tienen entre 7 y 14 cifras significativas, los errores de redondeo parecerían no ser muy importantes. Sin embargo, hay dos razones del por qué pueden resultar críticos en algunos métodos numéricos:
1) Ciertos métodos requieren cantidades extremadamente grandes para obtener una respuesta. Además, estos cálculos a menudo dependen entre si, es decir, los cálculos posteriores son dependientes de los anteriores. En consecuencia, aunque un error de redondeo individual puede ser muy pequeño, el efecto de acumulación en el transcurso de la gran cantidad de cálculos puede ser significativo.
2) El efecto de redondeo puede ser exagerado cuando se llevan a cabo operaciones algebraicas que emplean números muy pequeños y muy grandes al mismo tiempo. Ya que este caso se presenta en muchos métodos numéricos, el error de redondeo puede resultar de mucha importancia.

ERRORES DE TRUNCAMIENTO

Los errores de truncamiento son aquellos que resultan al usar una aproximación en lugar de un procedimiento matemático exacto.
Estos tipos de errores son evaluados con una formulación matemática: la serie de Taylor.
Taylor es una formulación para predecir el valor de la función en Xi+1 en términos de la función y de sus derivadas en una vecindad del punto Xi.
Siendo el termino final:
Rn= ((ƒ(n+1) (ξ))/(n+1)!)hn+1
En general, la expansión en serie de Taylor de n-ésimo orden es exacta par aunpolinomio de n-ésimo orden. Para otras funciones continuas diferenciables, como las exponenciales o senoidales, no se obtiene una estimación exacta mediante un numero finito de términos. Cada una de los términos adicionales contribuye al mejoramiento de la aproximación, aunque sea un poco.

ERROR NUMERICO TOTAL

El error numérico total es la suma de los errores de redondeo y de truncamiento. La única forma de minimizar los errores de redondeo es la de incrementar el número de cifras significativas de la computadora.
Repr

Representación grafica de las ventajas y desventajas entre errores de redondeo y truncamiento que en ocasiones influyen en el curso de un método numérico. El punto óptimo muestra donde el error de redondeo comienza a negar los beneficios dados por la reducción del tamaño de paso.
ERRORES POR EQUIVOCACIÓN

En los primeros años de la computación los resultados numéricos erróneos fueron atribuidos algunas veces al mal funcionamiento de la computadora misma. Hoy dia esta fuente de error es muy improbable y la mayor parte de las equivocaciones se atribuye a errores humanos.
Las equivocaciones ocurren a cualquier nivel del proceso de modelación matematica y pueden contribuir con todas las otras componentes del error. Las equivocaciones, por lo general se pasan por alto en la discución del método numérico. Esto sin duda prueba el hecho de que los errores de torpeza son, hasta cierto punto inevitables.

ERRORES DE FORMULACIÓN

Los errores de formulación o de modelamiento degeneran en lo que se podría considerar como un modelo matemático incompleto, ya que si se esta usando un modelo deficiente, ningún método numérico generara los resultados adecuados.
Aqui un video que les dejara mas claro, los tipos de errores