用MATLAB2017版画谢尔宾斯基地毯,必须用坐标表示正方形
时间: 2024-02-15 12:01:20 浏览: 120
基于MATLAB的Sierpinski地毯画法
4星 · 用户满意度95%
下面是MATLAB2017版通过坐标表示正方形来画谢尔宾斯基地毯的代码:
```matlab
% 设置谢尔宾斯基地毯的迭代次数
n = 5;
% 定义谢尔宾斯基地毯的初始图形,由坐标表示正方形
carpet = [0 0 1 1; 0 1 1 0];
% 迭代生成谢尔宾斯基地毯
for i = 1:n
% 将当前的谢尔宾斯基地毯放大3倍,并将其复制为4个
carpet = repmat(carpet,3,3);
% 在中央的3x3方块中将谢尔宾斯基地毯清空
carpet(2:2:end,2:2:end) = NaN;
end
% 绘制谢尔宾斯基地毯
colormap([1 1 1; 0 0 0]); % 设置颜色映射
patch('Faces',1:4,'Vertices',carpet','FaceColor','flat','FaceVertexCData',[1;2;1;2]); % 绘制图形
axis equal off; % 设置坐标轴和周围的白色边框不可见
```
运行上述代码,即可在MATLAB的Figure窗口中绘制出谢尔宾斯基地毯。
阅读全文