资源简介
MATLAB编程——用双约束重力模型预测未来年交通分布的程序代码
代码片段和文件信息
%双约束重力模型标定及计算用
clear
clc
close all
%输入标定数据
qij=[1774;7386;4517];
Oi=[285126];
P=[38.691.936.0];
Dj=[285027];
A=[39.390.336.9];
dij=[4911;9812;11124];
Cij=[71722;171523;22237];
Z=-0.5;
n=size(qij1);
tic
while 2018
%gravity为自定义函数,用于双约束重力模型kikj的标定
[kimkjm]=gravity(qijOiDjCijZ);
%幂指数Z的标定
s1=0;
s2=0;
for i=1:n
for j=1:n
Qij(ij)=kim(i)*kjm(j)*Oi(i)*Dj(j)*(Cij(ij).^Z);
s1=s1+ Qij(ij)*Cij(ij);
s2=s2+ qij(ij)*Cij(ij);
end
end
R1=s1/sum(sum(Qij));
R2=s2/sum(sum(qij));
R=R1/R2;
if abs(R-1)>0.01
if R>1
Z=1.5*Z;
else
Z=0.5*Z;
end
else
break;
end
end
%利用底特律法进行OD均衡调整
for i=1:n
for j=1:n
Hij(ij)=kim(i)*kjm(j)*P(i)*A(j)*(dij(ij).^Z);%生成初始分布
end
end
cnt=2;
while 2018
if mod(cnt2)==0
rate=sum(Hij2)./P‘;
Hij=Hij./repmat(rate1n);
else
rate=sum(Hij1)./A;
Hij=Hij./repmat(raten1);
end
t=0;
for i=1:n
if abs(rate(i)-1)>0.01
t=1;
break;
end
end
if t==0
break;
end
cnt=cnt+1;
end
toc
fprintf(‘预测未来的分布为>>‘);
Hij
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1255 2020-05-13 19:54 双约束重力模型(1.0)\doublecon.m
文件 593 2020-05-13 19:59 双约束重力模型(1.0)\gravity.m
文件 20557 2020-05-13 20:03 双约束重力模型(1.0)\miao.mexw64
文件 72 2020-05-13 19:57 双约束重力模型(1.0)\使用说明.txt
- 上一篇:MATLAB缺陷检测系统
- 下一篇:chan算法代码1234.m
评论
共有 条评论