matlab画出两个同心圆球
时间: 2024-10-14 16:05:36 浏览: 27
利用MATLAB绘制点两个电荷电场线
在MATLAB中,你可以使用`surf`函数创建三维图形,结合一些额外的设置来模拟两个同心圆球。这里是一个简单的例子:
```matlab
% 定义半径和中心点
r1 = 2; % 外层圆球半径
r2 = r1 / 2; % 内层圆球半径
center = [0, 0, 0]; % 圆球的中心点
% 创建数据网格
[X, Y] = meshgrid(-5:0.1:5); % 横纵坐标范围
Z = zeros(size(X));
% 计算外层圆球的表面点
R1 = sqrt(X.^2 + Y.^2 + Z.^2) - center(3);
[Xc, Yc, Zc] = surf(X, Y, R1, 'FaceColor', 'white'); % 白色外表面
hold on; % 保持当前图形状态以便添加更多元素
% 计算内层圆球的表面点
R2 = sqrt(X.^2 + Y.^2 + Z.^2) - center(3);
[Xi, Yi, Zi] = surf(X, Y, R2, 'FaceColor', 'red'); % 红色内表面
% 设置轴的范围,去掉边框,添加标签
xlim([-6 6]);
ylim([-6 6]);
zlim([min([min(R1(:)), min(R2(:))]) max([max(R1(:)), max(R2(:))])])
axis equal;
xlabel('X');
ylabel('Y');
zlabel('Z');
% 清除背景颜色
colormap('none');
title('两个同心圆球');
% 最后记得关闭hold模式
hold off;
% 显示图形
view(3); % 从三维角度看
阅读全文