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

合集下载

2013年数学建模国赛b题

2013年数学建模国赛b题

2013年数学建模国赛b题
摘要:
1.背景介绍:2009 年3 月合肥市非国有建筑专业职称资格评审通过人员名册
2.名册内容:通过人员名单、职称、资格等信息
3.意义:对非国有建筑行业的专业人才的肯定和鼓励
正文:
2009 年3 月,合肥市对非国有建筑专业职称资格进行了评审,并通过了一份详细的名册。

这份名册包含了通过人员名单、职称、资格等信息,是对非国有建筑行业的专业人才的肯定和鼓励。

在这个名册中,我们可以看到各位通过人员的姓名、工作单位、评审职称以及资格等信息。

他们经过了严格的评审,最终脱颖而出,获得了相应的职称资格。

这不仅是他们个人努力的结果,也是他们所在单位和行业的认可。

这份名册的意义不仅在于对个人的肯定,更在于对整个非国有建筑行业的
推动。

它鼓励了更多的专业人士积极投身于建筑行业,提高了整个行业的专业水平。

同时,它也为行业内外提供了一个参考,让人们更好地了解非国有建筑行业的发展和人才状况。

全国数学建模竞赛B题CUMCMB

全国数学建模竞赛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题代码

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-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高社杯全国大学生数学建模竞赛C题

2013高教社杯全国大学生数学建模竞赛承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。

如有违反竞赛规则的行为,我们将受到严肃处理。

我们参赛选择的题号是(从A/B/C/D中选择一项填写): C 我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):参赛队员 (打印并签名) :1.2.3.指导教师或指导教师组负责人 (打印并签名):日期:年月日赛区评阅编号(由赛区组委会评阅前进行编号):2013高教社杯全国大学生数学建模竞赛编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):古塔的变形摘要:本文研究的古塔的变形问题,通过对问题背景及附件资料进行深入地分析,采用数据拟合、求平均值等方法整理出具有科学性的分析数据。

通过对建筑物位移监测数据处理方法的研究, 采用自回归模型对位移监测数据进行处理, 根据建立的模型对具体建筑物的监测点的位移变化量进行预报。

经过计算分析, 根据位移量之间变化的关系而建立的自回归预测模型具备较高的拟合及预测精度,运用三维坐标系和数学软件将古塔的模型以空间模型的形式表现出来,直观且科学,对于研究古塔的变形具有较高的科学性和说服性。

再通过三维坐标之间的回归和三维坐标与时间的回归而分析出古塔的倾斜,弯曲,扭曲等变形状况,通过数学软件的计算及列表列图的方法将结果直观体现,通过大量的计算与分析,运用几何和代数方法将古塔的变形量以数学的方式说明。

数学建模国赛2013年b题

数学建模国赛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 题是关于传染病传播的动力学模型,要求参赛选手运用数学方法对传染病的传播进行建模和预测。

【二、题目背景与要求】传染病在全球范围内造成了巨大的经济损失和人员伤亡。

因此,研究传染病的传播规律,预测疫情发展趋势,对制定防控措施具有重要意义。

2013 年 b 题要求参赛选手建立一个传染病传播的动力学模型,并根据实际数据进行参数估计和模型验证,最终预测疫情在未来一段时间内的传播情况。

【三、题目分析与解题思路】传染病传播的动力学模型主要包括三个基本要素:感染者、易感者和康复者。

根据题目给出的数据,我们需要建立一个包含这三个要素的数学模型,并利用相关数学方法对模型进行求解。

【四、解答过程与结果】解答过程主要包括以下几个步骤:1.根据题目描述,确定感染者、易感者和康复者之间的转换关系。

2.根据实际数据,建立初始值和边界条件。

3.利用微分方程等数学方法,求解模型。

4.对模型进行参数估计和模型验证。

5.根据模型预测疫情在未来一段时间内的传播情况。

通过以上步骤,我们可以得到传染病在未来一段时间内的传播趋势,从而为政府和相关部门制定防控措施提供科学依据。

【五、总结与启示】数学建模国赛 2013 年 b 题的解答过程充分体现了数学方法在解决实际问题中的应用价值。

通过参加此类竞赛,学生可以提高自己的数学素养、团队协作精神和创新能力。

2013全国大学生数学建模竞赛 2

2013全国大学生数学建模竞赛 2

承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。

如有违反竞赛规则的行为,我们将受到严肃处理。

我们参赛选择的题号是(从A/B/C/D中选择一项填写): B我们的参赛报名号为(如果赛区设置报名号的话):甲所属学校(请填写完整的全名):曲阜师范大学日照校区参赛队员 (打印并签名) :1. 文志勇2. 周祥亮3. 步巧凤指导教师或指导教师组负责人 (打印并签名):邢丽红日期:2013年9月13 日编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):碎纸片的拼接复原摘要本文对文字(中文或者英文)碎片的自动拼接问题展开研究,介绍了文字碎片预处理及碎片拼接的理论与技术,并重点研究了碎片拼接的核心问题文字碎片匹配,文中提出了一种基于???匹配算法,用于获得文字碎片最可能的拼接结果,并将该算法与多尺度空间结合,提高计算效率与现有的曲率序列匹配算法相比,角序列匹配算法不但有效地解决了文字碎片在拼合过程中的模糊识别问题,且提高了计算效率,最后,本文应用Matlab程序设计,实现了文字碎片的自动拼接。

图像碎片拼接的方法很多,根据特征可以分为基于色彩!纹理!材质!轮廓等图像碎片拼接;根据形状特征又可以分为规则图像碎片和不规则图像碎片的拼接;根据空间特征还可分为二维图像碎片拼接和三维图像碎片拼接"图像碎片拼接的主要工作流程可概括为以下三个步骤:(l)对图像碎片进行预处理,即对物体碎片数字化,得到碎片的数字图像"(2)图像碎片匹配,通过匹配算法找到相互匹配的图像碎片"(3)图像碎片的拼接合并,将相互匹配的图像碎片拼接在一起得到最终的结果"其中,最重要的就是第二步图像碎片匹配"图像碎片匹配是图像碎片拼接的核心问题,是学术研究的前沿问题,这个问题的研究是模式识别技术的一个新的拓展,更好的促进模式识别方法的发展"因此图像碎片匹配的研究工作具有重要的理论和现实意义,也是本文的研究重点"提供了一种典型的解决平面图像碎片匹配算法"它定义一个判别式,把不符合判别式的一对对侯选匹配通过多尺度方法逐步从原可能匹配的集合中删除,最后剩下的少量匹配对可能就是真正匹配的图像碎片对对于问题1我们用。

2013年数学建模b题纸片拼接

2013年数学建模b题纸片拼接

2013年数学建模b题纸片拼接
(最新版)
目录
一、2013 年数学建模 b 题背景
二、纸片拼接问题的基本概念
三、纸片拼接问题的解决方法
四、纸片拼接问题的实际应用
正文
一、2013 年数学建模 b 题背景
数学建模是一种重要的数学方法,它将实际问题抽象为数学问题,再通过数学方法求解,以解决实际问题。

2013 年数学建模 b 题就是一道典型的数学建模题目,它涉及到的问题是纸片拼接。

二、纸片拼接问题的基本概念
纸片拼接问题是指,给定一些形状、大小和颜色不同的纸片,要求将它们拼接在一起,使得拼接后的图形满足一定的要求,比如面积最大、周长最小等。

纸片拼接问题实际上是一个组合优化问题,它需要寻找一种最优的拼接方案。

三、纸片拼接问题的解决方法
解决纸片拼接问题的方法主要有两种,一种是基于启发式的方法,另一种是基于精确算法的方法。

基于启发式的方法,如模拟退火算法、遗传算法等,它们通过模拟自然界的进化过程,逐步寻找到最优的拼接方案。

这类方法的优点是计算速度快,缺点是可能无法得到全局最优解。

基于精确算法的方法,如整数线性规划、混合整数线性规划等,它们
通过建立数学模型,精确求解拼接问题。

这类方法的优点是能得到全局最优解,缺点是计算过程复杂,需要大量的计算资源。

四、纸片拼接问题的实际应用
纸片拼接问题在实际生活中有着广泛的应用,比如在制造业中,它可以用于优化材料的切割方案,提高材料的利用率;在图像处理中,它可以用于图像的拼接,提高图像的分辨率等。

2013全国大学生数学建模竞赛B题

2013全国大学生数学建模竞赛B题

将008代表的矩阵C8的第二列元素与其它矩 阵的第一列元素进行两两匹配。记录元素相 同的个数,个数除以1980为C8矩阵第二列对 其它矩阵第一列的边缘匹配度,记为:
比较这18个数据,最大的即为与008匹配的 碎纸片。然后以所找到的碎纸片的第二列开 始,求出它与其它矩阵第一列的边缘匹配度, 找出最大的,以此类推把19张碎纸片拼接完 成。
三.问题2的分析
英文碎纸片的分析 通过观察可以发现英文字母的主要的 部分拥有同一上界和同一下界,例如:
将图片中每一行中黑色像素数少于13的及 字母的次要部分转变为二值化矩阵中的0, 将每一行中黑色像素大于等于13的及字母 的主要部分转化为二值化矩阵中的1,这样 得到的新的二值化矩阵 。例如图像转变为 如下图的方式:
二.问题1的分析
步骤一:使用matlab中的imread函数 可以做出图片的灰度矩阵 ,读取每 张图片文件的数据,其目的是将附件 中给的 bmp 格式的碎纸片图以灰度 值矩阵的形式存储。再将灰度值矩阵 转化为 0-1 矩阵,来得到模型的数 据基础;
由于该像素图片转换后为
的矩阵,ቤተ መጻሕፍቲ ባይዱ
论文中无法放置,所以仅简单举例说明:
以纸片000与001为例,匹配方式可能为:
将①②的边缘匹配度相加得到边缘匹配度 之和,将③④的边缘匹配度相加得边缘匹 配度之和,两者的和做出比较。若仅有一 个大于等于1.9,则计算机输出该匹配度, 人工判断是否碎纸片是否匹配;若两者均 大于等于1.9,计算机把两个匹配度之和输 出,人工选择判断碎纸片应是否匹配与如 何匹配;若两者均小于1.9,则计算输出最 大者,人工判断碎纸片是否匹配。这样可 以得到一些在同一横行的碎纸片的拼接。
总体思路
三步走:分行,行内排序,行间排序

2013年全国数学建模B题省一等奖

2013年全国数学建模B题省一等奖

承诺书我们仔细阅读了《全国大学生数学建模竞赛章程》和《全国大学生数学建模竞赛参赛规则》(以下简称为“竞赛章程和参赛规则”,可从全国大学生数学建模竞赛网站下载)。

我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。

如有违反竞赛章程和参赛规则的行为,我们将受到严肃处理。

我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。

我们参赛选择的题号是(从A/B/C/D中选择一项填写) B我们的参赛报名号为(如果赛区设置报名号的话):024B03所属学校(请填写完整的全名):山东科技大学参赛队员(打印并签名) :1. 张鑫2. 吕彦全3. 孙红华指导教师或指导教师组负责人(打印并签名):赵文才(论文纸质版与电子版中的以上信息必须一致,只是电子版中无需签名。

以上内容请仔细核对,提交后将不再允许做任何修改。

如填写错误,论文可能被取消评奖资格。

)日期: 2013 年 9 月 16 日赛区评阅编号(由赛区组委会评阅前进行编号):编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):基于最小二乘法的碎纸片拼接复原数学模型摘要首先对图片进行灰度化处理,然后转化为0-1二值矩阵,利用矩阵行(列)偏差函数,建立了基于最小二乘法的碎纸片拼接数学模型,并利用模型对图片进行拼接复原。

针对问题一,当两个数字矩阵列向量的偏差函数最小时,对应两张图片可以左右拼接。

数学建模国赛2013年b题

数学建模国赛2013年b题

数学建模国赛2013年b题摘要:一、数学建模国赛简介1.数学建模国赛背景2.2013 年数学建模国赛B 题内容二、2013 年数学建模国赛B 题解析1.题目背景及要求2.问题一解析3.问题二解析4.问题三解析三、数学建模竞赛对参赛者的意义1.提升实际问题解决能力2.增强团队协作能力3.培养创新思维四、数学建模竞赛的准备与建议1.积累建模知识与技能2.加强团队配合与沟通3.注重实际问题分析与解决正文:数学建模国赛是一项在我国有着广泛影响力的学科竞赛活动,旨在选拔优秀的数学建模人才,推动数学建模教育的发展。

2013 年的数学建模国赛B题,以一道实际问题为背景,要求参赛者运用数学方法解决实际问题。

2013 年数学建模国赛B 题的内容是:“输电线路的优化设计”。

该题目要求参赛者针对一个实际的输电线路工程,通过建立数学模型,分析并提出优化方案。

具体包括三个问题:1.根据给定的线路参数,计算输电线路的总电阻;2.分析不同输电线路的设计方案,确定最优设计方案;3.建立输电线路的运行维护模型,预测线路的运行状态。

通过参与数学建模竞赛,参赛者能够提升自己的实际问题解决能力。

在竞赛过程中,他们需要针对实际问题,灵活运用数学知识和方法,寻求问题的解决方案。

此外,数学建模竞赛也非常注重团队协作,参赛者需要与队友紧密配合,共同完成竞赛任务。

这不仅能够增强团队协作能力,还能培养参赛者的创新思维。

对于想要参加数学建模竞赛的同学们,有以下几点建议:1.积累建模知识与技能:熟练掌握常用的数学建模方法和工具,例如线性规划、动态规划、图论等;2.加强团队配合与沟通:与队友共同学习、讨论和解决问题,提高团队协作效率;3.注重实际问题分析与解决:在平时的学习和生活中,多关注实际问题,培养自己分析问题和解决问题的能力。

数学建模国赛对于参赛者来说,既是一次挑战,也是一次锻炼和成长的机会。

13年数模B题代码

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年b题

数学建模2013年b题

数学建模2013年b题
一、题目背景介绍
数学建模2013年b题涉及到的背景知识如下:
1.题目背景:题目来源于现实生活中的某个实际问题,需要运用数学知识进行分析和解决。

2.知识点:题目涉及到的数学知识点包括线性规划、微分方程、概率论等。

二、数学建模方法概述
数学建模方法是指运用数学理论与方法对现实问题进行抽象、简化和求解的过程。

在本题中,我们需要根据题目背景,选择合适的数学方法进行建模和求解。

三、解题步骤与方法详解
1.步骤一:阅读题目,理解题意,提炼关键信息。

2.步骤二:根据题目背景和关键信息,选择合适的数学方法进行建模。

3.步骤三:建立数学模型,列写出相应的数学方程。

4.步骤四:求解数学方程,得到模型解。

5.步骤五:检验模型解的合理性,并对模型进行优化。

6.步骤六:根据模型解分析实际问题,撰写论文。

四、模型检验与优化
1.模型检验:检验模型解是否符合实际情况,可以通过与实际数据进行对比来验证。

2.模型优化:根据实际问题的变化,对模型进行调整和改进,以提高模型的准确性和实用性。

五、应用实例与分析
以下是一个与应用实例相关的问题:
某企业在生产过程中,需要对生产流程进行优化,以降低成本、提高效益。

我们可以通过数学建模方法,对企业生产流程进行分析,找到最优的生产策略。

六、总结与展望
1.总结:通过对2013年数学建模b题的分析,我们了解了如何运用数学建模方法解决实际问题,并掌握了线性规划、微分方程等数学知识。

2.展望:未来,我们可以将所学知识应用于更多实际问题,为各行各业提供有益的决策支持。

2013高教社杯全国大学生数学建模真题

2013高教社杯全国大学生数学建模真题

问题2. 根据酿酒葡萄的理化指标和葡萄酒的质量对这些酿酒 葡萄进行分级。
从附件2可以得知影响酿酒葡萄的因素比较多,分析起来数据比较繁琐,为了结果 的准确性,抓住最主要的因素,之后进行分析,得到简化,从而可以更有力的说明 问题,故我们采用了主成分分析法.得到了主要因子,简化了过程,然后利用各个 所占的比例进行评分。一般情况下,我们可以采用5分制评分标准(见表1)进行 赋值,其中等级程度是相对而言的,最后得到每一个样品的分数。
1 3 5 7 9 11 13 15 17 19 21 23 25 27 样品
红葡萄酒1 红葡萄酒2
通过比较两种葡萄酒的方差,发现红葡萄酒2比较稳定
图2
标准差
红葡萄酒标准差比较
12 10 8 6 4 2 0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 样品
红葡萄酒1 红葡萄酒2
表2 主要因子
5分 5 4 3 2 1 制
因子 氨 蛋 还 PH 黄
基白原

酸质糖

5分制54321因子氨基酸蛋白质还原糖PH黄酮醇利用 Excel计算,画图分析可以得出:
分数 分数
红葡萄酒评分
4.9 4.8 4.7 4.6 4.5 4.4 4.3 4.2 4.1
4 3.9
1 3 5 7 9 11 13 15 17 19 21 23 25 27 样品
利用附件2、3,在每一种理化指标的数据中,有多组数据 的时候,要采用平均值,然后根据对应的含量值建立模型, 就红葡萄酒中的“单宁”为例,令葡萄酒中的含量为,酿 酒葡萄中的含量为,和取表中的平均值,建立模型,其中 是与单位、溶解度、挥发性、沸点等物理化学性质相关的 系数。利用spss软件曲线拟合得出、的值,其他物质含量 可以与此同样的方法得出关系。最后再根据酿酒葡萄与葡 萄酒各个理化指标平均值,求出其线性关系。

2013全国大学生数学建模比赛B题-答案

2013全国大学生数学建模比赛B题-答案

2013全国大学生数学建模比赛B 题-答案2013高教社杯全国大学生数学建模竞赛承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。

如有违反竞赛规则的行为,我们将受到严肃处理。

我们参赛选择的题号是(从A/B/C/D中选择一项填写): B我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):重庆邮电大学参赛队员(打印并签名) :1.2.3.指导教师或指导教师组负责人(打印并签名):日期: 2013 年 9 月 13 日赛区评阅编号(由赛区组委会评阅前进行编号):2013高教社杯全国大学生数学建模竞赛编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):碎纸片的拼接复原摘要本文研究的是碎纸片的拼接复原问题。

由于人工做残片复原虽然准确度高,但有着效率低的缺点,仅由计算机处理复原,会由于各类条件的限制造成误差与错误,所以为了解决题目中给定的碎纸片复原问题,我们采用人机结合的方法建立碎纸片的计算机复原模型解决残片复原问题,并把计算机通过算法复原的结果优劣情况作为评价复原模型好坏的标准,通过人工后期的处理得到最佳结果。

面对题目中给出的BMP格式的黑白文字图片,我们使用matlab软件的图像处理功能把图像转化为矩阵形式,矩阵中的元素表示图中该位置像素的灰度值,再对元素进行二值化处理得到新的矩阵。

题目每一个附件中的碎纸片均为来自同一页的文件,所以不需考虑残片中含有未知纸张的残片以及残片中不会含有公共部分。

数学建模2013全国大学生

数学建模2013全国大学生

承诺书我们仔细阅读了《全国大学生数学建模竞赛章程》和《全国大学生数学建模竞赛参赛规则》(以下简称为“竞赛章程和参赛规则”,可从全国大学生数学建模竞赛网站下载)。

我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。

如有违反竞赛章程和参赛规则的行为,我们将受到严肃处理。

我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。

我们参赛选择的题号是(从A/B/C/D中选择一项填写): A我们的参赛报名号为(如果赛区设置报名号的话):S28033所属学校(请填写完整的全名):信息工程大学参赛队员(打印并签名) :1. 王丹菂2. 林雨准3. 秦剑琪指导教师或指导教师组负责人(打印并签名):(论文纸质版与电子版中的以上信息必须一致,只是电子版中无需签名。

以上内容请仔细核对,提交后将不再允许做任何修改。

如填写错误,论文可能被取消评奖资格。

)日期: 2013 年 9 月 15 日赛区评阅编号(由赛区组委会评阅前进行编号):编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):碎纸片的拼接与复原模型分析摘要本文研究的是碎纸片的拼接与复原问题。

利用碎纸片内字迹的连续性和行间距等特征,对纸片边缘进行相似度分析,以碎纸片边缘文字的灰度为依据进行匹配与拼接。

在此基础上,加上人工干预,采用半自动碎片拼接的方法,对碎纸片进一步进行比较与分析。

2013全国大学生数学建模竞赛B题参考答案

2013全国大学生数学建模竞赛B题参考答案

2013高教社杯全国大学生数学建模竞赛B题评阅要点[说明]本要点仅供参考,各赛区评阅组应根据对题目的理解及学生的解答,自主地进行评阅。

本题要求对数据提取合适的特征、建立合理有效的碎纸片拼接复原模型。

可以考虑的特征有邻边灰度向量的匹配、按行或按列对灰度求和、行距等。

关于算法模型,必须有具体的算法过程(如流程图、算法描述、伪代码等)及设计原理。

虽然正确的复原结果是唯一的,但不能仅从学生提供的复原效果来评定学生解答的好坏,而应根据所建的数学模型、求解方法和计算结果(如复原率)三方面的内容做出评判。

另一方面,评判中还需要考虑人工干预的多少和干预时间节点的合理性。

问题1. 仅有纵切文本的复原问题由于“仅有纵切”,碎纸片较大,所以信息特征较明显。

一种比较直观的建模方法是:按照某种特征定义两条碎片间的(非对称)距离,采用最优Hamilton路或最优Hamilton圈(即TSP)的思想建立优化模型。

关于TSP的求解方法有很多,学生在求解过程中需要注意到非对称距离矩阵或者是有向图等特点。

还可能有种种优化模型与算法,只要模型合理,复原效果好,都应当认可。

本问题相对简单,复原过程可以不需要人工干预,复原率可以接近或达到100%。

问题2. 有横、纵切文本的复原问题一种较直观的建模方法是:首先利用文本文件的行信息特征,建立同一行碎片的聚类模型。

在得到行聚类结果后,再利用类似于问题1中的方法完成每行碎片的排序工作。

最后对排序后的行,再作纵向排序。

本问题的解法也是多种多样的,应视模型和方法的合理性、创新性及有效性进行评分。

例如,考虑四邻近距离图,碎片逐步增长,也是一种较为自然的想法。

问题3. 正反两面文本的复原问题这个问题是问题2的继续,基本解决方法与问题2方法相同。

但不同的是:这里需要充分利用双面文本的特征信息。

该特征信息利用得好,可以提升复原率。

在阅卷过程中,可以考虑学生对问题的扩展。

例如,在模型的检验中,如果学生能够自行构造碎片,用以检验与评价本队提出的拼接复原模型的复原效果,可考虑适当加分。

2013全国大学生数学建模比赛B题_答案

2013全国大学生数学建模比赛B题_答案

2013全国大学生数学建模比赛B题_答案在2013年全国大学生数学建模比赛中,B题的答案涉及了复杂的数学问题和模型建立。

本文将对B题的答案进行详细解析,包括问题的分析、数学模型的建立和结果的分析。

一、问题分析B题要求解答电气设备故障诊断问题。

在现代电气系统中,电气设备的故障可能导致整个系统的崩溃,因此及时准确地诊断故障是非常重要的。

本题给出了一组电气设备的故障数据,要求通过建立数学模型,诊断出可能的故障原因。

二、数学模型的建立1. 数据预处理首先,我们需要对给出的故障数据进行预处理,以便更好地分析和建立模型。

预处理包括数据清洗、异常值检测和数据归一化等步骤。

2. 特征选择在建立数学模型之前,我们需要选择合适的特征来描述电气设备的故障情况。

特征选择的原则是能够最大程度地包含有用的信息,同时减少冗余和噪声。

常用的特征选择方法包括相关系数分析、主成分分析和信息增益等。

3. 模型建立根据问题的要求,可以采用多种数学模型进行建立,如贝叶斯网络、支持向量机和神经网络等。

不同的模型有着不同的优劣势,在实际应用中需要根据具体情况选择合适的模型。

4. 模型训练和优化在建立好数学模型之后,需要使用给出的故障数据进行模型的训练和优化。

训练的目标是根据已知的故障数据,提高模型的准确性和泛化能力。

优化的过程包括参数调整和模型选择等。

三、结果分析经过模型的训练和优化,我们得到了电气设备故障的诊断结果。

在结果的分析中,我们需要评估模型的精度和可靠性,同时根据实际情况提出相应的改进策略。

四、小结通过对2013全国大学生数学建模比赛B题的答案进行详细解析,我们了解了电气设备故障诊断的数学建模过程。

建立数学模型涉及到数据预处理、特征选择、模型建立和结果分析等步骤。

这些步骤的正确和合理运用,对于解决实际问题具有重要意义。

注:本文仅为示例,实际的答案可能涉及更多细节和公式推导。

请根据具体题目要求进行解答。

2013全国大学生数学建模比赛B题-答案

2013全国大学生数学建模比赛B题-答案

2013高教社杯全国大学生数学建模竞赛承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。

如有违反竞赛规则的行为,我们将受到严肃处理。

我们参赛选择的题号是(从A/B/C/D中选择一项填写): B我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):重庆邮电大学参赛队员(打印并签名) :1.2.3.指导教师或指导教师组负责人(打印并签名):日期: 2013 年 9 月 13 日赛区评阅编号(由赛区组委会评阅前进行编号):2013高教社杯全国大学生数学建模竞赛编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):碎纸片的拼接复原摘要本文研究的是碎纸片的拼接复原问题。

由于人工做残片复原虽然准确度高,但有着效率低的缺点,仅由计算机处理复原,会由于各类条件的限制造成误差与错误,所以为了解决题目中给定的碎纸片复原问题,我们采用人机结合的方法建立碎纸片的计算机复原模型解决残片复原问题,并把计算机通过算法复原的结果优劣情况作为评价复原模型好坏的标准,通过人工后期的处理得到最佳结果。

面对题目中给出的BMP格式的黑白文字图片,我们使用matlab软件的图像处理功能把图像转化为矩阵形式,矩阵中的元素表示图中该位置像素的灰度值,再对元素进行二值化处理得到新的矩阵。

题目每一个附件中的碎纸片均为来自同一页的文件,所以不需考虑残片中含有未知纸张的残片以及残片中不会含有公共部分。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)不能确定复原位置的碎片,可不填入上述表格,单独列表。

相关文档
最新文档