题目
4【判断题】(2分) 绘制空间曲面之旋转抛物面 z = x^2 + y^2 的程序如下:x = -5; 0.5; 5; y = x; [x, y] = meshgrid(x, y); z = x^2 + y^2;mesh(x, y, z)该程序是否正确。()A. 对B. 错
4【判断题】(2分) 绘制空间曲面之旋转抛物面 $ z = x^2 + y^2 $ 的程序如下:
x = -5; 0.5; 5; y = x; [x, y] = meshgrid(x, y); z = x^2 + y^2;
mesh(x, y, z)
该程序是否正确。()
A. 对
B. 错
题目解答
答案
B
解析
考查要点:本题主要考查MATLAB中生成网格数据和绘制三维曲面的正确语法,特别是向量创建和点运算符的使用。
解题核心思路:
- 向量创建:正确使用冒号运算符生成向量,如
x = -5:0.5:5;。 - 点运算符:对矩阵元素进行逐元素运算时,需使用点运算符(如
x.^2)。 - 程序逻辑:分析代码中变量赋值和运算是否符合MATLAB语法规范。
破题关键点:
- 错误1:
x = -5; 0.5; 5;的写法无法生成向量,导致后续网格生成失败。 - 错误2:
x^2 + y^2未使用点运算符,可能导致矩阵运算错误。
代码错误分析
-
向量创建错误
x = -5; 0.5; 5;的写法依次将变量x赋值为-5、0.5、5,最终x仅保留最后一个值5,而非生成向量。正确写法应为:x = -5:0.5:5; -
点运算符缺失
z = x^2 + y^2;中的^和*在MATLAB中表示矩阵幂和矩阵乘法。若x和y是矩阵,需使用点运算符.^和.*进行逐元素运算,正确写法为:z = x.^2 + y.^2;
程序运行结果
- 错误1导致
x和y均为标量5,meshgrid(x, y)生成单点网格,mesh函数无法绘制曲面。 - 错误2若未修正,当
x和y为矩阵时会引发维度不匹配错误。