✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
城市空间形态是从空间的角度研究城市演化的状态,形式及其相关影响因素.自改革开放以来,随着国民经济的高速发展,中国城市进入了快速发展时期,作为城市化发展的直接结果,城市空间形态也发生着相应的剧烈变化. 城市空间形态演化过程具有高度的复杂性,元胞自动机作为一种时间和空间上都离散的系统动力学模型,充分体现了"简单子系统可相互组合形成复杂巨系统"的精髓,特别适用于模拟具有复杂时间和空间特征的地理系统,已逐渐成为研究城市空间形态的一种重要工具或手段.
⛄ 部分代码
clear all ; close all; clc;
% 0 means Restricted ... 35 means road... 50 means built up... 15 means Non built up
%%%Initilizing
img = imread('test.jpg');
%image(img);
[sr sc sf] = size(img);
ar = zeros(sr,sc);
for i=1:sr
for j=1:sc
if(img(i,j,1) >240 )
ar(i,j)=15;
else if (img(i,j,1)<150)
ar(i,j)=50;
else
ar(i,j)=35;
end
end
if img(i,j,2)>90 && ar(i,j)~=15
ar(i,j) = 0;
end
end
end
colorMap = jet(50);
colormap(colorMap);
image(ar)
colorbar
%%%% calculating nearest distence from road..
dis = zeros(sr,sc) ;
for i=1:sr
for j=1:sc
% if(ar(i,j)==25)
% dis(i,j)=0;
% end
d=1e6;
for x=1:sr
for y=1:sc
if(ar(x,y)==35)
% Euclidian
% tm = ((i-x)^2 + (j-y)^2)^0.5 ;
% Non Euclidian
tm = max ( abs(i-x) , abs(j-y) ) ;
if tm<d
d=tm;
end
end
end
end
dis(i,j)=d;
end
end
figure;
image(dis*2)
colorbar;
%%% now The Cellular Autometa as per rules....
pause(1);
figure
image(ar);
hold on;
figure
image(ar);
% 0 means Restricted ... 35 means road... 50 means built up... 15 means Non built up
p = ( 1 - (dis/ max ( max ( dis ) ) ) ) / 2;
itr = 10;
for t=1:itr
tm=ar;
for i=1:sr
for j=1:sc
%%%
if(ar(i,j)==15)
if(rand() <= p(i,j) )
tm(i,j) = 50;
end
end
%%%
end
end
ar=tm;
pause(1);
image(ar);
hold on;
end
⛄ 运行结果
⛄ 参考文献
[1] 田朝晖. 基于元胞自动机的城市空间形态模拟与优化研究[D]. 湖南师范大学, 2012.
[2] 尹长林, 张鸿辉, 游胜景,等. 基于元胞自动机模型的长沙市城市增长模拟研究[J]. 工程勘察, 2009, 37(4):6.
[3] 徐昔保. 基于GIS与元胞自动机的城市土地利用动态演化模拟与优化研究[D]. 兰州大学, 2007.
[4] 沈体雁, 张恒, 张进洁. 基于MODIS遥感影像及元胞自动机的京津冀地区城市模拟研究[C]// International Conference on Remote Sensing. 2010.