如何在MATLAB R2013a中为函数f(x,y)=x^5+x^4-2x²y+y²绘制等高线图?
在MATLAB R2013a中绘制f(x,y)=x⁵+x⁴-2x²y+y²等高线图的解决方案
我来帮你搞定这个MATLAB R2013a里的等高线图绘制问题!下面是亲测有效的步骤,一步步来就行:
第一步:生成x和y的网格矩阵
等高线图需要基于二维网格数据计算函数值,咱们用meshgrid生成合适范围的网格。这里推荐的范围能很好展示函数的特征,你也可以根据需要调整:[x, y] = meshgrid(-2:0.1:2, -1:0.1:3);解释:
-2:0.1:2表示x从-2到2,步长0.1;y同理,步长越小图像越精细。第二步:正确定义函数f(x,y)
这里一定要注意元素级运算(用点运算符.),不然MATLAB会把它当成矩阵运算,直接报错。代码如下:f = x.^5 + x.^4 - 2*x.^2.*y + y.^2;划重点:
x.^5是对x矩阵里每个元素取5次方,x.^2.*y是每个x的平方对应乘y的元素,这是新手最容易踩的坑!第三步:绘制等高线图
你可以根据需求选择不同的绘制方式:- 基础黑白等高线:
contour(x, y, f); title('f(x,y)=x^5+x^4-2x²y+y² 等高线图'); xlabel('x'); ylabel('y'); - 带数值标签的等高线:
[C, h] = contour(x, y, f); clabel(C, h); % 添加等高线数值标签 title('带数值标签的等高线图'); xlabel('x'); ylabel('y'); - 填充颜色的等高线(更直观):
contourf(x, y, f); colorbar; % 显示颜色对应的值 title('填充颜色的等高线图'); xlabel('x'); ylabel('y');
- 基础黑白等高线:
常见错误排查
如果你之前运行失败,大概率是这两个原因:
- 没有用点运算符:比如写成
x^5而不是x.^5,导致矩阵运算维度不匹配报错; - 网格范围选得不合适:比如x/y范围太小,看不到函数的关键特征,或者太大导致图像模糊。
内容的提问来源于stack exchange,提问作者Hana
相关产品推荐
相关产品推荐

