miércoles, 20 de marzo de 2024

Cálculo infinitesimal con Excel II. Centro de gravedad de un cuarto de círculo. Preliminar

 Capitulo anterior


En el capitulo anterior estudio como calcular el centro de gravedad de un triángulo, que es una figura sencilla. En este capitulo vamos a encontrar con Excel el centro de gravedad (o centroide) de un cuarto de círculo.

  • Dividimos, como en el caso anterior, en N segmentos la figura, dividimos por el número de segmentos que deseemos calcular el valor del radio de la circunferencia. Llevamos estos valores al eje X.
  • Calculamos los correspondientes valores de Y. 
  • Tenemos, como ya comenté en el capitulo anterior, N barras verticales coronadas por un resto con forma de triángulo. En este caso la figura real que corona el segmento no es triangular, hay, además, un segmento circular, pero, se puede aproximar a un triángulo. Cometemos un pequeño error , pero, el resultado, creo, que se puede considerar que sigue siendo válido.
  • Cuanto mayor sea el número de segmentos, menor sera este error.
  • Cada barra vertical, cada segmento en el que dividimos la figura, tiene su propio centro de gravedad. Lo mismo para los restos triangulares. Cada uno tiene su propio centro.
  • Cada uno de esos segmentos, cada uno de los restos. "pesa" sobre un punto determinado, tanto sobre el eje X como sobre el eje Y. 
  • Sumatorio de fuerzas por distancia igual fuerza total por distancia al centro de gravedad.
  • La fuerza, el "peso" de cada segmento y de la figura total es el área de cada segmento por una constante K (gr. por centímetro cubico, gravedad, altura). Como esa constante K está a ambos lados de la ecuación, despejando, fuerzas por distancia queda como fuerza  por área.
Libro Excel: Está preparado para calcular hasta 50000 puntos, que se pueden ampliar. Como ya he comentado se produce un pequeño error.



¿Estoy trabajando correctamente? ¿La idea es buena? ¿Puedo comparar resultados con los obtenidos con otro tipo cálculo?

En este caso, si. Como es lógico, no es necesario armar este follón para hacer un cálculo mucho mas fácil si se hace de otra manera, pero necesito demostrarme a mi mismo que esta manera de trabajar es correcta. Solo lo puedo hacer comparando resultados, un resultado que se que es correcto, con el resultado obtenido con el supuesto que estoy siguiendo.

¿Como puedo calcular con una matemática mas clásica este centroide ?  Me baso en:

"El volumen de un área de revolución es el área de la figura multiplicado por el camino que recorre su centro"
  • En este caso el área es la de un cuarto de círculo y el volumen que se genera al girar la figura alrededor de su centro, es el de media esfera. Hoja CCirculo, columnas de la D a la G.
  • En este caso estamos trabajando con una figura simétrica, los valores de X e Y del centro  son idénticos.


El centro de gravedad de un triángulo rectángulo esta situado a 2/3 del vértice.
Los valores obtenidos se pueden considerar aceptables.

Mis propia función Excel:

Esta vez incorporo una función VBasic,CCCir(Radio;Num;tipo respuesta) para Excel (utilizada en hoja Aux, de F1 a F4), mi propia función Excel, que me permite hacer estos cálculos con una mayor aproximación, con un error mucho menor. 

Function CCCir(R, N, Op)
Dim Incr As Double, Y0, Y1, Resto As Double, Area As Double, X2 As Double
Incr = R / N

For i = 1 To N - 1
X2 = (i * Incr) * i * Incr
Y1 = Sqr(R * R - X2)
Area = Area + Y1 * Incr
DY = Y0 - Y1
FDx = FDx + (i - 0.5) * Y1 * (Incr ^ 2) + (i - 2 / 3) * (Incr ^ 2) * DY / 2
FDy = FDy + (Y1 ^ 2) * Incr / 2 + (DY * (1 / 3) + Y1) * Incr * DY / 2
Area = Area + Incr * DY / 2
Y0 = Y1

Next

CCCir = Area & " " & FDx / Area & " " & FDy / Area
If Op = 1 Then CCCir = Area
If Op = 2 Then CCCir = FDx / Area
If Op = 3 Then CCCir = FDy / Area
'If Op = 0 Then CCCir = Area & Chr(10) & Pi * (Radio ^ 2) / 4 & FDx / Area & Chr(10) & FDy / Area & Chr(10) & ccc

End Function




lunes, 11 de marzo de 2024

Cálculo infinitesimal con Excel I. Preliminar. Centro de gravedad de un triangulo.

Para ingenieros, los matemáticos probablemente  piensen que soy un hereje y merezca la hoguera.








Se trata de aprovechar la posibilidad que nos da Excel de efectuar decenas de miles de operaciones en un instante. Ni podemos ni debemos desdeñar esa posibilidad.

Una vez efectuadas esas decenas de miles de operaciones podemos encontrar un valor próximo al valor buscado. En mis pruebas me he encontrado con un error menor al de una millonésima.

Para tener la seguridad de que el cálculo infinitesimal, o manera de hacerlo, es correcto, empiezo con un triángulo rectángulo, que me va a permitir calcular de una manera clásica el valor buscado, en este caso, el centro de gravedad. Podemos comparar ambos valores, en su caso, determinar el nivel de error y decidir si nuestros cálculos son correctos y/o el error cometido es asumible.

Triángulo:

El libro Excel, el ejemplo, está preparado para un triángulo rectángulo en el que podemos variar el valor de los dos catetos, con uno de sus vértices el el punto 0,0. (ver gráfica 1). La hipotenusa, por un lado,cumple el teorema de Pitágoras y por otro es una recta del tipo y=mx. Sin constante, esto es un estudio preliminar.


Cosas que recordaba levemente y que tuve que refrescar acudiendo a internet:
  • Por un lado sabemos que el centro de gravedad o baricentro de un triángulo se  calcula encontrando  la intersección de las medianas. (hoja Triangulo1, celdas K3 y L3)
  • En un triángulo rectángulo, que tiene un ángulo igual a 90 grados, el centro de gravedad se puede encontrar dividiendo la altura del triángulo por 3 y midiendo la distancia en el vértice del ángulo recto. Este punto se encuentra a lo largo la altitud, cual es un segmento de línea trazada desde el vértice del ángulo recto a la hipotenusa... (según internet)

Esta manera de calcular ese valor me va a permitir calcular otros centros de gravedad sin cálculos mas complicados.

Método de trabajo:

  • Dividimos el tamaño del cateto situado sobre el eje x en cuantos intervalos deseemos y excel admita.
  • Calculamos el valor de Y para cada uno de los puntos resultante de dividir X entre n.


  • En la primera columna del la hoja "Puntos" hay un valor N, que se incrementa en la siguiente fila en 1. 
  • Tenemos un valor, valor del cateto situado sobre el eje X dividido por el número de saltos deseados, que es el incremento de X entre dos puntos. 
  • Al multiplicar el valor que toma N en cada punto, encontramos el valor de X. Con este valor de X encontramos el valor de Y.
  • Dividimos, por tanto, la superficie que limita la función en N barras verticales, rematadas por un área (pequeña) que podemos asimilar a  triángulo rectángulo. En este caso, al ser una recta, es un triángulo rectángulo.
  • La altura de la barra, o mejor dicho que altura vamos a elegir de entre las dos alturas que la delimitan cada segmento.
  • En este caso la función es una función creciente, al aumentar X aumenta Y. Aunque siempre vamos a elegir el menor valor de Y de los dos valores (Y0,Y1) que delimitan cada segmento, en este caso elegiremos el primero. El área de la barra vertical es Incr*Y0.
  • El pequeño triángulo que corona cada barra tiene una altura que es la diferencia entre las dos Y que delimitan el segmento, una base igual a el Incr y un área=(Incr*(Y1-Yo))/2
  • La suma del área de todos los segmentos, incluyendo los pequeños triángulos, debe dar un valor muy próximo al calculado por otros medios.
  • En este ejemplo, como estamos trabajando con una recta, nos debe dar valores idénticos.

Centro de gravedad:
  • Cada segmento aporta, tanto para X como para Y, según lo alejado que se encuentre del origen. 
  • Podemos aplicar la ley de la palanca, fuerza por distancia. 
  • Aunque la ley de la palanca se refiere a fuerzas, no a superficies, imaginemos que nuestra superficie tiene un cierto volumen, pero sigue siendo plana. Tiene, por tanto, un cierto peso (fuerza). Tanto si consideramos el área total, como si tomamos cada segmento por separado, el peso va a depender de una serie de constantes (masa, gravedad, densidad, altura...)  que van a estar a ambos lados de una igualdad y, que por tanto podremos eliminar a ambos lados de la igualdad, quedándonos solo con el área de cada segmento por su distancia.
  • La suma, el sumatorio, del área de cada segmento multiplicado por su distancia al origen debe ser igual al área total por la distancia del centro de gravedad. Tanto para X como para Y. Son cálculos separados.
  • Cosa que se cumple.
Para figuras mas complejas, sin lugar a dudas, sobre todo por la aproximación de la superficie restante, la que está fuera de la barra de cada segmento, a un triangulo hace que se produzca un pequeño error que, cada cual, debe decidir si puede asumir o no. 

Libro Excel:
  • En una primera hoja, "Triangulo1", podemos variar el valor de los catetos. Con esos valores calcula la hipotenusa, las medianas, la intersección de las medianas, y el área del triángulo.
  • En la segunda hoja, "Puntos", se calcula el valor de los distintos segmentos, valores X e Y, el diferencial de Y entre dos puntos, y el tamaño de las áreas en las que hemos dividido el área total.
Variables con nombre:
  • CatH: Cateto horizontal. Triangulo1!A2
  • CatV: Cateto vertical. Triangulo1!B2
  • Incr: Incrementos X. Triangulo1!$A$2/Triangulo1!$D$2
  • NPunt. Número de puntos. =Triangulo1!$D$2
Resultados:
  • Área total: Se calcula de dos manera, por la manera clásica (base*altura/2) y como resultado del sumatorio de los distintos segmentos. Hoja "Puntos".
  • Palancas: Cada segmento rectangular , cada barra, tiene su centro de gravedad en su centro. En el caso de X en Incr/2 (mas la X del segmento). Para Y su centro está en la mitad de su altura.
  • Restos, asimilados a un triángulo rectángulo: En este caso, al ser una función creciente, el triángulo tiene el vértice del lado horizontal a la izquierda. Su centro de gravedad está en 2/3 de Incr (mas la X del segmento). Para Y esta a 1/3 de la diferencia entre Y1 e Y0 (mas la altura sel segmento).
  • En la hoja "Puntos", columnas de la N a la R están los resultados de los valores calculados, de varias maneras, utilizando tanto la función "Indirecto()"  como la función DesRef()