我正在探索 RShiny 中的優化,并根據我發現的另一個示例生成了以下示例:
library(shiny)
#library(optimx)
fr <- function(x) {
x1 <- x[1]
x2 <- x[2]
2*(x[1]-1)^2 5*(x[2]-3)^2 3
# 100 * (x2 - x1 * x1)^2 (1 - x1)^2
#x*x
}
ui <- fluidPage(
titlePanel("Values"),
sidebarLayout(
sidebarPanel(
sliderInput("range",
label = "Choose two Values:",
min = -5, max = 5, value = c(-5, 5))
),
mainPanel(
textOutput("optim_out"),
textOutput("optim_out_b")
)
)
)
# Define server logic required to draw a histogram
server <- function(input, output) {
out <- reactive(optim(c(input$range[1], input$range[2]), fr))
output$optim_out_b <- renderText(paste0("Par: ", out()$par[1], ", ", out()$par[2], " Value: ", out()$value, " Convergance: ", out()$convergence))
}
# Run the application
shinyApp(ui = ui, server = server)
當代碼運行時,x1結果是1and x2is 3。我的問題是function我能否以一種可以將公式設定為等于一個值然后進行優化的方式優化公式。例如,有沒有辦法:
2*(x[1]-1)^2 5*(x[2]-3)^2 3 = 172
并優化函式以使值x1和x2被吐出的值盡可能產生 172 或最接近 172 的數字?
我厭倦了將= 172它添加到我的功能中并且它不起作用,這只是我想做的一個例子。
uj5u.com熱心網友回復:
即使您打算使用閃亮,問題本身也與它無關,閃亮應該被排除在問題之外,并且不應該成為滿足問題最少的要求的標簽。問題中也沒有使用 optimx ,但出現在庫陳述句中。
兩個變數和一個方程不會有唯一的解決方案,但如果您想要任何解決方案,請嘗試最小化 fr 和 172 之間的平方差。不同的起始值可能會產生不同的解決方案。
代碼 -
optim(c(1, 1), function(x) (fr(x) - 172)^2)
給予:
$par
[1] 4.025171 -2.489776
$value
[1] 7.184557e-05
$counts
function gradient
49 NA
$convergence
[1] 0
$message
NULL
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/409628.html
標籤:
上一篇:二維矩陣崩潰的動態解除分配
