数学建模总结

在大学暑期培训"数学建模"10天了,在这10天里我学到了MATLAB,Lingo软件的使用。其中Lingo主要用于运筹学,往细里说吧,主要用于有约数的方程的计算。老师说,lingo是MBA人士必会的一个软件,我觉得很有幸能学到这个东西。在这最后的两天里,老师主要教了图论中的"迪杰斯特,福洛依德,最小生成树",这是解决问题的重要方法,也是ACM,运筹学等领域的重要知识。就其中的一个算法也是要花一个星期学习和运用的。可想而知学的有多么浅了。

现在我与网友们共享我的学习数学建模的知识与步骤。

在第一天里,我学习了MATLAB的语法,并做了几个作业。

对以下问题,编写M文件:

(1)用起泡法对10个数由小到大排序. 即将相邻两个数比较,将小的调到前头.

(2)有一个4*5矩阵,编程求出其最大值及其所处的位置.

(3)编程求

(4)一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下. 求它在第10次落地时,共经过多少米?10次反弹有多高?

(5)有一函数,写一程序,输入自变量的值,输出函数值.

第一题,用到了for循环、if语法、关系操作符、逻辑操作符。用法如下:

MATLAB提供三种决策或控制流结构:

for循环、while循环、if-else-end结构.

这些结构经常包含大量的MATLAB命令,故经常出现在MATLAB程序中,而不是直接加在MATLAB提示符下.

1、for循环:允许一组命令以固定的和预定的次数重复

for x=array

{commands}

end

在for和end语句之间的命令串{commands}按数组(array)中的每一列执行一次. 在每一次迭代中,x被指定为数组的下一列,即在第n次循环中,x=array(:,n)

2、While循环

与for循环以固定次数求一组命令相反,while循环以不定的次数求一组语句的值.

while expression

commands}

end

只要在表达式(expression)里的所有元素为真,就执行while和end语句之间的命令串{commands}.

3、If-Else-End结构

(1)有一个选择的一般形式是:

if expression

{commands}

end

如果在表达式(expression)里的所有元素为真,就执行if和end语句之间的命令串{commands}.

(2) 有三个或更多的选择的一般形式是:

if (expression1)

{commands1}

else if (expression2)

{commands2}

else if (expression3)

{commands3}

else if ……

…………………………………

else

{commands}

end

end

end

……

 

 

 

x=[1 3 5 9 4 7 6 2 10 8 7];

for m=1:9 %m 的值从1到9

for n=1:10-m

if x(n)>x(n+1)

t=x(n);

x(n)=x(n+1);

x(n+1)=t;

end

end

end

第二题用的到知识点是函数max的使用,即求最大值。在MATLAB中使用help max便可以看到到详细的解释。

Y=rand(4,5)*10;

max(max(y)) %説一下';'的用途是不在主界面显示值 '%'是用来注释的

第三题,用到的是阶乘函数,连乘函数分别是factorial、prod

s=0;

for n=1:1:20

s=s+factorial(n);

end

s %显示s的值

第四题,可以for循环和判断语句if

s=100;

n=0;

for n=1:1:10

s=s/2;

end

s

第五题,用到的是函数sin()函数

x=input('please input x');

y=input('please input y');

f=(x^3)*sin(x*y)

其中input花了我好几分钟,找了半天原来是有一个文件与我写的input文件

重名问题,后来我把它删了才好了。

好了,今天写到这。

留个资料给网友。

http://pan.baidu.com/share/link?shareid=123099363&uk=405327792

原文地址:https://www.cnblogs.com/orangebook/p/3273083.html