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

如何在MATLAB中绘制二维函数z = x² - y²并验证代码正确性

问题分析
  • 你当前的代码存在两个核心错误,无法得到目标函数的图像:
    1. 没有生成二维坐标网格:你定义的x = -3:3、y = -3:3都是长度为7的一维向量,直接做逐元素减法得到的z同样是一维数组,没有覆盖x和y所有组合的取值
    2. 绘图函数使用错误:plot()是二维折线绘制函数,无法展示双变量的三维曲面结果
      你当前运行得到的图像如下,只是z随向量索引变化的二维折线,和目标结果完全不符:
      当前运行输出的折线图
修正方案

你需要先通过meshgrid生成x、y的二维网格,再使用三维绘图函数绘制曲面,参考代码如下:

% 定义x、y的取值范围,步长设为0.1可以让曲面更平滑,可按需调整
x = -3:0.1:3;
y = -3:0.1:3;
% 生成二维网格
[X,Y] = meshgrid(x,y);
% 计算z值,这里的逐元素运算.^是正确的
Z = X.^2 - Y.^2;
% 绘制三维网格曲面,也可以替换为surf(Z)绘制填充曲面
mesh(X,Y,Z)
% 补充坐标轴标注
xlabel('x')
ylabel('y')
zlabel('z')
title('z = x^2 - y^2 曲面图(双曲抛物面/马鞍面)')

运行上述代码就能得到你需要的马鞍面图像,如果需要绘制等高线等其他展示形式,可以替换mesh为contour、surfc等函数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:27:03