2013年全国大学生数学建模
① 求2013全国大学生数学建模比赛A题思路,十分感谢!
此题为交通运输类问题,可以视作优化类问题,而且本题重点在于目标的选取和目标函数的建立,而最优值的求解反而不是问题的重点(因为哪里会发生交通事故、持续时间、车流量等等都是不可控制的参数,本题几乎没有可决策变量)。可以用到的知识有排队论,元胞自动机,模拟仿真等等,用这些手段来建立函数关系;
关键概念:通行能力,指单位时间内通过断面的最大车辆数TC(traffic capacity)=n/t=vd(n为通过车辆数,t是时间,v为车辆平均速度,d是道路宽度);
问题一:求出函数表达式TC=f(t),可以根据视频中的信息,隔一段时间求一次对应的TC值,再通过插值方法求出解f,或者深入研究事故发生时对车辆行进情况的变化机理来求解f,最后用图像或者解析式来表达出结果;
问题二:求出泛函数表达式TC=g(LN),LN表示车道编号或其组合,此处TC代表问题一中的f函数,这个处理和问题一是一样的,可以用的方法也可以是直接从视频中读取,可以得到LN=(1,2)或(2,3)时的TC关于t的函数,如果采用机理分析方法,如排队论,元胞自动机来仿真这个过程,则可以求出LN=1,2,3时的情况;比较有两种形式:
直观比较:将几个函数图像画在一起相互比较,就可以比较LN不同时,对通行能力的影响;
数量化比较:可以将LN不同时的TC关于t的函数作差后积分,求得不同堵车形式对总的通行车辆数的影响;
第三题。。。不让说的。。。
问题四:用问题三求出的函数表达式计算结果即可。
② 2013年全国大学生数学建模比赛B题第三问解题思路求指导说下可以用的方法就好谢谢.
第一问和第二问可以用灰度匹配模型,第三问用蚁群算法。我上传一些资料给你,希望对你有帮助吧。等我们队做完了,再把图片发给你。
③ 全国大学生数学建模竞赛,有何比赛规则
简单来说就是在规定的时间内(一般是连续的74小时)利用各种网上的资源、手里的书籍、资料等,组内人员可以互相讨论,最终以论文的方式提交最后的答案。但是要注意,除了组内人员,不能和其他人员讨论,被查到就按违规处理。
我刚刚参加过今年的全国大学生数学建模竞赛,下面可以详细说一下以上的几点。

最后说一下关于建模时的交流的问题,原则上是只允许你们组内人员讨论题目的,在比赛期间,学校的建模所有群都会开启禁言模式,当然,就算不开禁言,你也不能在群里面问问题,问了直接就被判违规了。有的同学可能会想着不在群里面问,而是去私戳某个大佬可以吗,其实这样的行为是很危险的,不能说每个问大佬的人都被判违规了,但是私戳别人问建模的问题也是很有可能被发现、判违规的,我身边这样的例子也不在少数,所以比赛的时候还是要好好遵守规则。
④ 2013全国大学生数学建模证书啥时下来
同学你好,各个赛区将于12月举行颁奖会,届时将会颁发所有证书。
查看原帖>>
⑤ 全国大学生数学建模竞赛,一般都有哪些问题
全国大学生数学建模竞赛肇始于1992年,一年一届,是目前全国规模最大、含金量最高的数学建模竞赛,也是世界上规模最大的数学建模竞赛。2020年,共有来自中国、美国、英国、马来西亚的1470所院校/校区的45680支队伍(本科41826队、专科3854队),共计13万多人报名参加比赛。

第三部分通常会有好几个需要回答的问题,通常有些问题需要给出确定性的答案,也就是根据模型得出的数学结果;后面则会有发散性的问题,要求给出优化方案等。
⑥ 2013年全国大学生数学建模成绩什么时候出来
赛区的结果,要看是哪个地区的,每个地区的时间不一样,国庆节前估计有10个省市公布结果,大部分要等到国庆节后才会公布。
全国的结果
当年竞赛结果(初稿)一般于当年11月中上旬发布(异议期两周),请耐心等待.
当年竞赛结果(正式稿)一般于当年11月下旬发布.
⑦ 求2013年数学建模国赛B题附件3拼接答案。题
去交流群看看,我找到代码了,可是执行不了。
clear;
I=imread('附件1');
if(isgray(I)==0)
disp('请输入灰度图像,本程序用来处理128 *128的灰度图像!');
else
if (size(I)~=[128,128])
disp('图像的大小不合程序要求!');
else
H.color=[1 1 1]; %设置白的画布
figure(H);imshow(I);
title('原图像');
zeroImage=repmat(uint8(0),[128 128]);
figure(H); %为分裂合并后显示的图设置画布
meansImageHandle=imshow(zeroImage);
title('块均值图像');
%%%%%设置分裂后图像的大小由于本图采用了128像素的图
blockSize=[128 64 32 16 8 4 2];
%%设置一个S稀疏矩阵用于四叉树分解后存诸数据
S=uint8(128);
S(128,128)=0;
threshold=input('请输入分裂的阈值(0--1):');%阈值
threshold=round(255*threshold);
M=128;dim=128;
%%%%%%%%%%%%%%%%% 分裂主程序%%%%%%%%%%%
while (dim>1)
[M,N] = size(I);
Sind = find(S == dim);
numBlocks = length(Sind);
if (numBlocks == 0)
%已完成
break;
end
rows = (0:dim-1)';
cols = 0:M:(dim-1)*M;
rows = rows(:,ones(1,dim));
cols = cols(ones(dim,1),:);
ind = rows + cols;
ind = ind(:);
tmp = repmat(Sind', length(ind), 1);
ind = ind(:, ones(1,numBlocks));
ind = ind + tmp;
blockValues= I(ind);
blockValues = reshape(blockValues, [dim dim numBlocks]);
if(isempty(Sind))
%已完成
break;
end
[i,j]=find(S);
set(meansImageHandle,'CData',ComputeMeans(I,S));
maxValues=max(max(blockValues,[],1),[],2);
minValues=min(min(blockValues,[],1),[],2);
doSplit=(double(maxValues)-double(minValues))>threshold;
dim=dim/2;
Sind=Sind(doSplit);
Sind=[Sind;Sind+dim;(Sind+M*dim);(Sind+(M+1)*dim)];
S(Sind)=dim;
end
[i,j]=find(S); % 用来寻找四叉机分解结果中大小为S的块的位置
set(meansImageHandle,'CData',ComputeMeans(I,S)); % 显示分解结果块均值图像
Numberofbloks=length(i); %计算块数
%sizev=size(v);
end
end
程序2
其实很简单的,看懂下面的语句:
PicName1='a.jpg'; % 要合并的图片1
PicName2='b.jpg'; % 要合并的图片2
PicOut='c.jpg'; %合并的结果
IV1=imread(PicName1); % 读入图片1
IV2=imread(PicName2); % 读入图片2
PicData=[IV1; IV2]; % 如果是纵向拼接用这个
PicData=[IV1 IV2]; % 如果是横向拼接用这个
imwrite(PicData, PicOut, 'Quality', 75); % 输出图形\附件1\');
if(isgray(I)==0)
disp('请输入灰度图像,本程序用来处理128 *128的灰度图像!');
else
if (size(I)~=[128,128])
disp('图像的大小不合程序要求!');
else
H.color=[1 1 1]; %设置白的画布
figure(H);imshow(I);
title('原图像');
zeroImage=repmat(uint8(0),[128 128]);
figure(H); %为分裂合并后显示的图设置画布
meansImageHandle=imshow(zeroImage);
title('块均值图像');
%%%%%设置分裂后图像的大小由于本图采用了128像素的图
blockSize=[128 64 32 16 8 4 2];
%%设置一个S稀疏矩阵用于四叉树分解后存诸数据
S=uint8(128);
S(128,128)=0;
threshold=input('请输入分裂的阈值(0--1):');%阈值
threshold=round(255*threshold);
M=128;dim=128;
%%%%%%%%%%%%%%%%% 分裂主程序%%%%%%%%%%%
while (dim>1)
[M,N] = size(I);
Sind = find(S == dim);
numBlocks = length(Sind);
if (numBlocks == 0)
%已完成
break;
end
rows = (0:dim-1)';
cols = 0:M:(dim-1)*M;
rows = rows(:,ones(1,dim));
cols = cols(ones(dim,1),:);
ind = rows + cols;
ind = ind(:);
tmp = repmat(Sind', length(ind), 1);
ind = ind(:, ones(1,numBlocks));
ind = ind + tmp;
blockValues= I(ind);
blockValues = reshape(blockValues, [dim dim numBlocks]);
if(isempty(Sind))
%已完成
break;
end
[i,j]=find(S);
set(meansImageHandle,'CData',ComputeMeans(I,S));
maxValues=max(max(blockValues,[],1),[],2);
minValues=min(min(blockValues,[],1),[],2);
doSplit=(double(maxValues)-double(minValues))>threshold;
dim=dim/2;
Sind=Sind(doSplit);
Sind=[Sind;Sind+dim;(Sind+M*dim);(Sind+(M+1)*dim)];
S(Sind)=dim;
end
[i,j]=find(S); % 用来寻找四叉机分解结果中大小为S的块的位置
set(meansImageHandle,'CData',ComputeMeans(I,S)); % 显示分解结果块均值图像
Numberofbloks=length(i); %计算块数
%sizev=size(v);
end
end
程序2
其实很简单的,看懂下面的语句:
PicName1='a.jpg'; % 要合并的图片1
PicName2='b.jpg'; % 要合并的图片2
PicOut='c.jpg'; %合并的结果
IV1=imread(PicName1); % 读入图片1
IV2=imread(PicName2); % 读入图片2
PicData=[IV1; IV2]; % 如果是纵向拼接用这个
PicData=[IV1 IV2]; % 如果是横向拼接用这个
imwrite(PicData, PicOut, 'Quality', 75); % 输出图形
【希望采纳】
⑧ 大学生数学建模比赛有哪些
有全国大学生数学建模竞赛、数学中国数学建模网络挑战赛、美国大学生数学建模竞赛、数学建模国际赛等,地区赛有华中赛、华东赛、东北赛、苏杯赛等。最近的比赛是2013年第六届数学中国数学建模网络挑战赛
⑨ 求2013全国大学生数学建模比赛A题思路
真心内部资料,部分内容公布出来
此题为交通运输类问题,可以视作优化类问题,而且本题重点在于目标的选取和目标函数的建立,而最优值的求解反而不是问题的重点(因为哪里会发生交通事故、持续时间、车流量等等都是不可控制的参数,本题几乎没有可决策变量)。可以用到的知识有排队论,元胞自动机,模拟仿真等等,用这些手段来建立函数关系;
关键概念:通行能力,指单位时间内通过断面的最大车辆数TC(trafficcapacity)=n/t=vd(n为通过车辆数,t是时间,v为车辆平均速度,d是道路宽度);
问题一:求出函数表达式TC=f(t),可以根据视频中的信息,隔一段时间求一次对应的TC值,再通过插值方法求出解f,或者。。。。。详见文章
如果大家都觉得好,评论过50了,我晚上加油搞,确定一下第三问的三种思路那种最好,明天改了再发。不过可能会精简一点。。。因为我会按照这个做的。。。
⑩ 急求2013年全国大学生数学建模竞赛B题 未发表、未获奖 的文章,悬赏50财富值
2013高教社杯全国大学生数学建模竞赛B题评阅要点[说明]本要点仅供参考,各赛区评阅组应根据对题目的理解及学生的解答,自主地进行评阅。本题要求对数据提取合适的特征、建立合理有效的碎纸片拼接复原模型。可以考虑的特征有邻边灰度向量的匹配、按行或按列对灰度求和、行距等。关于算法模型,必须有具体的算法过程(如流程图、算法描述、伪代码等)及设计原理。虽然正确的复原结果是唯一的,但不能仅从学生提供的复原效果来评定学生解答的好坏,而应根据所建的数学模型、求解方法和计算结果(如复原率)三方面的内容做出评判。另一方面,评判中还需要考虑人工干预的多少和干预时间节点的合理性。问题1.仅有纵切文本的复原问题由于“仅有纵切”,碎纸片较大,所以信息特征较明显。一种比较直观的建模方法是:按照某种特征定义两条碎片间的(非对称)距离,采用最优Hamilton路或最优Hamilton圈(即TSP)的思想建立优化模型。关于TSP的求解方法有很多,学生在求解过程中需要注意到非对称距离矩阵或者是有向图等特点。还可能有种种优化模型与算法,只要模型合理,复原效果好,都应当认可。本问题相对简单,复原过程可以不需要人工干预,复原率可以接近或达到100%。问题2. 有横、纵切文本的复原问题一种较直观的建模方法是:首先利用文本文件的行信息特征,建立同一行碎片的聚类模型。在得到行聚类结果后,再利用类似于问题1中的方法完成每行碎片的排序工作。最后对排序后的行,再作纵向排序。本问题的解法也是多种多样的,应视模型和方法的合理性、创新性及有效性进行评分。例如,考虑四邻近距离图,碎片逐步增长,也是一种较为自然的想法。问题3.正反两面文本的复原问题这个问题是问题2的继续,基本解决方法与问题2方法相同。但不同的是:这里需要充分利用双面文本的特征信息。该特征信息利用得好,可以提升复原率。 在阅卷过程中,可以考虑学生对问题的扩展。例如,在模型的检验中,如果学生能够自行构造碎片,用以检验与评价本队提出的拼接复原模型的复原效果,可考虑适当加分。阅卷时应有程序,程序的运行结果应和论文给出的结果一致。clear %释放空间clc %清屏%图片数据读取left_col = [];right_col = [];for fp = 0 : 208 str = int2str(fp); if fp < 10 name = ['0' '0' str '.bmp']; elseif fp >= 10 & fp < 100 name = ['0' str '.bmp']; else name = [str '.bmp']; end a = imread(name); [m,n] = size(a); left_col = [left_col a(:,1)]; right_col = [right_col a(:,n)];end%读取完毕left_col = double(left_col);%类型转换right_col = double(right_col);% 找纸片最左边(left_col)像素全为255(空白)的所有列row = 1;for bi=1:209; number=length(find(left_col(:,bi)==255)); if number == 180 S(row,1)=bi;%保存第一列像素为空(灰度值:255)的放在数组S第一列 row = row + 1; endendS = [S(:,1) zeros(row-1,18)];%矩阵初始化O = [ones(row-1,19)]; %初始化一个单位矩阵sign = 1;w = 0;for r=1:row-1;%行 for p=1:18;%列p+1 num = 10000000000;%使num足够大 for j=1:209; count = 0; count = length(find(S==j));%除去重复 if count ~= 0 continue; else blank = length(find(right_col(:,S(r,p)) == 255));%如果碎纸片右边界全为255(即空白),则跳出,终止此行后面拼接 if blank == 180 sign = 0; break;%跳出本循环,进入p循环 else ri=right_col(:,S(r,p));%计算左右拼接精确度 le=left_col(:,j); c=ri-le; c = c.^2; error=sum(c(:)); end if num >= error %找出差值最小的,精确度最高 num = error; w = j; end end end if sign == 0 sign = 1; break; %跳出p循环,进入r循环 else S(r,p+1)=w; %二维数组储存每个碎纸片拼接位置 end endendS = S - O; %数据整理,图片从000.bmp开始,数组下标从1开始//////////////////////////////////////////////////////////////////////////第三题碎纸片特征分类代码:clear %释放空间clc %清屏%图片数据读取char namea = (209,7);char nameb = (209,7);for fpa = 0 : 208 str = int2str(fpa); if fpa < 10 fpa = fpa + 1; namea(fpa,:) = ['0' '0' str 'a.bmp']; elseif fpa >= 10 & fpa < 100 fpa = fpa + 1; namea(fpa,:) = ['0' str 'a.bmp']; else fpa = fpa + 1; namea(fpa,:) = [str 'a.bmp']; endendfor afp = 1:209 a= imread(namea(afp,:)); fdataa(:,:,afp) = a;end%%%读取反面b的数据for fpb = 0 : 208 str = int2str(fpb); if fpb < 10 fpb = fpb + 1; nameb(fpb,:) = ['0' '0' str 'b.bmp']; elseif fpb >= 10 & fpb < 100 fpb = fpb + 1; nameb(fpb,:) = ['0' str 'b.bmp']; else fpb = fpb + 1; nameb(fpb,:) = [str 'b.bmp']; endendfor bfp = 1:209 b= imread(nameb(bfp,:)); fdatab(:,:,bfp) = b;end%读取完毕%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%qfdataa = ~fdataa; %取反qfdatab = ~fdatab; %取反for lj = 1:209 %行累加求和 Ldataa(:,lj) = sum(qfdataa(:,:,lj),2); %正面(a)累加求和 Ldatab(:,lj) = sum(qfdatab(:,:,lj),2); %反面(b)累加求和endLdataa(Ldataa>0)=1; %正面归一化Ldatab(Ldatab>0)=1; %反面归一化%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 数据分类 横向 正面(a)分类for flta = 1:209; for pflta = 1:209 numa = 0; for flha = 1:180; if Ldataa(flha,flta) == Ldataa(flha,pflta) numa = numa + 1; end end tsavea(flta,pflta) = numa; %保存每两张图片之间的匹配度 endend% 数据分类 横向 反面(b)分类for fltb = 1:209; for pfltb = 1:209 numb = 0; for flhb = 1:180; if Ldatab(flhb,fltb) == Ldatab(flhb,pfltb) numb = numb + 1; end end tsaveb(fltb,pfltb) = numb; %保存每两张图片之间的匹配度 endend%%%%%%%%%%%%%%%%%%%%%%%%总匹配度%tsave = (tsavea + tsaveb)/2;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 找纸片最左边(left_col)像素全为255(空白)的所有列% fdataa = double(fdataa);% fdatab = double(fdatab);row = 1;for bi=1:209; number=length(find(fdataa(:,1,bi)~=0 & fdatab(:,72,bi)~=0)); if number == 180 S(row,1)=bi;%保存第一列像素为空(灰度值:255)的放在数组S第一列 row = row + 1; endendS = [S(:,1) zeros(row-1,18)];%矩阵初始化O = [ones(row-1,19)]; %初始化一个单位矩阵%%%%%%%%%%%%%%%%%%
