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

求助:基于R绘制指定参数下多元函数H的x-y等高线图

R语言绘制指定条件下的多元函数等高线图

首先代入给定条件z=3和w=5到原函数,简化得到仅关于x和y的函数:

H(x,y,z,w) = 2xy + 3zw - x² + w³
代入后计算常数项:335=45,5³=125,常数项总和为45+125=170,最终简化后的函数为:
H(x,y) = 2xy - x² + 170

下面提供两种R语言实现绘图的方法:

方法一:使用基础绘图包

# 1. 生成x和y的取值序列
x <- seq(-10, 10, by = 0.5)
y <- seq(-10, 10, by = 0.5)

# 2. 创建网格并计算每个点的函数值
h_grid <- outer(x, y, function(x, y) 2*x*y - x^2 + 170)

# 3. 绘制常规等高线图
contour(x, y, h_grid, 
        main = "H(x,y) = 2xy - x² + 170 等高线图",
        xlab = "x", ylab = "y",
        col = "blue", lwd = 1.5)

# 可选:绘制带填充色的等高线图
filled.contour(x, y, h_grid,
               main = "H(x,y) 填充式等高线图",
               xlab = "x", ylab = "y",
               color.palette = terrain.colors)

方法二:使用ggplot2包(可视化样式更丰富)

若未安装ggplot2,先执行安装命令:

install.packages("ggplot2")

绘图代码:

library(ggplot2)

# 1. 生成网格数据框
grid_data <- expand.grid(x = seq(-10, 10, by = 0.5),
                         y = seq(-10, 10, by = 0.5))
# 2. 计算每个网格点的函数值
grid_data$H <- with(grid_data, 2*x*y - x^2 + 170)

# 3. 绘制常规等高线图
ggplot(grid_data, aes(x = x, y = y, z = H)) +
  geom_contour(color = "darkred", size = 0.8) +
  labs(title = "H(x,y) 等高线图", x = "x", y = "y") +
  theme_minimal()

# 可选:绘制带填充色的等高线图
ggplot(grid_data, aes(x = x, y = y, z = H)) +
  geom_contour_filled(bins = 15) +
  labs(title = "H(x,y) 填充式等高线图", x = "x", y = "y") +
  theme_minimal()

说明:

  • 可根据需求调整seq函数里的取值范围(如-10,10)和步长(如by=0.5),获得更精细或宏观的视图;
  • 两种方法都支持自定义颜色、线条粗细等样式参数,可按需修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 02:25:44