Saltar al contenido

Este día de Pi, calcula el valor de Pi por ti mismo

julio 2, 2021


Aquí hay un cálculo numérico en Python. Puede seguir adelante y ejecutar el código presionando el botón «reproducir», pero daré algunos comentarios sobre el código a continuación.

Puede cambiar el código si lo hace feliz; aquí hay algunas cosas que debe considerar.

  • Este es un cálculo numérico. Eso significa que el programa solo se ocupa de números. Técnicamente, el área debe tener unidades de m2 o algo así pero no aquí. Sólo números.
  • Para los bucles en Python, incluye todo lo que tiene sangría de tabulación como parte del bucle. Una vez que dedent, ya no está en un bucle.
  • La línea 18 debería verse extraña porque lo es. Si considera que se trata de una ecuación algebraica, la A debería cancelarse ya que está en ambos lados de la ecuación, pero esta no es una ecuación. En Python (y la mayoría de los otros lenguajes), el «=» significa «hacer igual a». Esta línea toma el valor anterior de A, agrega las cosas nuevas y luego lo convierte en el nuevo valor de A.

Este cálculo inicial tiene un dx de 0,1. Eso significa que solo habrá 20 rectángulos para sumar y obtener el área del semicírculo. Con esto, obtengo un valor de pi aproximado de 3,10452, que claramente no es el pi exacto. Por supuesto, puedo hacer una mejor estimación haciendo rectángulos de menor ancho. Debería intentar esto cambiando el código anterior (pista: cambie el valor de dx). Sin embargo, dado que no puedo dejar pasar esto, aquí hay un gráfico del valor de pi para diferentes tamaños de paso.

Quizás esa no sea la mejor trama, pero es lo suficientemente buena por ahora. Si desea consultar el código de este gráfico, aqui tienes. Pero al final, el valor se acerca al valor esperado de pi. Es posible que este método no le proporcione un millón de dígitos de pi, pero tal vez al menos pueda aprender algo sobre la integración.



Source link

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *