D题
总
1、表格很有特色,滑动时第一行滚定
2、
问题三
第一小问
执行timeuse_min.m可得到任意两点之间的最小时间。
day_20.xls第一列为借车站点号,第二列为还车站点号,第三列为用车时常
最小时间矩阵写入到文件day_20_P.xls中
timeuse_min.m
clc;clear; data=xlsread('day_20.xls');%第一列是借车站号;第二列是还车站号;第三列是用车时长 %P为任意两点间的最小时间 min_time=ones(181)*inf; for i=1:size(data,1)-1 if min_time(data(i,1),data(i,2))==inf min_time(data(i,1),data(i,2))=data(i,3); end end min_time; for i=1:181 for j=i:181 min_time(i,j)=min(min_time(i,j),min_time(j,i)); min_time(j,i)=min(min_time(i,j),min_time(j,i)); end end P=floyd(min_time) xlswrite('day_20_P.xls',P)
floyd 算法求得两站点 间最短时间
floyd.m
function D=floyd(w) D=w; n=length(w); path=zeros(n); for i=1:n for j=1:n if D(i,j)~=inf path(i,j)=j; end end end for k=1:n for i=1:n for j=1:n if D(i,k)+D(k,j)<D(i,j) D(i,j)=D(i,k)+D(k,j); path(i,j)=path(i,k); end end end end
第三小问
Excel表中包含了各时段的借车时段及还车时段
执行sbusy.m可以得到各站点的高峰时段,分别写入
"day_20_gaofeng_jie.xls"和"day_20_gaofeng_huan.xls"文件中
其中第一列为站号,第二列为为最大值,第三列为最大值对应时段
第四列为次大值,第五列为次大值对应时段
时段用1-30的数字表示,其中1表示6:00-6:30,2表示6:30-7:00,以此类推
sbusy.m
clc;clear; x1=xlsread('每时间段各站点的借车频次.xls','Sheet1','B3:BI182');%各时段各站点借车频次 x2=xlsread('每时间段各站点的还车频次.xls','Sheet1','B3:BI182');%各时段各站点还车频次 y1=duiqi(x1); gaofeng1=gaofengqi(y1); y2=duiqi(x2); gaofeng2=gaofengqi(y2); %第一列为站号,第二列为最大值,第三列为最大值对应时段, %第四列为次大值,第五列为次大值对应时段, %各时段对应值为:1、6-6:30;2、6:30-7点;3、7-7:30点;。。。。依次类推。。。30、20-21点;16:21-22点 xlswrite('day_20_gaofeng_jie',gaofeng1); xlswrite('day_20_gaofeng_huan',gaofeng2);
duiqi.m
function y=duiqi(x) m=[1:181]';%m的第一列为站号,以后各列为各情况下各站统计量 for i=1:size(x,1) for j=1:size(x,2)/2 if x(i,j*2-1)~=0 m(x(i,j*2-1),j+1)=x(i,j*2); end end end y=m;
gaofengqi.m
function gaofeng=gaofengqi(y) x=zeros(size(y,1),size(y,1)-1); x=y(:,2:end); gaofeng=[]; for i=1:size(x,1) [max1,index1]=max(x(i,:)); [max2,index2]=max([setdiff(x(i,:),x(i,index1)),0]); gaofeng=[gaofeng;i,max1,index1,max2,index2]; end
问题四
基于 灰色关联分析法、聚类分析 的公共自行车服务评价模型
执行grayrela.m可得到关联系数
参考因子与比较因子.xls中,第二行为参考因子,其余行为比较因子
关联系数写入到day_20_Coef.xls 其为行排列,转置即可对应180个比较因子
grayrela.m
function output=grayrela x0=xlsread('参考因子与比较因子.xls','Sheet1','B2:F182')' %计算灰色关联系数 %参考因子与比较因子共同存储在一个矩阵x0中,参考因子位于第一列 %斜率序列 for i=2:length(x0(:,1)) x1(i,:)=x0(i,:)-x0(i-1,:); end %标准化 m=length(x1(1,:)); for i=1:m x2(:,i)=x1(:,i)/std(x1(:,i)); end %排序 [y,pos]=sort(x2(:,1)); x2_sorted=x2(pos,:); % 判定关联性质 n=length(x1(:,1)); k=[1:n]'; for j=1:m sig_j(j)=qiuhe(k.*x2_sorted(:,j))-qiuhe(x2_sorted(:,j))*qiuhe(k)/n; end %caculation of distantion for j=2:m dist_0i(:,j)=abs(sign(sig_j(:,j)./sig_j(:,1)).*x2_sorted(:,j)-x2_sorted(:,1)); end %计算关联系数 for i=1:n for j=1:m coef_rela(i,j)=(min(dist_0i)+0.5*max(dist_0i))/(dist_0i(i,j)+0.5*max(dist_0i)); end end for j=1:m output(j)=qiuhe(coef_rela(:,j))/n; end xlswrite('day_20_Coef',output); % function output=qiuhe(input) % output=0; % for i=1:length(input) % output=output+input(i); % end
qiuhe.m
function output=qiuhe(input) output=0; for i=1:length(input) output=output+input(i); end
数学建模中的评价类模型
数学建模中的评价类模型不仅包括常见的分类和回归模型的评价方法,还涉及到更复杂的模型和技术,如灰色关联系数模型。在这篇文章中,我们将介绍一些不常见但有趣的评价类模型,以及它们的应用领域。
1. 灰色关联系数模型
灰色关联系数模型是一种用于处理不确定性信息和评价系统关联度的数学模型。它适用于各种领域,包括工程、环境科学、决策分析等。灰色关联系数模型的主要思想是通过对各因素之间的联系度进行量化,来评价它们对某一目标的影响程度。
在灰色关联系数模型中,关联系数是一个表示两个因素之间关系强度的数值。这个模型的关键步骤包括:
- 数据标准化:将原始数据进行标准化,使得不同因素具有可比性。
- 建立关联系数矩阵:计算各因素之间的关联系数,反映它们的关联程度。
- 计算综合关联系数:综合各因素的关联系数,得出对目标的综合关联系数,用于评价其影响程度。
- 排序和评价:对综合关联系数进行排序和评价,以确定各因素的重要性。
灰色关联系数模型的应用非常广泛,例如,可以用于评价工程项目的可行性、分析环境影响、进行投资决策等领域。
2. 主成分分析(PCA)
主成分分析是一种多元统计方法,用于评价数据集中的变量之间的关系和结构。它通过线性变换将原始变量转换为一组不相关的主成分,以降低数据的维度和揭示数据中的模式。
主成分分析的步骤包括:
- 数据标准化:将原始数据进行标准化,以确保不同变量具有相似的尺度。
- 计算协方差矩阵:计算变量之间的协方差矩阵,以评价它们之间的相关性。
- 计算特征值和特征向量:通过对协方差矩阵进行特征值分解,得到主成分和它们的权重。
- 选择主成分:根据特征值的大小选择最重要的主成分。
- 数据投影:将原始数据投影到所选的主成分上,以获得降维后的数据。
主成分分析可以用于降维、数据可视化、特征选择等领域,并有助于评价数据中的结构和关系。
3. 多目标决策模型
多目标决策模型用于评价多个目标或指标下的决策问题,通常涉及多个决策变量和约束条件。这些模型通常包括线性规划、整数规划、多目标规划等方法。
多目标决策模型的应用包括生产计划、资源分配、项目管理等领域。通过将多个决策变量和目标函数组合在一起,可以评价不同决策方案的优劣,从而进行决策。
4. 神经网络模型
神经网络模型是一种用于评价复杂关系和模式的机器学习模型。它可以用于分类、回归、聚类等任务,以及进行图像和文本处理。
神经网络模型的应用非常广泛,包括图像识别、自然语言处理、推荐系统等领域。通过训练神经网络模型,可以评价数据中的复杂模式和关系,用于各种决策和应用中。
结语
评价类模型在数学建模中发挥着重要作用,它们用于评估系统、数据和决策方案,以帮助做出明智的决策和改进建模的质量。不同领域和问题可能需要不同的评价类模型,因此了解和熟练使用这些模型是建模过程中的重要一步。希望这篇文章能够帮助你更深入地了解和应用评价类模型。