导航菜单
首页 >  Lingo数学建模基础  > Lingo入门及基础程序编写总结

Lingo入门及基础程序编写总结

这是一篇关于Lingo的一些基本总结,以及如何做一些基本编程。

最近为了准备数学建模比赛自学了Lingo(matlab都还没很熟练的我是屑),看了看几个视频和一些教学ppt,于是写一篇随笔来总结一下。

本篇随笔会涉及到一些Lingo的基本概念,然后我会用一个题目来作为例子,由于我是因为数学建模才自学的,所以列举的题目例子一般是规划类的题目。

一、在讲Lingo之前,需要先要知道Lingo的一些基础概念:(1)集合(set):

集合与属性(Attribute)是Lingo中极为重要的概念。其中又分为原始集和派生集。因为Lingo中并没有数组,所以想要处理大量有一定规律的数据,就得借助集合来实现。两者可以类比。我们可以用

SETS:原始集名/1....n(或1,2,3,...)/:属性1,属性2;派生集名(原始集名1,原始集名2...):属性1,属性2;ENDSETS

来定义一个原始集合。其中1....n相当于数组的下标,属性相当于数组名,属性里的元素用 属性名字(x1,x2,x3.....)来访问。原始集一般可类比作为一维数组,而派生集可以当作多维数组来用。除此之外,还有稀疏集和稠密集的概念,这里不做赘述。     (2)函数:Lingo里配备了一些函数,使用时需要在前面加一个@,其中包括一些数学函数,例如@SIN(),@SQRT()等,以及一些操作性的函数例如求和函数@SUM(),循环@FOR().....

这里在列举一些数学函数:

@abs(x) 返回 x 的绝对值@sin(x) 返回 x 的正弦值,x 采用弧度制@cos(x) 返回 x 的余弦值@tan(x) 返回 x 的正切值@exp(x) 返回常数 e 的 x 次方@log(x) 返回 x 的自然对数@lgm(x) 返回 x 的 gamma 函数的自然对数@sign(x) 如果 x=0 时,返回不超过 x 的最大整数;当 x,

相关推荐: