【2013年高教社杯全国大学生数学建模竞赛赛题B】CUMCM2013B
2013年数学建模国赛b题

2013年数学建模国赛b题
摘要:
1.背景介绍:2009 年3 月合肥市非国有建筑专业职称资格评审通过人员名册
2.名册内容:通过人员名单、职称、资格等信息
3.意义:对非国有建筑行业的专业人才的肯定和鼓励
正文:
2009 年3 月,合肥市对非国有建筑专业职称资格进行了评审,并通过了一份详细的名册。
这份名册包含了通过人员名单、职称、资格等信息,是对非国有建筑行业的专业人才的肯定和鼓励。
在这个名册中,我们可以看到各位通过人员的姓名、工作单位、评审职称以及资格等信息。
他们经过了严格的评审,最终脱颖而出,获得了相应的职称资格。
这不仅是他们个人努力的结果,也是他们所在单位和行业的认可。
这份名册的意义不仅在于对个人的肯定,更在于对整个非国有建筑行业的
推动。
它鼓励了更多的专业人士积极投身于建筑行业,提高了整个行业的专业水平。
同时,它也为行业内外提供了一个参考,让人们更好地了解非国有建筑行业的发展和人才状况。
全国数学建模竞赛B题CUMCMB

2013高教社杯全国大学生数学建模竞赛题目(请先阅读“全国大学生数学建模竞赛论文格式规范”)B题碎纸片的拼接复原破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。
传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。
特别是当碎片数量巨大,人工拼接很难在短时间内完成任务。
随着计算机技术的发展,人们试图开发碎纸片的自动拼接技术,以提高拼接复原效率。
请讨论以下问题:1.对于给定的来自同一页印刷文字文件的碎纸机破碎纸片(仅纵切),建立碎纸片拼接复原模型和算法,并针对附件1、附件2给出的中、英文各一页文件的碎片数据进行拼接复原。
如果复原过程需要人工干预,请写出干预方式及干预的时间节点。
复原结果以图片形式及表格形式表达(见【结果表达格式说明】)。
2.对于碎纸机既纵切又横切的情形,请设计碎纸片拼接复原模型和算法,并针对附件3、附件4给出的中、英文各一页文件的碎片数据进行拼接复原。
如果复原过程需要人工干预,请写出干预方式及干预的时间节点。
复原结果表达要求同上。
3.上述所给碎片数据均为单面打印文件,从现实情形出发,还可能有双面打印文件的碎纸片拼接复原问题需要解决。
附件5给出的是一页英文印刷文字双面打印文件的碎片数据。
请尝试设计相应的碎纸片拼接复原模型与算法,并就附件5的碎片数据给出拼接复原结果,结果表达要求同上。
【数据文件说明】(1)每一附件为同一页纸的碎片数据。
(2)附件1、附件2为纵切碎片数据,每页纸被切为19条碎片。
(3)附件3、附件4为纵横切碎片数据,每页纸被切为11×19个碎片。
(4)附件5为纵横切碎片数据,每页纸被切为11×19个碎片,每个碎片有正反两面。
该附件中每一碎片对应两个文件,共有2×11×19个文件,例如,第一个碎片的两面分别对应文件000a、000b。
【结果表达格式说明】复原图片放入附录中,表格表达格式如下:(1)附件1、附件2的结果:将碎片序号按复原后顺序填入1×19的表格;(2)附件3、附件4的结果:将碎片序号按复原后顺序填入11×19的表格;(3)附件5的结果:将碎片序号按复原后顺序填入两个11×19的表格;(4)不能确定复原位置的碎片,可不填入上述表格,单独列表。
13年数模B题代码

附件1代码:I1=cell(1);I2=cell(1);for i=1:10I1{1,i}=imread(['C:\Users\Administrator\Desktop\all2013\cumcm2013problems\B\附件1\00',num2str(i-1),'.bmp']);endfor i=11:19I1{1,i}=imread(['C:\Users\Administrator\Desktop\all2013\cumcm2013problems\B\附件1\0',num2str(i-1),'.bmp']);endfor temp=1:size(I1,2)for i=1:size(I1{temp},1)for j=1:size(I1{temp},2)if(I1{temp}(i,j)~=255)I2{temp}(i,j)=0;elseI2{temp}(i,j)=1;endendendendstart=0;for i=1:size(I2,2)n=0;for j=1:size(I2{i},1)if(I2{i}(j,1)==1)n = n + 1;endendif(n==size(I2{i},1))start=i;break;endendstart1=start;f=zeros(size(I2,2),1);f(start)=1;ornum=1;order(ornum)=start1;for t=1:size(I2,2)-1for i=1:size(I2,2)if(f(i)~=1)temp(i)=0;for j=1:size(I2{start},1)temp(i)=temp(i)+abs(I2{start}(j, size(I2{start},2)) - I2{i}(j,1));endelsetemp(i)=1000000;endend[tt order(ornum)]=min(temp);f(order(ornum))=1;start=order(ornum);ornum=ornum+1;endorderI1=cell(1);for i=0:18I1{1,i+1}=imread(sprintf('C:\\Documents and Settings\\Administrator\\桌面\\all2013\\cumcm2013problems\\B\\附件1\\%03d.bmp',i));endA=[]for i=1:19A=[A,I1{seq(i)}];endimshow(A)附件2:I1=cell(1);I2=cell(1);for i=1:10I1{1,i}=imread([' C:\Users\Administrator\Desktop\all2013\cumcm2013problems\B\附件2\00',num2str(i-1),'.bmp']);endfor i=11:19I1{1,i}=imread([' C:\Users\Administrator\Desktop\all2013\cumcm2013problems\B\附件2\0',num2str(i-1),'.bmp']);endfor temp=1:size(I1,2)for i=1:size(I1{temp},1)for j=1:size(I1{temp},2)if(I1{temp}(i,j)~=255)I2{temp}(i,j)=0;elseI2{temp}(i,j)=1;endendendendstart=0;for i=1:size(I2,2)n=0;for j=1:size(I2{i},1)if(I2{i}(j,1)==1)n = n + 1;endendif(n==size(I2{i},1))start=i;break;endendstart1=startf=zeros(size(I2,2),1);f(start)=1;ornum=1;order(ornum)=start1;for t=1:size(I2,2)-1for i=1:size(I2,2)if(f(i)~=1)temp(i)=0;for j=1:size(I2{start},1)temp(i)=temp(i)+abs(I2{start}(j, size(I2{start},2)) - I2{i}(j,1));endelsetemp(i)=1000000;endend[t order(ornum)]=min(temp);f(order(ornum))=1;start=order(ornum);ornum=ornum+1;endorderI1=cell(1);for i=0:18I1{1,i+1}=imread(sprintf('C:\\Documents and Settings\\Administrator\\桌面\\all2013\\cumcm2013problems\\B\\附件2\\%03d.bmp',i));endA=[]for i=1:19A=[A,I1{seq(i)}];endimshow(A)附件3:I1=cell(1);I2=cell(1);for i=1:10I1{1,i}=imread([' C:\Users\Administrator\Desktop\all2013\cumcm2013problems\B\附件3\00',num2str(i-1),'.bmp']);endfor i=11:100I1{1,i}=imread([' C:\Users\Administrator\Desktop\all2013\cumcm2013problems\B\附件3\0',num2str(i-1),'.bmp']);endfor i=101:209I1{1,i}=imread([' C:\Users\Administrator\Desktop\all2013\cumcm2013problems\B\附件3\',num2str(i-1),'.bmp']);endfor temp=1:size(I1,2)for i=1:size(I1{temp},1)for j=1:size(I1{temp},2)if(I1{temp}(i,j)<225)I2{temp}(i,j)=0;elseI2{temp}(i,j)=1;endendendendstart=0;for i=1:size(I2,2)temp=zeros(size(I2{i},1),1);for k=1:size(I2{i},1)for j=1:size(I2{i},2)if(I2{i}(k,j)==0)temp(k)=temp(k)+1;endendendwh(i)=0;for k=1:size(I2{i},1)if(temp(k) >= 1)break;elsewh(i)=wh(i)+1;endendendttemp=[];for i=1:size(wh,2)if(wh(i)>35&&wh(i)<50)ttemp=[ttemp,i];endendttempI3=cell(1);for i=1:19for k=1:size(I2{i},1)for j=1:size(I2{i},2)I3{i}(k,j)=I2{ttemp(i)}(k,j);endendendstart=0;for i=1:size(I3,2)n=0;for j=1:size(I3{i},1)if(I3{i}(j,1)==1)n = n + 1;endendif(n==size(I3{i},1))start=i;break;endendtemp=zeros(size(I3,2),1);flag=zeros(size(I3,2),1);flag(start)=1;ornum=1;order(ornum)=start;for t=1:size(I3,2)-1for i=1:size(I3,2)if(flag(i)~=1)temp(i)=0;for j=1:size(I3{start},1)temp(i)=temp(i)+abs(I3{start}(j, size(I3{start},2)) - I3{i}(j,1));endelsetemp(i)=1000000;endendornum=ornum+1;[tt order(ornum)]=min(temp);flag(order(ornum))=1;start=order(ornum);endfor i=1:19ab(i)=ttemp(order(i));endabI1=cell(1);I2=cell(1);for i=1:10I1{1,i}=imread([' C:\Users\Administrator\Desktop\all2013\cumcm2013problems\B\附件3\00',num2str(i-1),'.bmp']);endfor i=11:100I1{1,i}=imread([' C:\Users\Administrator\Desktop\all2013\cumcm2013problems\B\附件3\0',num2str(i-1),'.bmp']);endfor i=101:209I1{1,i}=imread([' C:\Users\Administrator\Desktop\all2013\cumcm2013problems\B\附件3\',num2str(i-1),'.bmp']);endfor temp=1:size(I1,2)for i=1:size(I1{temp},1)for j=1:size(I1{temp},2)if(I1{temp}(i,j)<225)I2{temp}(i,j)=0;elseI2{temp}(i,j)=1;endendendendstart=0;for i=1:size(I2,2)temp=zeros(size(I2{i},2),1);for k=1:size(I2{i},1)for j=1:size(I2{i},2)if(I2{i}(k,j)==0)temp(j)=temp(j)+1;endendendwh(i)=0;for k=1:size(I2{i},2)if(temp(k) >= 1)break;elsewh(i)=wh(i)+1;endendendttemp=[];for i=1:size(wh,2)if(wh(i)>10)ttemp=[ttemp,i];endendttempimgs=cell(1);imgst=cell(1);for i=1:19imgst{i}=I1{ab(i)};endA=[7 20 21 37 46 53 64 68 69 70 73 79 80 84 86 97 100 117 127 132 163 164 171 178 203];for i=1:length(A)imgs{i}=I1{A(i)};endleftimg=I1{62};temp=zeros(length(A),1);f=zeros(length(A),1);order=[];order(1)=62; num=1;for num=1:18for i=1:length(A)if(f(i)~=1)temp(i)=sum(abs(double(leftimg(:,size(leftimg,2))) - double(I1{A(i)}(:,1))));temp(i)=temp(i)+sum(abs(double(imgst{num+1}(size(imgst{num+1},1),:)) - double(I1{A(i)}(1,:))));elsetemp(i)=99999;endend[tt order(length(order)+1)]=min(temp);f(order(length(order)))=1;leftimg=I1{A(order(length(order)))};endC1=[I1{62}];USE(62)=1;for i=2:19C1=[C1,I1{A(order(i))}];A(order(i))USE(A(order(i)))=1;endC=[C;C1];imshow(C)imgst=cell(1);imgst{1}=I1{62};for i=2:19imgst{i}=I1{A(order(i))};endA=[2 13 19 24 27 31 32 40 42 51 52 63 74 77 83 87 88 101 108 116 121 129 143 148 160 161 170 177 180 192 196 204];for i=1:length(A)imgs{i}=I1{A(i)};endleftimg=I1{169};temp=zeros(length(A),1);f=zeros(length(A),1);order=[];order(1)=169; num=1;for num=1:18for i=1:length(A)if(f(i)~=1)temp(i)=sum(abs(double(leftimg(:,size(leftimg,2))) - double(I1{A(i)}(:,1))));temp(i)=temp(i)+sum(abs(double(imgst{num+1}(size(imgst{num+1},1),:)) - double(I1{A(i)}(1,:))));elsetemp(i)=99999;endend[tt1 j1]=min(temp);%temp(j1)=99999;order(length(order)+1)=j1;f(order(length(order)))=1;leftimg=I1{A(order(length(order)))};endorderorder(19)=3;order(18)=17;C2=[I1{169}];USE(169)=1;for i=2:19C2=[C2,I1{A(order(i))}];A(order(i))USE(A(order(i)))=1;endC=[C;C2];imshow(C)leftimg=I1{39};A=[]start=39;pra=2;for i=1:209if USE(i)==0if (fs(i,1)==fs(start,1) & abs(fs(i,2)-fs(start,2))<=pra || fs2(i,1)==fs2(start,1) & abs(fs2(i,2)-fs2(start,2))<=pra)A=[A i];endendendtemp=zeros(length(A),1);f=zeros(length(A),1);order=[];order(1)=39; num=1;for num=1:18for i=1:length(A)if(f(i)~=1)temp(i)=sum(abs(double(leftimg(:,size(leftimg,2))) - double(I1{A(i)}(:,1))));temp(i)=temp(i)+sum(abs(double(imgst{num+1}(size(imgst{num+1},1),:)) - double(I1{A(i)}(1,:))));elsetemp(i)=99999;endend[tt1 j1]=min(temp);%temp(j1)=99999;order(length(order)+1)=j1;f(order(length(order)))=1;leftimg=I1{A(order(length(order)))};endorderC3=[I1{39}];USE(39)=1;for i=2:19C3=[C3,I1{A(order(i))}];A(order(i))USE(A(order(i)))=1;endC=[C;C3];imshow(C)leftimg=I1{15};A=[]start=15;pra=2;for i=1:209if USE(i)==0if (fs(i,1)==fs(start,1) & abs(fs(i,2)-fs(start,2))<=pra || fs2(i,1)==fs2(start,1) & abs(fs2(i,2)-fs2(start,2))<=pra) & i~=177A=[A i];endendendtemp=zeros(length(A),1);f=zeros(length(A),1);order=[];order(1)=15; num=1;start=15;for num=1:18for i=1:length(A)if(f(i)~=1)if 0==fs(start,1) & 0==fs(A(i),1) & fs(A(i),2)>fs(start,2)+2temp(i)=99999;elsetemp(i)=sum(abs(double(leftimg(:,size(leftimg,2))) - double(I1{A(i)}(:,1))));temp(i)=temp(i)+sum(abs(double(imgst{num+1}(size(imgst{num+1},1),:)) - double(I1{A(i)}(1,:))));endelsetemp(i)=99999;endend[tt1 j1]=min(temp);%temp(j1)=99999;order(length(order)+1)=j1;start=A(j1);f(order(length(order)))=1;leftimg=I1{A(order(length(order)))};endorderC4=[I1{15}];USE(15)=1;for i=2:19C4=[C4,I1{A(order(i))}];A(order(i))USE(A(order(i)))=1;endC=[C;C4];imshow(C)imgst=cell(1);%imgst{1}=I1{169};for i=1:19imgst{i}=I1{order(i)+1};endleftimg=I1{95};A=[];%USE(95)=1;start=95;pra=2;for i=1:209if USE(i)==0if (fs(i,1)==fs(start,1) & abs(fs(i,2)-fs(start,2))<=pra || fs2(i,1)==fs2(start,1) & abs(fs2(i,2)-fs2(start,2))<=pra)A=[A i];endendendtemp=zeros(length(A),1);f=zeros(length(A),1);order=[];order(1)=95; num=1;for num=1:18for i=1:length(A)if(f(i)~=1)temp(i)=sum(abs(double(leftimg(:,size(leftimg,2))) - double(I1{A(i)}(:,1))));temp(i)=temp(i)+sum(abs(double(imgst{num+1}(size(imgst{num+1},1),:)) - double(I1{A(i)}(1,:))));elsetemp(i)=99999;endend[tt1 j1]=min(temp);%temp(j1)=99999;order(length(order)+1)=j1;f(order(length(order)))=1;leftimg=I1{A(order(length(order)))};endorderC5=[I1{95}];USE(95)=1;for i=2:19if(i~=6)C5=[C5,I1{A(order(i))}];A(order(i))USE(A(order(i)))=1;elseC5=[C5,I1{48}];USE(48)=1;48endendC=[C;C5];imshow(C)imgst=cell(1);imgst{1}=I1{95};for i=2:19%order(i)%A(order(i))imgst{i}=I1{A(order(i))};endimgst{6}=I1{48};leftimg=I1{126};A=[];start=126;pra=2;for i=1:209if USE(i)==0if (fs(i,1)==fs(start,1) & abs(fs(i,2)-fs(start,2))<=pra || fs2(i,1)==fs2(start,1) & abs(fs2(i,2)-fs2(start,2))<=pra)A=[A i];endendendtemp=zeros(length(A),1);f=zeros(length(A),1);order=[];order(1)=126; num=1;for num=1:18for i=1:length(A)if(f(i)~=1)temp(i)=sum(abs(double(leftimg(:,size(leftimg,2))) - double(I1{A(i)}(:,1))));temp(i)=temp(i)+sum(abs(double(imgst{num+1}(size(imgst{num+1},1),:)) - double(I1{A(i)}(1,:))));elsetemp(i)=99999;endend[tt1 j1]=min(temp);%temp(j1)=99999;order(length(order)+1)=j1;start=A(j1);f(order(length(order)))=1;leftimg=I1{A(order(length(order)))};endorderC6=[I1{126}];USE(126)=1;for i=2:19C6=[C6,I1{A(order(i))}];A(order(i))USE(A(order(i)))=1;endC=[C;C6];imshow(C)imgst=cell(1);%imgst{1}=I1{169};for i=1:19imgst{i}=I1{order(i)+1};endleftimg=I1{30};A=[];%USE(95)=1;start=30;pra=5;for i=1:209if USE(i)==0if (fs(i,1)==fs(start,1) & abs(fs(i,2)-fs(start,2))<=pra || fs2(i,1)==fs2(start,1) & abs(fs2(i,2)-fs2(start,2))<=pra)A=[A i];endendendtemp=zeros(length(A),1);f=zeros(length(A),1);order=[];order(1)=30; num=1;for num=1:18for i=1:length(A)if(f(i)~=1)temp(i)=sum(abs(double(leftimg(:,size(leftimg,2))) - double(I1{A(i)}(:,1))));temp(i)=temp(i)+sum(abs(double(imgst{num+1}(size(imgst{num+1},1),:)) - double(I1{A(i)}(1,:))));elsetemp(i)=99999;endend[tt1 j1]=min(temp);%temp(j1)=99999;order(length(order)+1)=j1;f(order(length(order)))=1;leftimg=I1{A(order(length(order)))};endorderC7=[I1{30}];USE(30)=1;for i=2:19C7=[C7,I1{A(order(i))}];A(order(i))USE(A(order(i)))=1;endC=[C;C7];imshow(C)imgst=cell(1);imgst{1}=I1{30};for i=2:19imgst{i}=I1{order(i)};endleftimg=I1{209};A=[];USE(8)=1;USE(209)=1;start=8;pra=3;for i=1:209if USE(i)==0if (fs(i,1)==fs(start,1) & abs(fs(i,2)-fs(start,2))<=pra || fs2(i,1)==fs2(start,1) & abs(fs2(i,2)-fs2(start,2))<=pra)A=[A i];endendendtemp=zeros(length(A),1);f=zeros(length(A),1);order=[];order(1)=8; order(2)=209; num=1;for num=1:17for i=1:length(A)if(f(i)~=1)temp(i)=sum(abs(double(leftimg(:,size(leftimg,2))) - double(I1{A(i)}(:,1))));temp(i)=temp(i)+sum(abs(double(imgst{num+1}(size(imgst{num+1},1),:)) - double(I1{A(i)}(1,:))));elsetemp(i)=99999;endend[tt1 j1]=min(temp);%temp(j1)=99999;order(length(order)+1)=j1;f(order(length(order)))=1;leftimg=I1{A(order(length(order)))};endorderC8=[I1{8},I1{209}];USE(8)=1;for i=3:19C8=[C8,I1{A(order(i))}];A(order(i))USE(A(order(i)))=1;endC=[C;C8];imshow(C)f=zeros(209,1);for i=1:19f(ab(i))=1;endfor i=1:209if(f(i)==0)cat=[cat,i];endendI4;leftI=I1{62};start=7;temp=zeros(size(cat,2),1);f=zeros(size(cat,2),1);f(start)=1;ornum=1;order(ornum)=start; ttt=2;for t=1:size(cat,2)-1for i=1:size(cat,2)if(f(i)~=1)temp(i)=0;for j=1:size(leftI,1)temp(i)=temp(i)+abs(leftI(j, size(leftI,2)) - double(I1{cat(i)}(j,1)));endelsetemp(i)=99999;endendornum=ornum+1;[tt order(ornum)]=min(temp);f(order(ornum))=1;leftI=I1{order(ornum)}; ttt=ttt+1;if ttt>19 break; endendfor i=1:19cat2(i)=cat(order(i));endC=[];for i=1:19C=[C,I1{cat2(i)}];endimshow(C)附件4:function [re,high] = bottom(img) t=[];high=0;for i=1:size(img,1)t=[t,sum(img(i,:))];endi=1;while t(i)~=0 & i < length(t) i=i+1;endwhile t(i)==0 & i < length(t) i=i+1;endi1=i;while t(i)~=0 & i < length(t) i=i+1;endi2=i;while i2-i1 <= 20 & i < length(t)while t(i)==0 & i < length(t) i=i+1;endi1=i;while t(i)~=0 & i < length(t) i=i+1;endi2=i;endif i >= length(t)re=0; return;end %出错if abs(i2-i1-25)<=2re=i2; high=i2-i1; return;end %标准字母if abs(i2-i1-36)<=1re=i2; high=i2-i1; return;end %大写字母step=25;for k=1:size(img,2)-stepa=[];for i=i1:i2a=[a,sum(img(i,k:k+step))];endi=1; while a(i)==0 & i < length(a) i=i+1;endii1=i;i=length(a); while a(i)==0 & i > 0 i=i-1;endii2=i;if abs(ii2-ii1-25)<=2re=i1+ii2-1; high=ii2-ii1; return;endendre=0;endp=[cats{4},cats{1},cats{7},cats{10},cats{11}];left=133;p1=[172 43 67 206 11 158 75 146 84 135 56 19 57 36 17 10 184 153 45 20 195 94 142 89 122 127 106 156 115 177 183 152 23 58 203 72 166 83];p1=[p1,[82 78 129 201 132 53 126 141 194 88 90 49 73 13 178 125 1 103 116 160 140 2 130 64 139 154 54 39 124 121 176 86 51 161 188 98 204 32]];Us=zeros(209,1);Us(left)=1;for i=1:length(p1)Us(p1(i))=1;endimgs=cell(1);imgst=cell(1);for i=1:length(p)imgs{i}=img{p(i)};endp=[cats{8},cats{1},cats{7},cats{10},cats{11}];left=20;imgs=cell(1);imgst=cell(1);Us=zeros(209,1);for i=1:length(p)imgs{i}=img{p(i)};endleftimg=img{left};temp=zeros(length(p),1);flag=zeros(length(p),1);order=[];order(1)=left; num=1;for num=1:18for i=1:length(p)if(flag(i)~=1&Us(p(i))==0)temp(i)=sum(abs(double(leftimg(:,size(leftimg,2))) - double(img{p(i)}(:,1))));%temp(i)=temp(i)+sum(abs(double(imgst{num+1}(size(imgst{num+1},1),:)) - double(I1{A(i)}(1,:))));elsetemp(i)=99999;endendwhile 1[tt ttt]=min(temp);C1=[img{left}];C=[];for i=2:length(order)C1=[C1,img{p(order(i))}];endC1=[C1,img{p(ttt)}];C=[C;C1];imshow(C)reply = input('Ready? Y/N [Y]: ', 's');if isempty(reply) break;else temp(ttt)=99999;endendUs(ttt)=1;order(length(order)+1)=ttt;flag(order(length(order)))=1;leftimg=img{p(order(length(order)))};endC1=[img{left}];C=[];re=[left];for i=2:19C1=[C1,img{p(order(i))}]; re=[re,p(order(i))];endreC=[C;C1];imshow(C)leftimg=img{left};temp=zeros(length(p),1);flag=zeros(length(p),1);order=[];order(1)=left; num=1;for num=1:18for i=1:length(p)if(flag(i)~=1 && Us(p(i))==0)temp(i)=sum(abs(double(leftimg(:,size(leftimg,2))) - double(img{p(i)}(:,1))));%temp(i)=temp(i)+sum(abs(double(imgst{num+1}(size(imgst{num+1},1),:)) - double(I1{A(i)}(1,:))));elsetemp(i)=99999;endendwhile 1[tt ttt]=min(temp);C1=[img{left}];C=[];for i=2:length(order)C1=[C1,img{p(order(i))}];endC1=[C1,img{p(ttt)}];C=[C;C1];imshow(C)reply = input('Ready? Y/N [Y]: ', 's');if isempty(reply) break;else temp(ttt)=99999;endendUs(ttt)=1;order(length(order)+1)=ttt;flag(order(length(order)))=1;leftimg=img{p(order(length(order)))};endC1=[img{left}];C=[];re=[left];for i=2:19C1=[C1,img{p(order(i))}]; re=[re,p(order(i))];Us(p(order(i)))=1;endreC=[C;C1];imshow(C)p=[1:209];left=1;p1=[20 195 94 142 89 122 127 106 156 115 177 183 152 23 58 203 72 166 83];%1p1=[p1,[172 43 67 206 11 158 75 146 84 135 56 19 57 36 17 10 184 153 45]];%2p1=[p1,[82 78 129 201 132 53 126 141 194 88 90 49 73 13 178 125 1 103 116]];%3p1=[p1,[160 140 2 130 64 139 154 54 39 124 121 176 86 51 161 188 98 204 32]];%4p1=[p1,[133 182 96 70 168 164 167 189 112 145 207 4 131 35 14 111 26 28 179]];%5p1=[p1,[87 52 108 30 41 159 187 99 25 118 151 660 59 93 31 38 47 128]];%6p1=[p1,[209 22 8 50 62 120 34 143 169 63 170 55 193 134 119 190 163 198 113]];%7p1=[p1,[202 149 171 197 199 95 114 165 79 104 92 81 102 27 101 7 18 29 147]];%8p1=[p1,[192 76 12 155 191 185 3 105 181 65 107 5 150 33 205 66 40 68 148]];%9p1=[p1,[71 85 61 15 69 175 138 196 9 48 173 157 97 24 100 123 91 186 110]];%10Us=zeros(209,1);Us(left)=1;for i=1:length(p1)Us(p1(i))=1;endimgs=cell(1);imgst=cell(1);for i=1:length(p)imgs{i}=img{p(i)};endleftimg=img{left};temp=zeros(length(p),1);flag=zeros(length(p),1);order=[];order(1)=left; num=1;for num=1:18for i=1:length(p)if(flag(i)~=1 && Us(p(i))==0)temp(i)=sum(abs(double(leftimg(:,size(leftimg,2))) - double(img{p(i)}(:,1))));%temp(i)=temp(i)+sum(abs(double(imgst{num+1}(size(imgst{num+1},1),:)) - double(I1{A(i)}(1,:))));elsetemp(i)=99999;endendwhile 1[tt ttt]=min(temp);C1=[img{left}];C=[];for i=2:length(order)C1=[C1,img{p(order(i))}];endC1=[C1,img{p(ttt)}];C=[C;C1];imshow(C)reply = input('Ready? Y/N [Y]: ', 's');if isempty(reply) break;else temp(ttt)=99999;endendUs(ttt)=1;order(length(order)+1)=ttt;flag(order(length(order)))=1;leftimg=img{p(order(length(order)))};endC1=[img{left}];C=[];re=[left];for i=2:19C1=[C1,img{p(order(i))}]; re=[re,p(order(i))];Us(p(order(i)))=1;endreC=[C;C1];imshow(C)img=cell(1);img2=cell(1);for i=0:208img{1,i+1}=imread(sprintf('C:\\Documents and Settings\\Administrator\\桌面\\all2013\\cumcm2013problems\\B\\附件4\\%03d.bmp',i));endfor i=1:209img2{1,i}=double(img{1,i});endd=[];for j=1:11C=[]for i=1:19C=[C,img{aaa(j,i)+1}];endd=[d;C];endimshow(d)附件5:bs=zeros(209,1);f=zeros(209,1);for i=1:209bs(i)=bottom(img2{i});endcats=cell(1);cats{1}=[28 64 118 136 16 97 101 102 108 121 141 148 191 203];n=1;for i=1:length(cats{1})f(cats{1}(i))=1;endi=1;while i<=209while i<=209 & f(i)==1 i=i+1;endif i>209 break;endn=n+1;cats{n}=[i]; in=bs(i); f(i)=1;for j=1:209if f(j)==0if abs(bs(j)-in)<=3 cats{n}=[cats{n},j];f(j)=1;elseif abs(abs(bs(j)-in)-63)<=3 cats{n}=[cats{n},j];f(j)=1;elseif abs(abs(bs(j)-in)-126)<=3 cats{n}=[cats{n},j];f(j)=1;endendendi=i+1;endfor i=1:nfor j=1:length(cats{i})r=sprintf('d:\\a\\%da.bmp',cats{i}(j));w=sprintf('d:\\a\\新建文件夹(%d)\\%da.bmp',i,cats{i}(j));imwrite(imread(r),w);endendcatsstart=0;for i=1:size(img2,2)temp=zeros(size(img2{i},2),1);for k=1:size(img2{i},1)for j=1:size(img2{i},2)if(img2{i}(k,j)==1)temp(j)=temp(j)+1;endendendwh(i)=0;for k=1:size(img2{i},2)if(temp(k) >= 1)break;elsewh(i)=wh(i)+1;endendendttemp=[];for i=1:size(wh,2)if(wh(i)>=2)ttemp=[ttemp,i];endendttemp。
2013全国数学建模竞赛题目A-B

2013高教社杯全国大学生数学建模竞赛题目(请先阅读“全国大学生数学建模竞赛论文格式规范”)A题车道被占用对城市道路通行能力的影响车道被占用是指因交通事故、路边停车、占道施工等因素,导致车道或道路横断面通行能力在单位时间内降低的现象。
由于城市道路具有交通流密度大、连续性强等特点,一条车道被占用,也可能降低路段所有车道的通行能力,即使时间短,也可能引起车辆排队,出现交通阻塞。
如处理不当,甚至出现区域性拥堵。
车道被占用的情况种类繁多、复杂,正确估算车道被占用对城市道路通行能力的影响程度,将为交通管理部门正确引导车辆行驶、审批占道施工、设计道路渠化方案、设置路边停车位和设置非港湾式公交车站等提供理论依据。
视频1(附件1)和视频2(附件2)中的两个交通事故处于同一路段的同一横断面,且完全占用两条车道。
请研究以下问题:1.根据视频1(附件1),描述视频中交通事故发生至撤离期间,事故所处横断面实际通行能力的变化过程。
2.根据问题1所得结论,结合视频2(附件2),分析说明同一横断面交通事故所占车道不同对该横断面实际通行能力影响的差异。
3.构建数学模型,分析视频1(附件1)中交通事故所影响的路段车辆排队长度与事故横断面实际通行能力、事故持续时间、路段上游车流量间的关系。
4.假如视频1(附件1)中的交通事故所处横断面距离上游路口变为140米,路段下游方向需求不变,路段上游车流量为1500pcu/h,事故发生时车辆初始排队长度为零,且事故持续不撤离。
请估算,从事故发生开始,经过多长时间,车辆排队长度将到达上游路口。
附件1:视频1附件2:视频2附件3:视频1中交通事故位置示意图附件4:上游路口交通组织方案图附件5:上游路口信号配时方案图注:只考虑四轮及以上机动车、电瓶车的交通流量,且换算成标准车当量数。
附件3视频1中交通事故位置示意图附件4附件5上游路口信号配时方案本题附件1、2的数据量较大,请竞赛开始后从竞赛合作网站“中国大学生在线”网站下载:试题专题页面:/service/jianmo/index.shtml试题下载地址:/service/jianmo/sxjmtmhb/2013/0525/969401.shtml2013高教社杯全国大学生数学建模竞赛题目(请先阅读“全国大学生数学建模竞赛论文格式规范”)B题碎纸片的拼接复原破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。
2013高社杯全国大学生数学建模竞赛C题

2013高教社杯全国大学生数学建模竞赛承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A/B/C/D中选择一项填写): C 我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):参赛队员 (打印并签名) :1.2.3.指导教师或指导教师组负责人 (打印并签名):日期:年月日赛区评阅编号(由赛区组委会评阅前进行编号):2013高教社杯全国大学生数学建模竞赛编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):古塔的变形摘要:本文研究的古塔的变形问题,通过对问题背景及附件资料进行深入地分析,采用数据拟合、求平均值等方法整理出具有科学性的分析数据。
通过对建筑物位移监测数据处理方法的研究, 采用自回归模型对位移监测数据进行处理, 根据建立的模型对具体建筑物的监测点的位移变化量进行预报。
经过计算分析, 根据位移量之间变化的关系而建立的自回归预测模型具备较高的拟合及预测精度,运用三维坐标系和数学软件将古塔的模型以空间模型的形式表现出来,直观且科学,对于研究古塔的变形具有较高的科学性和说服性。
再通过三维坐标之间的回归和三维坐标与时间的回归而分析出古塔的倾斜,弯曲,扭曲等变形状况,通过数学软件的计算及列表列图的方法将结果直观体现,通过大量的计算与分析,运用几何和代数方法将古塔的变形量以数学的方式说明。
数学建模国赛2013年b题

数学建模国赛2013年b题(最新版)目录一、数学建模国赛 2013 年 b 题概述二、题目背景及要求三、解题思路与方法四、具体解题过程五、总结与展望正文【一、数学建模国赛 2013 年 b 题概述】数学建模国赛是一项面向全国大学生的竞技活动,旨在通过对现实问题进行抽象、建模和求解,培养学生的创新意识、团队协作精神和实际问题解决能力。
2013 年 b 题为该年度竞赛中的一道题目,具有一定的代表性和难度,本文将对此题进行分析和解答。
【二、题目背景及要求】2013 年 b 题的题目背景是关于某城市公交车站的乘客候车问题。
题目要求参赛选手建立一个数学模型,描述乘客的候车时间、乘客数量以及公交车的发车间隔等要素之间的关系,并通过模型求解在满足乘客舒适度的前提下,如何调整公交车的发车间隔,使得乘客的候车时间最短。
【三、解题思路与方法】针对这道题目,我们可以采用以下思路和方法:1.根据题目描述,建立乘客候车时间的数学模型。
我们可以将乘客的候车时间看作一个随机变量,其期望值表示乘客平均候车时间。
2.建立乘客数量与公交车发车间隔的关系。
根据题目描述,当公交车站内乘客数量超过一定阈值时,公交车会提前发车。
因此,我们可以将乘客数量作为一个影响发车间隔的因素。
3.利用数学方法求解最优的发车间隔。
根据乘客候车时间的数学模型和乘客数量与公交车发车间隔的关系,我们可以建立一个优化问题,求解在最小化乘客平均候车时间的前提下,公交车的最佳发车间隔。
【四、具体解题过程】具体解题过程如下:1.根据题目描述,建立乘客候车时间的数学模型。
假设乘客到达公交车站的间隔时间为{λ_i},每个乘客的候车时间为{t_i},则乘客平均候车时间为 E(t) = ∑(t_i * λ_i)。
2.建立乘客数量与公交车发车间隔的关系。
假设公交车发车间隔为Δt,当乘客数量超过阈值 K 时,公交车提前发车。
因此,我们可以得到以下关系式:E(t) = ∫(λ_i * min(t_i, Δt)) dλ_i + K * ∫(min(t_i, Δt - τ)) dλ_i,其中τ表示公交车提前发车的时间。
数学建模国赛2013年b题

数学建模国赛2013年b题【最新版】目录一、数学建模国赛 2013 年 b 题概述二、题目背景与要求三、题目分析与解题思路四、解答过程与结果五、总结与启示正文【一、数学建模国赛 2013 年 b 题概述】数学建模国赛是一项面向全国大学生的竞赛活动,旨在培养学生的创新意识、团队协作精神和实际问题解决能力。
2013 年的 b 题是关于传染病传播的动力学模型,要求参赛选手运用数学方法对传染病的传播进行建模和预测。
【二、题目背景与要求】传染病在全球范围内造成了巨大的经济损失和人员伤亡。
因此,研究传染病的传播规律,预测疫情发展趋势,对制定防控措施具有重要意义。
2013 年 b 题要求参赛选手建立一个传染病传播的动力学模型,并根据实际数据进行参数估计和模型验证,最终预测疫情在未来一段时间内的传播情况。
【三、题目分析与解题思路】传染病传播的动力学模型主要包括三个基本要素:感染者、易感者和康复者。
根据题目给出的数据,我们需要建立一个包含这三个要素的数学模型,并利用相关数学方法对模型进行求解。
【四、解答过程与结果】解答过程主要包括以下几个步骤:1.根据题目描述,确定感染者、易感者和康复者之间的转换关系。
2.根据实际数据,建立初始值和边界条件。
3.利用微分方程等数学方法,求解模型。
4.对模型进行参数估计和模型验证。
5.根据模型预测疫情在未来一段时间内的传播情况。
通过以上步骤,我们可以得到传染病在未来一段时间内的传播趋势,从而为政府和相关部门制定防控措施提供科学依据。
【五、总结与启示】数学建模国赛 2013 年 b 题的解答过程充分体现了数学方法在解决实际问题中的应用价值。
通过参加此类竞赛,学生可以提高自己的数学素养、团队协作精神和创新能力。
2013全国大学生数学建模竞赛 2

承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。
如有违反竞赛规则的行为,我们将受到严肃处理。
我们参赛选择的题号是(从A/B/C/D中选择一项填写): B我们的参赛报名号为(如果赛区设置报名号的话):甲所属学校(请填写完整的全名):曲阜师范大学日照校区参赛队员 (打印并签名) :1. 文志勇2. 周祥亮3. 步巧凤指导教师或指导教师组负责人 (打印并签名):邢丽红日期:2013年9月13 日编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):碎纸片的拼接复原摘要本文对文字(中文或者英文)碎片的自动拼接问题展开研究,介绍了文字碎片预处理及碎片拼接的理论与技术,并重点研究了碎片拼接的核心问题文字碎片匹配,文中提出了一种基于???匹配算法,用于获得文字碎片最可能的拼接结果,并将该算法与多尺度空间结合,提高计算效率与现有的曲率序列匹配算法相比,角序列匹配算法不但有效地解决了文字碎片在拼合过程中的模糊识别问题,且提高了计算效率,最后,本文应用Matlab程序设计,实现了文字碎片的自动拼接。
图像碎片拼接的方法很多,根据特征可以分为基于色彩!纹理!材质!轮廓等图像碎片拼接;根据形状特征又可以分为规则图像碎片和不规则图像碎片的拼接;根据空间特征还可分为二维图像碎片拼接和三维图像碎片拼接"图像碎片拼接的主要工作流程可概括为以下三个步骤:(l)对图像碎片进行预处理,即对物体碎片数字化,得到碎片的数字图像"(2)图像碎片匹配,通过匹配算法找到相互匹配的图像碎片"(3)图像碎片的拼接合并,将相互匹配的图像碎片拼接在一起得到最终的结果"其中,最重要的就是第二步图像碎片匹配"图像碎片匹配是图像碎片拼接的核心问题,是学术研究的前沿问题,这个问题的研究是模式识别技术的一个新的拓展,更好的促进模式识别方法的发展"因此图像碎片匹配的研究工作具有重要的理论和现实意义,也是本文的研究重点"提供了一种典型的解决平面图像碎片匹配算法"它定义一个判别式,把不符合判别式的一对对侯选匹配通过多尺度方法逐步从原可能匹配的集合中删除,最后剩下的少量匹配对可能就是真正匹配的图像碎片对对于问题1我们用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国大学生数学建模竞赛真题试卷复习材料2013高教社杯全国大学生数学建模竞赛题目(请先阅读“全国大学生数学建模竞赛论文格式规范”)
B题碎纸片的拼接复原
破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。
传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。
特别是当碎片数量巨大,人工拼接很难在短时间内完成任务。
随着计算机技术的发展,人们试图开发碎纸片的自动拼接技术,以提高拼接复原效率。
请讨论以下问题:
1. 对于给定的来自同一页印刷文字文件的碎纸机破碎纸片(仅纵切),建立碎纸片拼接复原模型和算法,并针对附件1、附件2给出的中、英文各一页文件的碎片数据进行拼接复原。
如果复原过程需要人工干预,请写出干预方式及干预的时间节点。
复原结果以图片形式及表格形式表达(见【结果表达格式说明】)。
2. 对于碎纸机既纵切又横切的情形,请设计碎纸片拼接复原模型和算法,并针对附件3、附件4给出的中、英文各一页文件的碎片数据进行拼接复原。
如果复原过程需要人工干预,请写出干预方式及干预的时间节点。
复原结果表达要求同上。
3. 上述所给碎片数据均为单面打印文件,从现实情形出发,还可能有双面打印文件的碎纸片拼接复原问题需要解决。
附件5给出的是一页英文印刷文字双面打印文件的碎片数据。
请尝试设计相应的碎纸片拼接复原模型与算法,并就附件5的碎片数据给出拼接复原结果,结果表达要求同上。
【数据文件说明】
(1)每一附件为同一页纸的碎片数据。
(2)附件1、附件2为纵切碎片数据,每页纸被切为19条碎片。
(3)附件3、附件4为纵横切碎片数据,每页纸被切为11×19个碎片。
(4)附件5为纵横切碎片数据,每页纸被切为11×19个碎片,每个碎片有正反两面。
该附
件中每一碎片对应两个文件,共有2×11×19个文件,例如,第一个碎片的两面分别对应文件000a、000b。
【结果表达格式说明】
复原图片放入附录中,表格表达格式如下:
(1)附件1、附件2的结果:将碎片序号按复原后顺序填入1×19的表格;
(2)附件3、附件4的结果:将碎片序号按复原后顺序填入11×19的表格;
(3)附件5的结果:将碎片序号按复原后顺序填入两个11×19的表格;
(4)不能确定复原位置的碎片,可不填入上述表格,单独列表。