编写MATLAB代码,在一张画布下绘制z=sqrt(x^2+y^2)以及x^2+y^2=2*x的图像
时间: 2024-10-27 10:10:08 浏览: 10
在MATLAB中,你可以使用`surf`函数来绘制三维曲面 `z = sqrt(x^2 + y^2)`,同时使用`contourf`函数来绘制等值线图 `x^2 + y^2 = 2x`。下面是一个简单的示例代码:
```matlab
% 设置范围
[x, y] = meshgrid(-5:.1:5); % x和y坐标网格
z1 = sqrt(x.^2 + y.^2); % z坐标为x和y的平方根
% 绘制三维曲面
figure; % 创建新窗口
surf(x, y, z1), % 使用surf命令
xlabel('X'), ylabel('Y'), zlabel('Z'), % 标签
title('Z = sqrt(X^2 + Y^2)');
% 绘制等值线图
z2 = x.^2 + y.^2 - 2.*x; % 定义等式 z = x^2 + y^2 - 2x
figure; % 另一窗口
contourf(x, y, z2), % 使用contourf命令
hold on; % 保持当前图形
plot(x(1,:), y(1,:),'k:', 'LineWidth', 2) % 绘制等式对应的直线
xlabel('X'), ylabel('Y')
title('X^2 + Y^2 = 2X');
hold off;
% 显示轮廓线
colormap('jet'); % 更改颜色映射
colorbar; % 添加颜色刻度
```
运行这段代码后,你会看到两个窗口,一个是三维曲面图,另一个是包含等值线和直线的平面图。
阅读全文