You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中获取3D曲面图z最小值对应的x、y取值

找到3D曲面最小值对应的x、y取值

嘿,我来帮你搞定这个问题!你已经完成了函数定义、生成序列、计算z矩阵和绘制3D曲面的工作,现在只需要补充几行代码就能找到z最小值对应的x和y取值啦~

首先,我们把完整的代码整合好,关键部分我会加上注释:

# 定义cone函数
cone <- function(x,y){ 
  ((x^2)+(y^2)-(x*y)) 
}

# 生成x、y序列
x <- y <- seq(-0.5, 0.5, length=50)

# 计算z矩阵
z <- outer(x, y, cone)

# 加载plotly包并绘制3D曲面图
library(plotly)
fig <- plot_ly(x = x, y = y, z = z) %>% add_surface()
fig

# 找到z的最小值
min_z <- min(z)

# 关键:找到最小值在z矩阵中的行、列索引
min_position <- which(z == min_z, arr.ind = TRUE)

# 根据索引获取对应的x和y值
min_x <- x[min_position[, 1]]
min_y <- y[min_position[, 2]]

# 打印结果
cat("z的最小值为:", min_z, "\n")
cat("对应的x取值为:", min_x, "\n")
cat("对应的y取值为:", min_y, "\n")

代码小解释

  • which(z == min_z, arr.ind = TRUE):这个函数会返回z矩阵中等于最小值的元素的行和列索引——因为z是outer生成的,行对应x序列的位置,列对应y序列的位置。
  • x[min_position[,1]]:用行索引从x序列中取出对应的x值,同理y[min_position[,2]]取出对应的y值。

运行这段代码后,你就能清晰看到z的最小值以及它对应的x、y取值啦~

内容的提问来源于stack exchange,提问作者ASHUTOSH KAUSHAL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 14:49:07