Foros-FIUBA Foros HostingPortal
 FAQ  •  Buscar  •  Wiki  •  Apuntes  •  Planet  •  Mapa  •  Eyeon  •  Chat
Preferencias  •  Grupos de Usuarios
Registrarse  •  Perfil  •  Entrá para ver tus mensajes privados  •  Login
Ver tema siguiente
Ver tema anterior

Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente
Autor Mensaje
memovidal10
Nivel 4


Edad: 34
Registrado: 16 Mar 2009
Mensajes: 98

Carrera: Industrial
CARRERA.industrial.gif
MensajePublicado: Vie Nov 19, 2010 10:09 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

VARIABLES TIPO REAL:

Puede puede manejar, datos numéricos llamados de punto flotante, que se caracterizan por tener mantisa (parte fraccionaria) multiplicada por una potencia de 10. El número de dígitos que maneja en su mantisa se llama cifras significativas una variable tipo real puede manejar 11 cifras significativas en su mantisa y el rango de exponentes entre:

10-39 .. 10+38, para su representación real ocupa 6 bytes de memoria.

El rango de números es: 2.9*10-39 .. 1.7*1038


Piscis Género:Masculino Caballo OfflineGalería Personal de memovidal10Ver perfil de usuarioEnviar mensaje privado
df
Nivel 9


Edad: 32
Registrado: 15 May 2010
Mensajes: 2298

Carrera: Civil
CARRERA.civil.3.jpg
MensajePublicado: Vie Nov 19, 2010 10:13 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

memovidal10 escribió:
En fin, otra duda, yo uso la funcion [f(x)-f(x-h)]/h y el signo de la derivada me da bien, pero cuando uso x+h me da el signo al reves... Muchas gracias a todos por las respuestas claras y rápidas, raro que nos pidan esto cuando ni lo vimos... Saludos!

Es [f(x+h)-f(x)]/h

_________________
[tex] \nabla ^u \nabla_u \phi = g^{ij} \Big( \frac{\partial ^2 \phi}{\partial x^i \partial x^j} - \Gamma^{k}_{ij} \frac{\partial \phi}{\partial x^k} \Big)\\\\\frac{\partial \sigma^{ij}}{\partial x^i} + \sigma^{kj} \Gamma^i _{ki} + \sigma^{ik} \Gamma^j _{ki} = 0[/tex]

Tauro Género:Masculino Cabra OcultoGalería Personal de dfVer perfil de usuarioEnviar mensaje privado
Sebastian Santisi
Administrador Técnico


Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451


argentina.gif
MensajePublicado: Vie Nov 19, 2010 10:24 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

memovidal10 escribió:
Me gustaría averiguar cuanto ocupa la mantisa de un numero real almacenado en simple precisión en el FreePascal,

Te dejé dos enlaces al respecto; uno genérico sobre el standard y el otro de la documentación de FreePascal donde confirman que usan el standard...


@4WD: Soy un nabo, no se me había ocurrido por ese lado... lo que estaba pensando a nivel bits hacía lo mismo a bajo nivel; pero es incomparable hacerlo a través de la ALU :P.

_________________
Image[tex] ${. \ \ \ \ \ \ \ \ \ .}$ [/tex][tex] ${\Large Usá \LaTeX, no seas foro...}$ [/tex]

Aries Género:Masculino Perro OfflineGalería Personal de Sebastian SantisiVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuario
memovidal10
Nivel 4


Edad: 34
Registrado: 16 Mar 2009
Mensajes: 98

Carrera: Industrial
CARRERA.industrial.gif
MensajePublicado: Vie Nov 19, 2010 10:30 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Genios! Problema solucionado, me quedo claro que la mantisa ocupa 23 bits en el freepascal, pero al probar con MU=0.5E-22 el x=x+h... Entonces fui probando numeros que ocupa la mantisa, hasta que llegue a 11 y funciono perfecto con una linda aproximación... Abrazo!


Piscis Género:Masculino Caballo OfflineGalería Personal de memovidal10Ver perfil de usuarioEnviar mensaje privado
4WD
Administrador


Edad: 39
Registrado: 07 Sep 2006
Mensajes: 2430
Ubicación: Ingeniero
Carrera: Mecánica
argentina.gif
MensajePublicado: Vie Nov 19, 2010 10:42 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

memovidal10 escribió:
Buenisimo! Muchas Gracias, ahora me cerro todo... Declare como constante MU, por lo que tengo entendido, la mantisa de un numero real almacendo en simple precisión ocupa 23 bits... O sea que MU=0.5E-22... Probé con ese pero parece que ese valor hace que x=x+h.
La teoría dice que con [tex]h=MU*x[/tex] debería andar. No te olvides de multiplicar por x... Lo de los dígitos ni idea.
momovidal10 escribió:
En fin, otra duda, yo uso la funcion [f(x)-f(x-h)]/h y el signo de la derivada me da bien, pero cuando uso x+h me da el signo al reves...
Yo escribí cualquier cosa arriba. La derivada en adelanto (que es la que se suele usar) es: [tex]\frac{f(x+h)-f(x)}{h}[/tex]. La semana me limó... :P

_________________
ImageImage
ImageImage
ImageImage

Escorpio Género:Masculino Rata OfflineGalería Personal de 4WDVer perfil de usuarioEnviar mensaje privado
GaboCR
Nivel 2


Edad: 32
Registrado: 29 Jul 2010
Mensajes: 14
Ubicación: Comodoro
Carrera: Química
argentina.gif
MensajePublicado: Dom Nov 21, 2010 4:12 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Yo tengo que hacer el mismo TP, ya hice todo mas o menos, pero mi duda esta en eso de h= Mu*x que varios pusieron, de donde sale eso?
Osea, si x=0 no se puede hacer, porque h=0 y no se puede dividir por cero, estan seguros de que h no es simplemente mu?


Tauro Género:Masculino Cabra OfflineGalería Personal de GaboCRVer perfil de usuarioEnviar mensaje privado
4WD
Administrador


Edad: 39
Registrado: 07 Sep 2006
Mensajes: 2430
Ubicación: Ingeniero
Carrera: Mecánica
argentina.gif
MensajePublicado: Dom Nov 21, 2010 10:13 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

GaboCR escribió:
Yo tengo que hacer el mismo TP, ya hice todo mas o menos, pero mi duda esta en eso de h= Mu*x que varios pusieron, de donde sale eso?
Osea, si x=0 no se puede hacer, porque h=0 y no se puede dividir por cero, estan seguros de que h no es simplemente mu?
Buen punto. Ese es casi un caso de UNDERFLOW para los flotantes. Es uno de los casos en el que esa ecuación no es válida. En ese caso deberías tomar h como el mínimo valor positivo representable. Ese número depende de la cantidad de dígitos del exponente.
Ej: si tiene 6 dígitos para mantisa, 1 para signo, 1 para signo de exponente y 3 para dígitos de exponente, el mínimo número positivo representable es: [tex]10^{-10^3}[/tex].
Siguiendo con el ejemplo, la ecuación del [tex]\mu[/tex] no es válida cuando el flotante se va de rango, que es:

  • [tex]x>+(1-10^{-6})\cdot 10^{+\left(10^{3}-1\right)}[/tex] (overflow)
  • [tex]x<-(1-10^{-6})\cdot 10^{+\left(10^{3}-1\right)}[/tex] (overflow)
  • [tex]-10^{-10^3}<x<+10^{-10^3}[/tex] excluído el 0 (underflow)


El cero es el caso particular, porque en ese lugar la grilla pega un salto de distintas características al regular que tiene que ver con [tex]\mu[/tex]. En el cero, el salto es:
(valores negativos)... MNR ... 0 ... MPR ... (valores positivos)
donde MNR = Máximo negativo representable y MPR = Mínimo positivo representable.

Gráficamente sería algo así (los | son puntos de la grilla; los . son números intermedios y de alguna forma según la cantidad indica la longitud del intervalo):

|....|....|...|..|.0.|..|...|....|.....|
.................A...B


Así se puede ver más o menos cómo es la grilla de punto flotante (la proporcionalidad entre los puntos y que no es regular). Esto es esquemático, obviamente. A sería el MNR y B el MPR. Esto intenta explicar el por qué usar el MPR para 0 (es el mínimo valor representable alrededor del 0).

Resumiendo, pongan un if haciendo que si [tex]x = 0[/tex] (y también si pertenece al intervalo de underflow pero esto ya sería opcional ya que el intervalo es muy chico; en cambio 0 es un valor bastante común), fije h como tal valor (el MPR; calcúlenlo según las características del flotante). Caso contrario: [tex]h=\mu \cdot x[/tex].

_________________
ImageImage
ImageImage
ImageImage

Escorpio Género:Masculino Rata OfflineGalería Personal de 4WDVer perfil de usuarioEnviar mensaje privado
Mostrar mensajes de anteriores:      
Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente

Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro
No podés responder a temas en este foro
No podés editar tus mensajes en este foro
No podés borrar tus mensajes en este foro
No podés votar en encuestas en este foro
No Podéspostear archivos en este foro
No Podés bajar archivos de este foro


Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker
365 Attacks blocked.

Powered by phpBB2 Plus, phpBB Styles and Kostenloses Forum based on phpBB © 2001/6 phpBB Group :: FI Theme :: Mods y Créditos

Foros-FIUBA está hosteado en Neolo.com Cloud Hosting

[ Tiempo: 0.3063s ][ Pedidos: 20 (0.2194s) ]