# Cargamos la biblioteca shiny
library(shiny)
## Warning: package 'shiny' was built under R version 4.2.3
# Función que calcula Cp(t)
Cp <- function(t, a, b, c) {
return(a + b * t - c / t^2)
}
# Definir la interfaz de la aplicación
ui <- fluidPage(
titlePanel("Cálculo de Entalpía"),
# Campos de entrada para los valores
textInput("a", "Valor de a:", ""),
textInput("b", "Valor de b:", ""),
textInput("c", "Valor de c:", ""),
textInput("Ti", "Temperatura inicial:", ""),
textInput("Tf", "Temperatura final:", ""),
# Botón para calcular la entalpía
actionButton("calcular", "Calcular Entalpía"),
# Etiqueta para mostrar el resultado
textOutput("resultado")
)
# Definir la lógica de la aplicación
server <- function(input, output) {
observeEvent(input$calcular, {
a <- as.numeric(input$a)
b <- as.numeric(input$b)
c <- as.numeric(input$c)
Ti <- as.numeric(input$Ti)
Tf <- as.numeric(input$Tf)
n <- 1000 # Puedes ajustar este valor para obtener una aproximación más precisa
h <- (Tf - Ti) / n
integral <- 0
for (i in 1:n) {
xi <- Ti + (i - 1) * h
xi1 <- Ti + i * h
integral <- integral + (Cp(xi, a, b, c) + Cp(xi1, a, b, c)) * h / 2
}
output$resultado <- renderText({
return(paste("La entalpía es igual a:", integral))
})
})
}
# Ejecutar la aplicación shiny
shinyApp(ui = ui, server = server)
Shiny applications not supported in static R Markdown documents