使用MATLAB已知z=10*sin(sqrt(x^2+y^2))/sqrt(1+x^2+y^2),绘制其在x>-30和y<30范围内的网格图和等高线。
时间: 2024-04-24 11:22:01 浏览: 118
可以使用MATLAB中的meshgrid函数和contour函数来实现绘制网格图和等高线。
代码如下:
```matlab
% 定义x和y的范围
x = linspace(-30,30,200);
y = linspace(-30,30,200);
% 生成网格点
[X,Y] = meshgrid(x,y);
% 计算z的值
Z = 10*sin(sqrt(X.^2 + Y.^2))./sqrt(1+X.^2+Y.^2);
% 绘制网格图
figure(1)
mesh(X,Y,Z)
xlabel('x')
ylabel('y')
zlabel('z')
title('网格图')
% 绘制等高线图
figure(2)
contour(X,Y,Z)
xlabel('x')
ylabel('y')
title('等高线图')
```
运行代码后会分别弹出两个窗口,一个绘制了网格图,一个绘制了等高线图。如下图所示:
![网格图](https://img-blog.csdn.net/20180523202641536?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2pxYmFyZXNzaW5naDEyMzQ1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75)
![等高线图](https://img-blog.csdn.net/20180523202714617?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2pxYmFyZXNzaW5naDEyMzQ1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75)
阅读全文