• 大小: 10KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-06-19
  • 语言: Matlab
  • 标签:

资源简介

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

评论

共有 条评论

相关资源