学习数学建模有感(1)

类别:编程语言 点击:0 评论:0 推荐:

作者:孤剑 孤剑

嘿嘿!本来打算不用去了,但是在几天的训练中,发现现在这个组每个成员也还不错。所以,又出动了。

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:1.0.0  Finish Date:27/08/2004

%      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 Col of the min number.

                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 Col in tmpCol.

                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:随后将此次学校出的选拔题目贴上。

本文地址:http://com.8s8s.com/it/it28113.htm