用MATLAB2017版画谢尔宾斯基三角形(代码)
时间: 2023-10-10 08:11:34 浏览: 216
下面是MATLAB2017版画谢尔宾斯基三角形的代码:
```matlab
% 设置谢尔宾斯基三角形的迭代次数
n = 5;
% 定义谢尔宾斯基三角形的初始图形
triangle = [0 1 0; 0 0 1];
% 迭代生成谢尔宾斯基三角形
for i = 1:n
% 将当前的谢尔宾斯基三角形放大2倍,并将其复制为3个
triangle = repmat(triangle,2,2);
% 在中央的4个三角形中将谢尔宾斯基三角形清空
triangle(3:4:end,3:4:end) = 0;
triangle(3:4:end,4:4:end) = 0;
triangle(4:4:end,3:4:end) = 0;
end
% 绘制谢尔宾斯基三角形
colormap([1 1 1; 0 0 0]); % 设置颜色映射
image(triangle+1); % 绘制图像
axis equal off; % 设置坐标轴和周围的白色边框不可见
```
运行上述代码,即可在MATLAB的Figure窗口中绘制出谢尔宾斯基三角形。
相关问题
用MATLAB2017版画谢尔宾斯基地毯(代码)
下面是MATLAB2017版画谢尔宾斯基地毯的代码:
```matlab
% 设置谢尔宾斯基地毯的迭代次数
n = 5;
% 定义谢尔宾斯基地毯的初始图形
carpet = [1];
% 迭代生成谢尔宾斯基地毯
for i = 1:n
% 将当前的谢尔宾斯基地毯放大3倍,并将其复制为4个
carpet = repmat(carpet,3,3);
% 在中央的3x3方块中将谢尔宾斯基地毯清空
carpet(2:2:end,2:2:end) = 0;
end
% 绘制谢尔宾斯基地毯
colormap([1 1 1; 0 0 0]); % 设置颜色映射
image(carpet+1); % 绘制图像
axis equal off; % 设置坐标轴和周围的白色边框不可见
```
运行上述代码,即可在MATLAB的Figure窗口中绘制出谢尔宾斯基地毯。
用MATLAB2017版画谢尔宾斯基地毯,必须用坐标表示正方形
下面是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窗口中绘制出谢尔宾斯基地毯。
阅读全文