作者:孤剑 孤剑
嘿嘿!本来打算不用去了,但是在几天的训练中,发现现在这个组每个成员也还不错。所以,又出动了。
Let's begin to study mathematical modeling and mathematical experiments,begin to learn matlab software.
本来,在上大一的时候就报了学校的数学建模大赛的,可是因为暑假的时间比较紧,事情也比较多(我的时间刚好和大家相反,暑假是我最忙的时候),所以暑期的数学建模培训我也没有去成,本来今天想好好学习学习一下,即使不拿什么奖,也是一种体验啊,体验体验什么是全国大赛。可惜的是今年的培训我又没有去几次,本来想打算放弃了的。没有想到,等培训完成了,老师让我们自己做的时候,以前的同学来找我,让我加入他们的小组。他们的小组开始
第二天,我通过多方打听,听说第一组的那个mm不想干了,嘿嘿!怎么能这么体谅人了,真好为我解围。但是不知道那个mm什么时候宣布这个重大的决策啊!^_^
下午,我就决定和第二组的人一起干了,但是也没有多大的把握(现在也是如此),更何况我们的目标不是什么大奖,是同学之间的一种默契配合啊!嘿嘿!下午和他们讨论了一下,看来他们两个是比较认真的,决定好像没有什么问题了。
晚上,第一组的组长来找我了,说晚上小组一起出动上自习,讨论题目,研究研究。哎!还研究个啥啊!人都解散了。不得已,我还是将我心中那个惊天地,泣鬼神的噩耗告诉组长。嘿嘿,想必大家都知道结果了吧。不过戏剧的是,我准备让他替我告诉那个mm的,没有想到那个mm首先告诉他,说她不想去了。嘿嘿!这么mm选择的时间正是准确阿!真是该出手时就出手啊!这样一来,第一组就这样解散了,留下一个光杆司令了。(后来听说老师又给那位同学安排了一个新的队员)不过,还是想对这个朋友说一下,老兄对不起了!
所以,我就光荣的加入了现在的这个组了。通过我们在一个礼拜的学习,我觉得我没有选择错,每个人都可以取长补短。
成员 |
特长 |
吕小苏(女) |
写作、计算机编程 |
刘京城 |
思考问题,发现问题、写作 |
计算机编程、思考 |
希望在我们正式参加比赛前,老师不要把我们这个组分开就好了毕竟我们已经磨合了。(个人感觉如此,希望事实也是如此)
当然了,通过上表一看便知,我除了一点微弱的电脑技术知识之外就没有其他的什么优势了,所以,既然答应了别人就的好好干,好好学习。最苦恼的是学些MATLAB。
要在半个月的时间里,学习一门新的编程(也不能说是编程,只能说是一个新的编程环境吧),对于我这个非计算机的人是来说还是有一定挑战性了。嘿嘿,不过我这人就是喜欢挑战,而且在这几天的自学MATLAB的过程中,我好像找到了我大一时候影子了。可能这次能为我东山再起奠定一定的基础吧。
现在,学习了三天的MatLab,写了一些小东西,目前可以基本上满足现在这里题目的要求,但是要使推广的话,还需要改进。
Source Code:
%**********************************************************
%? This is Help Information About FindMinParam() Function.
%?????????? Find the min number in the matrix.
%?????????? Designer:?? 孤剑
%?????????????????????? Liu Jingcheng
%?????????????????????? Lv XiaoShu
%?????????? Verison:
%????? Copyright (C) By 孤剑 ,Mr Liu,Miss Lv
%?????
%?? Usage:
%?????? FindMinParam(a,iCount)
%?????????????????? a is matrix.
%?????????????????? iCount is Counter.
%?? Waring:
%?????? When used function ,the matrix will be changed.
%
%?? 孤剑 Website:http://blog.csdn.net/alonesword/
%***********************************************************
a=[inf,5,6,17;10,inf,2,20;8,16,inf,8;6,5,21,inf];
Succ=0;
lng=length(a);
rst=zeros(3,lng);
for Count=1:iCount
??? for RowCount=1:lng;
? ??????for ColCount=1:lng;
?????? ??????? if (min(min(a))==a(RowCount,ColCount));
%Find the Row and
??????????????? tmpMin=min(min(a));????????????????????
%Save the min number in tmpMin.
????????????? ??????? tmpRow=RowCount;??????????????????????
%Save min number's Row in tmpRow.
????????????? ??????? tmpCol=ColCount;???????????????????????
%Save min number's
??????????????? a(RowCount,:)=inf;?????????????????????
%Change whole Rows of the min number to inf.
????????????? ??????? a(:,ColCount)=inf;?????? ???????????????
%Change whole Cols of the min number to inf.
??????????????? Succ=1;????????????????????????????????
%Flag to Successful find the min number.1 is true,0 is false.
??????????????? break;?????????????????????????????????
??????????? end;
? ??????end???? %End For
??????? if Succ==1?? %If successful to find the min number.Do ...
??????????? break;
??????? end;
??? end;
??? if Succ==1?????? %Save the result to the matrix rst.
??????? rst(1,Count)=tmpMin;
??????? rst(2,Count)=tmpRow;
??????? rst(3,Count)=tmpCol;
??? end;
end;
rst????????????????? %Display the result.
目前遇到的问题是:
如果把上面的程序写成一个函数的话,矩阵a是需要当成一个变量传入的,计算几个最小值,计算次数iCount也是需要控制的,即:需要构成一个新的函数,传入matrix and iCount,但是,传入的参数在程序执行过程中无法改变???有待解决;
如何把结果表示成图形的东西,毕竟是数学建模嘛,当然要建立一个模型了,给人一种直观的感觉是最好的了。
程序的优化了。这个还得不断的练习了。
对Visio还是比较生疏。
小结:
本次数学建模虽然不一定能赢,但是我相信在此过程中我们结识新朋友,巩固了老朋友之间的感情;
强迫自己学习了新工具的使用MatLab And Visio,从某种意义上来说,增加了学习的动力,嘿嘿,有全国的奖项等着你哦。
充实了自己,成为找回自己的新起点。
忠告:革命尚未成功,同志任需努力。
Ps:随后将此次学校出的选拔题目贴上。