数学模型与数学建模-2
- 格式:pdf
- 大小:1.47 MB
- 文档页数:35
什么是数学模型与数学建模第一篇:数学模型与其应用数学模型是通过数学方法和工具构建的一种抽象描述,用来揭示自然界和社会现象背后的规律性和定量关系。
数学模型可以帮助我们理解和预测自然界和社会现象,并在工程、生物医学、物理、化学、金融等领域中得到广泛应用。
它是数学的重要应用领域之一,也是人类认知世界的一种方式。
在数学模型的构建过程中,需要定义模型的目标和问题,并选择合适的数学工具和建模方法。
常用的建模方法包括微积分、偏微分方程、线性代数、随机过程、优化理论等。
通过分析和运用模型,可以预测系统的行为并制定相应的决策和策略。
数学模型在现实问题中的应用涉及到广泛的领域和范围。
例如,在生物医学领域中,数学模型可以用于研究人体生理过程、疾病传播以及药物研发等;在物理领域中,数学模型可以用于建立对物质运动和电磁场传播的数学描述;在工程领域中,数学模型可以用于建立强度分析、流体动力学分析以及结构优化等;在金融领域中,数学模型可以用于分析股票价格变动、交易策略制定以及资产组合管理等。
总之,数学模型是现代科学研究不可或缺的一部分,它帮助我们理解和预测自然界和社会现象,并为实际问题提供了有力的解决方法。
随着计算技术的不断发展和数学应用领域的扩大,在数学模型的研究和应用领域中,我们将会看到更多的创新和发展。
第二篇:数学建模的流程和方法数学建模是将现实世界的实际问题抽象为数学模型,然后运用各种方法进行求解的过程。
它不仅是数学研究的一种方法,也是现实问题求解的有效工具。
下面我们来了解一下数学建模的流程和方法。
第一步,确定问题和目标。
数学建模的第一步是明确问题和目标,也就是需要解决的实际问题和期望得到的解决方案或结果。
具体而言,需要了解问题的背景、范围和限制条件,明确问题所在的领域和关注的指标。
在确定问题和目标的过程中,需要与领域专家、技术人员和决策者进行合作,并积极了解实际问题的细节和特点。
第二步,建立数学模型。
在确定问题和目标之后,需要建立数学模型来描述实际问题。
1. 什么是数学模型与数学建模简单地说:数学模型就是对实际问题的一种数学表述。
具体一点说:数学模型是关于部分现实世界为某种目的的一个抽象的简化的数学结构。
更确切地说:数学模型就是对于一个特定的对象为了一个特定目标,根据特有的内在规律,做出一些必要的简化假设,运用适当的数学工具,得到的一个数学结构。
数学结构可以是数学公式,算法、表格、图示等。
数学建模就是建立数学模型,建立数学模型的过程就是数学建模的过程(见数学建模过程流程图)。
数学建模是一种数学的思考方法,是运用数学的语言和方法,通过抽象、简化建立能近似刻划并"解决"实际问题的一种强有力的数学手段。
2.美国大学生数学建模竞赛的由来:1985年在美国出现了一种叫做MCM的一年一度大大学生数学模型(1987年全称为Mathematical Competition in Modeling,1988年改全称为Mathematical Contest in Modeling,其所写均为MCM)。
这并不是偶然的。
在1985年以前美国只有一种大学生数学竞赛(The william Lowell Putnam mathematial Competition,简称Putman(普特南)数学竞赛),这是由美国数学协会(MAA--即Mathematical Association of America的缩写)主持,于每年12月的第一个星期六分两试进行,每年一次。
在国际上产生很大影响,现已成为国际性的大学生的一项著名赛事。
该竞赛每年2月或3月进行。
我国自1989年首次参加这一竞赛,历届均取得优异成绩。
经过数年参加美国赛表明,中国大学生在数学建模方面是有竞争力和创新联想能力的。
为使这一赛事更广泛地展开,1990年先由中国工业与应用数学学会后与国家教委联合主办全国大学生数学建模竞赛(简称CMCM),该项赛事每年9月进行。
数学模型竞赛与通常的数学竞赛不同,它来自实际问题或有明确的实际背景。
数学模型与数学建模数学模型数学模型(Mathematical Model)是近些年发展起来的新学科,是数学理论与实际问题相结合的一门科学。
它将现实问题归结为相应的数学问题,并在此基础上利用数学的概念、方法和理论进行深入的分析和研究,从而从定性或定量的角度来刻画实际问题,并为解决现实问题提供精确的数据或可靠的指导。
一、建立数学模型的要求:1、真实完整。
1)真实的、系统的、完整的,形象的映客观现象;2)必须具有代表性;3)具有外推性,即能得到原型客体的信息,在模型的研究实验时,能得到关于原型客体的原因;4)必须反映完成基本任务所达到的各种业绩,而且要与实际情况相符合。
2、简明实用。
在建模过程中,要把本质的东西及其关系反映进去,把非本质的、对反映客观真实程度影响不大的东西去掉,使模型在保证一定精确度的条件下,尽可能的简单和可操作,数据易于采集。
3、适应变化。
随着有关条件的变化和人们认识的发展,通过相关变量及参数的调整,能很好的适应新情况。
根据研究目的,对所研究的过程和现象(称为现实原型或原型)的主要特征、主要关系、采用形式化的数学语言,概括地、近似地表达出来的一种结构,所谓“数学化”,指的就是构造数学模型.通过研究事物的数学模型来认识事物的方法,称为数学模型方法.简称为MM 方法。
数学模型是数学抽象的概括的产物,其原型可以是具体对象及其性质、关系,也可以是数学对象及其性质、关系。
数学模型有广义和狭义两种解释.广义地说,数学概念、如数、集合、向量、方程都可称为数学模型,狭义地说,只有反映特定问题和特定的具体事物系统的数学关系结构方数学模型大致可分为二类:(1)描述客体必然现象的确定性模型,其数学工具一般是代效方程、微分方程、积分方程和差分方程等,(2)描述客体或然现象的随机性模型,其数学模型方法是科学研究相创新的重要方法之一。
在体育实践中常常提到优秀运动员的数学模型。
如经调查统计.现代的世界级短跑运动健将模型为身高1.80米左右、体重70公斤左右,100米成绩10秒左右或更好等。
实验二: 微分方程模型Matlab 求解与分析一、实验目的[1] 掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析; [2] 熟悉MATLAB 软件关于微分方程求解的各种命令;[3] 通过范例学习建立微分方程方面的数学模型以及求解全过程; [4] 熟悉离散 Logistic 模型的求解与混沌的产生过程。
二、实验原理1. 微分方程模型与MATLAB 求解解析解用MATLAB 命令dsolve(‘eqn1’,’eqn2’, ...) 求常微分方程(组)的解析解。
其中‘eqni'表示第i 个微分方程,Dny 表示y 的n 阶导数,默认的自变量为t 。
(1) 微分方程 例1 求解一阶微分方程 21y dxdy+= (1) 求通解 输入:dsolve('Dy=1+y^2')输出:ans =tan(t+C1)(2)求特解 输入:dsolve('Dy=1+y^2','y(0)=1','x')指定初值为1,自变量为x 输出:ans =tan(x+1/4*pi)例2 求解二阶微分方程 221()04(/2)2(/2)2/x y xy x y y y πππ'''++-=='=-原方程两边都除以2x ,得211(1)04y y y x x'''++-= 输入:dsolve('D2y+(1/x)*Dy+(1-1/4/x^2)*y=0','y(pi/2)=2,Dy(pi/2)=-2/pi','x')ans =- (exp(x*i)*(pi/2)^(1/2)*i)/x^(1/2) +(exp(x*i)*exp(-x*2*i)*(pi/2)^(3/2)*2*i)/(pi*x^(1/2))试试能不用用simplify 函数化简 输入: simplify(ans)ans =2^(1/2)*pi^(1/2)/x^(1/2)*sin(x) (2)微分方程组例3 求解 d f /d x =3f +4g ; d g /d x =-4f +3g 。
数学建模模型解题法引言数学建模是一种通过建立数学模型描述和解决实际问题的方法。
在数学建模中,模型的构建是一个关键的步骤,而解题则是将模型应用于具体问题并得出有意义结论的过程。
本文将介绍一些常用的数学建模模型解题方法。
一、数值解法数值解法是一种基于数值计算的解决方法,适用于无法用解析方法求解的问题。
常见的数值解法有以下几种:1. 近似解法近似解法是通过对原方程进行近似处理,得到一个近似解的方法。
常见的近似解法有牛顿法、二分法和割线法等。
牛顿法牛顿法是一种通过迭代计算逼近方程根的方法。
它利用泰勒级数展开对函数进行逼近,并使用切线与x轴的交点作为下一个近似解。
具体步骤如下: 1. 选取初始近似解x0; 2. 计算函数f(x)在x0处的导数f′(x0); 3. 计算切线方程,即f(x0)+f′(x0)(x−x0)=0; 4. 解得x1为切线方程与x轴的交点,作为下一个近似解x1; 5. 若满足精度要求,则停止迭代;否则,返回第2步。
二分法二分法是一种通过将区间等分并缩小区间范围的方法求方程根。
具体步骤如下:1. 选取区间[a, b],其中a和b分别是方程根的近似解; 2. 计算区间中间点c=(a+b)/2; 3. 判断c是方程根的左侧还是右侧; 4. 缩小区间范围: - 若c是方程根的左侧,则将c作为新的区间右端点,即令b=c; - 若c是方程根的右侧,则将c作为新的区间左端点,即令a=c; 5. 若满足精度要求,则停止迭代;否则,返回第2步。
割线法割线法是一种通过使用割线近似切线的方法求解方程根。
具体步骤如下: 1. 选取初始近似解x0和x1; 2. 计算割线方程,即通过(x0,f(x0))和(x1,f(x1))计算割线斜率,并与x轴求交; 3. 解得x2为割线方程与x轴的交点,作为下一个近似解x2;4. 若满足精度要求,则停止迭代;否则,返回第2步。
2. 插值法插值法是一种通过已知数据点构建一个拟合曲线,并使用该曲线来估算未知数据点的方法。
数学模型与数学建模数学模型是对实际问题的一种抽象表示,通过数学语言和符号来描述问题的特征、关系和规律。
数学建模是利用数学方法解决实际问题的过程,它依靠数学模型来分析和研究问题,得到问题的解决方案或优化结果。
数学模型与数学建模在各个领域都得到了广泛应用,成为解决实际问题的强有力工具。
一、数学模型的分类数学模型分为确定性模型和随机模型两大类。
确定性模型是指模型中的所有参数和变量的取值都是确定的,不存在随机性;随机模型则是指模型中的某些参数或变量的取值是随机的,存在一定的概率分布特性。
1.1 确定性模型确定性模型是最常见的模型类型,它包括数学分析模型、代数模型、几何模型等。
确定性模型主要用于描述具有确定关系的事物,其中最典型的就是几何模型。
例如,平面几何中的三角形和圆形可以用确定性模型来描述其属性、关系和性质,进一步进行几何推理和证明。
1.2 随机模型随机模型是描述随机现象的数学模型,其中包括概率模型、统计模型、随机过程模型等。
随机模型常用于处理实际问题中的不确定性和随机性因素。
例如,在金融领域,股票价格的变动通常具有一定的不确定性,可以用随机模型中的随机过程来描述和预测。
二、数学建模的步骤数学建模通常包括问题定义、建立数学模型、求解模型和验证模型这四个步骤。
2.1 问题定义在数学建模中,首先需要明确问题的定义和目标,包括问题的背景、需求和约束条件等。
问题定义阶段需要对问题进行细致的分析和抽象,确保问题的本质特征能够被准确地反映在数学模型中。
2.2 建立数学模型建立数学模型是数学建模的核心步骤,它需要将实际问题转化为数学语言和符号来描述。
建立数学模型时,需要进行参数选择、变量定义、关系建立等操作,以确保模型能够客观、准确地反映问题的特征和规律。
2.3 求解模型求解模型是通过数学方法和技术来实现对问题解决方案的确定。
根据具体问题的不同,求解模型的方法可以采用数值计算、符号计算、优化算法等不同的技术手段。
数学模型与数学建模数学模型是运用数学方法描述现实或抽象问题的一种工具或方法。
数学模型又可分为解析模型和仿真模型两种。
解析模型是指基于已知公式和数据进行分析求解,得到数学表达式或数值解的模型。
仿真模型是指利用计算机建立的模拟系统模型,根据模型建立的规则模拟输入变量所产生的输出结果。
数学建模是指通过数学知识把实际问题抽象为数学问题,并基于其建立数学模型。
数学建模技术可应用于各个领域,如自然科学、工程技术、社会科学、医学等。
下面就对数学模型和数学建模的一些概念和应用进行详细介绍。
一、数学模型的分类数学模型主要包括解析模型和仿真模型。
下面分别介绍:1、解析模型解析模型是指通过已知数据和公式,进行分析推导求解数学表达式或数值解的模型。
它是基于数学理论和分析方法的,其主要步骤为:建立问题的数学模型、求解模型、验证模型和应用模型。
解析模型主要包括以下几种类型:(1)几何模型几何模型是指通过几何图形描述实际问题的模型。
如,根据实际问题的条件,建立几何图形,求解图形的面积、周长、体积等数学问题,就是利用几何模型进行的建模。
几何模型常用于计算机图形学、工程地质学、建筑工程学等领域。
(2)微积分模型微积分模型是指通过微积分的方法求解实际问题的模型。
微积分是数学分析的基础,微积分模型广泛应用于科学工程领域。
如在热力学、流体力学、电磁学、生物学等领域,常用微积分模型来研究问题。
(3)代数模型代数模型是指通过代数方程和不等式描述实际问题的模型。
如根据实际问题建立代数模型求解方程组、解析几何等问题。
代数模型广泛应用于物理、经济、金融等领域。
(4)概率统计模型概率统计模型是指通过概率统计理论描述实际问题的模型。
如,许多保险公司的经营决策是基于概率统计模型的建立和分析的。
又如,酒店的房价决定也取决于概率统计模型。
2、仿真模型仿真模型是指利用计算机模拟系统建立的模型。
计算机可以模拟出一些人工难以模拟或难以观测的复杂系统,并通过模拟结果对系统进行推理分析或进行决策。
2.1MATLABMATLAB Matrix Laboratory , MathWorks 20 80 , , MATLAB Simulink .MATLAB1) , ;2) , ;3) , ;4) ( ), .2.1.1MATLABMATLAB , , . , MATLAB , 2.1.1 .MATLAB “>>” , MATLAB . , Enter ,MATLAB .·8· 2̽ ԯ2.1.1MATLAB1.help, help . polyfit .help polyfitPOLYFIT Fit polynomial to data..P=POLYFIT(X,Y,N)finds the coeffici-ents of a polynomial P(X)of degree N that fits the data Y best in a least-squares sense.P is a row vector of length N+1containing the polynomial coefficients in descending powers,P(1)*X^N+P(2)*X^(N-1) +···+P(N)*X+P(N+1)., MATLAB Help . Help Product Help , ( 2.1.2)2.1.2Help2.1MATLAB ·9·Seach , .2.clearclear . “a=1”, >>a=1. 1 a. a , clear .>>clear a???Undefined function or variable a .3.formatMATLAB format . format short , 5 ; format rational ; format long g 15 ;>>format short>>pi ans=3.1416;>>format rational>>pi ans=355/113;>>format long g>>pi ans=3.141592653589792.1.2MATLAB1.2.1.1 MATLAB .MATLAB 1 , .MATLAB , B b .2.1.1MATLABpii,jinf . n/0 inf, n 0ans , .,MATLABansNaN , . 0/0 inf/inf2.MATLAB , . . MATLAB , , , .A=[1−256−49] A=[1,−2,5,6,−4,9] 6 A.·10· 23 5 C=[279−186;112382017;4−2660924];,MATLAB , 2.1.2 .2.1.2MATLABones(i,j) i j 1zeros(i,j) i j 0eye(i,j) i j 1, 0randn(i,j) i j , diagmagic(n) n , , MATLAB , . A ,A(i,j) A i j .A(:,j) A j ,A(i,:) A i .A(i,k1:k2) A i k1 k2 .A(k1:k2,j) A j k1 k2 .>>A=magic(4)A=[162313;511108;97612;414151];>>A(3,2)ans=7;>>A(2,:)ans=[511108]>>A(2,2:4)ans=[11108]. [] . D=[A B] A B, A B ; D=[A;B] A B, AB .2.1.3MATLABMATLAB , MATLAB , 2.1.3 .2.1.3MATLAB’A’+A+B−A−B+s+B s B−s−B s B*A*B.* A.*B.*s.*A s A2.1MATLAB ·11·inv inv(A)\A\B A B inv(A)*B, AX=B /B/A A B B*inv(A), XA=B ∧A∧n A n./ A./B A B.\ A.\B B B./s./B s B.A∧n A n>>A=magic(3);B=[1:3;4:6;7:9];>>A=[816;357;492];>>B=[123;456;789];>>A*B=[546984;7287102;546984];>>A\B=[0.01670.08330.1500;0.76670.83330.9000;0.01670.08330.1500];>>B/A=[-0.03330.4667-0.0333;0.16670.66670.1667;0.36670.86670.3667];>>A.*B=[8218;122542;287218];>>A.\B=[0.12502.00000.5000;1.33331.00000.8571;1.75000.88894.5000];>>B./A=[0.12502.00000.5000;1.33331.00000.8571;1.75000.88894.5000];,MATLAB , 2.1.4 .2.1.4MATLABlog(A)Asqrt(A) Acond(A) ( , )det(A) Arank(A) Anorm(A) Aeig(A) Atrace(A) Aexpm(A) A>>A=magic(5);d=det(A),t=trace(A),rk=rank(A),c=cond(A),·12· 2n2=norm(A),e=eig(A);d=5.0700e+006;t=65;rk=5;c=5.4618;n2=65.0000;e=[65.0000-21.2768-13.126321.276813.1263]T2.1.4MATLABMATLAB plot, .plot x X , y Y , plot(x,y), x y .2.1.1 [0,2π] y=sin x, 2.1.3 .>>x=0:pi/100:2*pi;y=sin(x);plot(x,y)plot(x,y1,x,y2,x,y3,···) x X , y1,y2,y3,··· Y .2.1.3[0,2π] 2.1.4[0,2π]2.1.2 [0,2π] y=sin(x) y=cos(x), 2.1.4 .>>x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1, k: ,x,y2, b- )title( sine and cosine curves );xlabel( independent variable X );ylabel( dependent variable Y );text(2.8,0.5, sin(x) );text(1.4,0.3, cos(x) );legend( sin(x) , cos(x) );MATLAB , . plot3. plot . plot .2.1MATLAB ·13·plot3(x1,y1,z1,c1,x2,y2,z2,c2,···), x1,y1,z1··· c1,c2··· , x,y,z .2.1.3 .t=0:pi/50:10*pi;y1=sin(t);y2=cos(t);plot3(y1,y2,t), 2.1.5 .title(’helix’),text(0,0,0,’origin’);xlabel(’sin(t)’),ylabel(’cos(t)’),zlabel(’t’);grid;,mesh , . mesh(x, y,z,c), x,y X Y ,z (x,y) Z ,x,y,z ,c , 2.1.6 .>>x=0:0.15:2*pi;y=0:0.15:2*pi;z=sin(y’)*cos(x);mesh(x,y,z);title(’ ’);2.1.5 2.1.6mesh 2.1.5MATLAB1.MMATLAB , , , .m M , . M , .MATLAB M . M , File | New | M-File . MATLAB File New , M-file M , M M , File save as , File .M, OK M . M , File | Open .·14· 2M ; H1 , , , , .function y=myfun(x)%y=x^2+x;%2.MATLAB if switch , .if 31 if end2 if 1else; 2end3 if 1 1elseif 2 2······elseif m m else m+1endswitch ,case 1 1case 2 2······case m m otherwise m+1end2.1.4 score m+1 . score −1 I am a teacher. 0 I am a student. 1 You are a teacher. You are a student.score=input( );switch score;case−1;disp ( I am a teacher. );case0;disp( I am a student. );case1;disp( You are a teacher. ); otherwise;disp( You are a student. );end3., . .MATLAB for while .for for = 1 2 3 end1 ,2 ,3 . 1 , 2 .2.1.5 y=1+1/3+1/5+···+1/(2n−1), n=100 , y .y=0;n=100;for i=1:n;y=y+1/(2*i−1);end;y=3.2843while :while end, , , , .2.2LINGO ·15·2.2LINGOLINGO Linear Interactive and General Optimizer( ) , LINDO (LINDO Systems Inc.) , LINDO(Linear Interactive and Discrete Optimizer, ), , , . LINGO , , , , ( Excel ), .2.2.1LINGOLINGO 13.0, , Demo , LINDO .LINGO13.0 Win32 Win64 , 35M , , , , . , Windows LINGO .LINGO , ( 2.2.1), , , , “OK” , ( ), “Demo”, LINGO ( 2.2.2). “OK”, ID , , “Do Not Create User ID File”, ( 2.2.3), LINGO .2.2.1·16· 22.2.2LINGO 2.2.3LINGO2.2.2LINGOLINGO , ( 2.2.3), , , , , LINGO .2.2.1 , 2.2.1 . , , 50% ,(1) 400 ;(2) 1.4( , );(3) 5 .1000 ,2.2.1(%)A 29 4.3B 215 5.4C 14 5.0D 13 4.4E 52 4.5A,B,C,D,E x1,x2,x3,x4,x5( ),max z=0.043x1+0.027x2+0.025x3+0.022x4+0.045x5., x2+x3+x4 4;2x1+2x2+x3+x4+5x5x1+x2+x3+x4+x5 1.4,6x1+6x2−4x3−4x4+36x5 0;2.2LINGO ·17·9x1+15x2+4x3+3x4+2x5x1+x2+x3+x4+x5 5,4x1+10x2−x3−2x4−3x5 0;x1+x2+x3+x4+x5 10; x1,x2,x3,x4,x5 0.Lingo Modelmax=0.043*x1+0.027*x2+0.025*x3+0.022*x4+0.045*x5;x2+x3+x4>4;6*x1+6*x2-4*x3-4*x4+36*x5<0;4*x1+10*x2-x3-2*x4-3*x5<0;x1+x2+x3+x4+x5<10;File|Save “Ctrl+S” , .lg4, LINGO , . , .lg4 ,LINGO .lng,.ldt,.ltf,.lgr , .lng , ; .ldt LINGO , ; .ltf LINGO ; .lgr , LINGO .LINGO(1) “model ” , “end” , , ;(2) “;” , , , , , , ;(3)LINGO , , , 8 , 32 ;(4) “MAX=” “MIN=” ;(5) “ ” , “;” , ;(6) , “[]” , ,[OBJ]max=0.043*x1+0.027*x2+0.025*x3+0.022*x4+0.045*x5;(7) , , , LINGO “MAX=” “MIN=” , ( );(8)LINGO , , , x1 , @free, @free(x1);(9) ,·18· 2, LINGO , , , ;(10)LINGO “>=” “>” ,“<=”“<” ;(11) , “model ” “end” “max” “min” , ;(12) , , , . , “max=” “max”, LINGO .11 “Help” , .LINGO|Generate|Display model “Ctrl+G” , . ,[1]MAX=0.043*X1+0.027*X2+0.025*X3+0.022*X4+0.045*X5;[2]X2+X3+X4>=4;[3]6*X1+6*X2-4*X3-4*X4+36*X5<=0;[4]4*X1+10*X2-X3-2*X4-3*X5<=0;[5]X1+X2+X3+X4+X5<=10;, . LINGO|Solve “Ctrl+U” , . .LINGO ,Solver Status( ) (Model Class) (State) (Objective) (Infeasibility) (Iterations). , LP( ) NLP( ) IP( ) QP( ) ILP( ) PILP( ) PIP( ) INLP( ) IQP( ) PIQP( ) MIP( ). Global Optimum( ) Local Optimum( ) Feasible( ) Infeasible( ) Unbounded ( ) Interrupted( ) Undetermined( ). , , N/A.Extended Solver Status( ) (Solver Type) (Best Obj) (Obj Bound) (Steps) (Active). ,2.2LINGO ·19· B-and-B( ) Global( ) Multistart().Variables( ) (Total) (Nonlinear)(Integer).Constraints( ) (Total) (Nonlinear).Nonzeros( ) (Total) (Nonlinear).Generator Memory Used(K)( ) (K).Elapsed Runtime(hh mm ss)( ) “ ”.LINGO , 3 , , 0.2983636. , . x1=0.181818,x2=0,x3=7.363636,x4=0,x5=0.4545455.Reduced Cost( ) ,. Reduced Cost 0, x j, Reduced Cost x j ( Max ). x2 Reduced Cost 0.03018182, x2 0 1 , 0.03018182, 0.2983636−0.03018182=0.26818178.Row , , .Slack or Surplus , . “<=” , (Slack), “>=” , (Surplus), , 0, , , . , 1000 , 0, 1000 , .Dual Price , , ,. , a0, , a0 ( Max ). ( ), 0.0 , . , 3∼5 , 5 , 0.02983636,x1+x2+x3+x4+x5 10 x1+x2+x3+x4+x5 11, 100 , 0.02983636, 0.2983636+0.02983636=0.32819996(·20· 2 ).2.2.3LINGO2.2.2 LINGO , , , , . , , . ,LINGO , . , LINGO .2.2.2 3 , 5 . , .3 2.2.2 .2.2.2123 ( )6004005005 2.2.3 .2.2.312345 ( )200250300550200( / ) 2.2.4 ., ,2.2.4 /X X X X X X X X X X 12345 121312242131321134 x ij i j , c ij i j ,i =1,2,3;j =1,2,3,4,5; a i i ,i =1,2,3; b j j ,j =1,2,3,4,5.,2.2LINGO ·21·min z=3i=15j=1c ij x ij=2x11+x12+3x13+x14+2x15+4x21+2x22+x23+3x24+x25+2x31+x32+x33+3x34+4x35..(1) ,x11+x12+x13+x14+x15 600,x21+x22+x23+x24+x25 400,x31+x32+x33+x34+x35 500.,5j=1x ij a i,i=1,2,3.(2) ,x11+x21+x31=200,x12+x22+x32=250,x13+x23+x33=300, x14+x24+x34=550,x15+x25+x35=200.,3i=1x ij=b j,j=1,2,3,4,5.(3) , x ij 0, x ij ,i=1,2,3;j=1,2,3,4,5. LINGO .1., LINGO . ,LINGO .LINGO , , , “SETS ” , “ENDSETS” , ,setname/member/:attribute;setname ,member ,attribute . , ;“/” ,“:” , , . , a1,a2,a3,factory/1,2,3/:a;factory ,a , a , 1,2,3, a1,a2,a3. LINGO ,·22· 2a1,a2,a3 , a(1),a(2),a(3). , “..” , factory/1..3/:a;, , . , , , . , a1,a2,a3 d1,d2,d3,factory/1..3/:a,d;a d , .LINGO . ,factory/p1,p2,p3/:a;a(p1),a(p2),a(p3), a(1),a(2),a(3) .factory:a;a , a 3 , a . a(1),a(2),a(3) , ,factory/1,2,3/:;5 , b j(j=1,2,3,4,5), warehouse/1. .5/:b;( ), x ij c ij, , setname(parentset list) attribute; setname ( ), parentset , parentset .parentset list ,attribute , . , ( ). x ij c ij link(factory,warehouse):x,c; link, factory warehouse , x c, factory , warehouse 5 , x c 3×5 , x ij c ij(i=1,2,3;j=1,2,3,4,5). , , . 5×3 , , link(warehouse,factory):x,c; x ij c ij(i=1,2,3,4,5;j=1,2,3), 5×5 , link(warehouse,warehouse):x,c; x ij c ij(i=1,2,3,4,5;j= 1,2,3,4,5).2.2LINGO ·23·sets:factory/1,2,3/:a;warehouse/1..5/:b;link(factory,warehouse):x,c;endsets2.x ij , , LINGO , , “DATA ” , “ENDDATA” .a i , a=600,400,500; a(1)=600,a(2)=400,a(3)= 500. . , a(1)=600,a(2)= 400,a(3)=500; ,b j b=200,250,300,550,200;, , . a(1)= 20,a(2)=30,b(1)=15,b(2)=25, a,b=20,15,30,25; a,b= 20,30,15,25;c , , , , ,data:a=600,400,500;b=200,250,300,550,200;c=21312;42131;21134;enddata3., . LINGO , “@”.min z=3i=15j=1c ij x ij, LINGOmin=@sum(link(i,j):c(i,j)*x(i,j));,min , max .@sum , , , ,(i,j) ( ), i j ,(i,j) , ; , . @sum link(i,j), link , 2 , 3×5=15 ,·24· 2, 15 c (i,j )∗x (i,j ), , 3i =15 j =1c ij x ij ., ( ) . , i j , c (i,j )∗x (i,j ) , (i,j ) ,min=@sum(link:c*x); 5 j =1x ij a i ,i =1,2,3.3 , LINGO , @for ,@for(factory(i):@sum(warehouse(j):x(i,j))<a(i));@for , , , i , ; . factory i 3 , 3 . , j .@for @sum , x (i,j ) , i j , i j , x (i,j ) x (j,i ),@for (factory(j):@sum(warehouse(i):x(j,i))<a(j));, LINGO , , , . , i,j , @for @sum , i,j . , 3 i =1x ij =b j ,j =1,2,3,4,5 LINGO@for (warehouse(j):@sum(factory(i):x(i,j))=b(j)); x ij ,i =1,2,3;j =1,2,3,4,5 , @gin(x); i j , @for ,@for(link(i,j):@gin(x(i,j)););, LINGO , x ij 0 . x ij <0, @for , x ij , x ij , @free, @gin .4., LINGOmodel:! ;2.3R ·25·sets:factory/1,2,3/:a;warehouse/1..5/:b;link(factory,warehouse):x,c;endsets;! ;data:a=600,400,500;b=200,250,300,550,200;c=21312;42131;21134;enddata;min=@sum(link(i,j):c(i,j)*x(i,j));! ;@for(factory(i):@sum(warehouse(j):x(i,j))<a(i));! ;@for(warehouse(j):@sum(factory(i):x(i,j))=b(j));! ;@for(link(i,j):@gin(x(i,j)););! ;endLINGO , . , . Solve, Solution Report ., , 1700, 2.2.5 . 2.2.5````````````` 12345 1500055002002000200320020010000 @sum @for , , , . , , , .2.3RR , , .1976 , AT&T( ) Rick Becker,John Chambers Allan Wilks S , .R S , ,.R , ,R, .R , . , , . , R , , ,R .·26· 22.3.1R(/bin/windows/base/) R Windows , 2012 8 1 R version2.15.1(2012 6 22 ). (/) CRAN, CRAN Mirrors , (/CRAN/).R Windows2003 Windows2007 Windows .R , , R-2.15.1-win.exe, , ,R . R , R , 2.3.1 . R ,R Console , ( ) .R Console , R , “>” R , “>” .R , , , .2.3.1RR2.3.1 , 20 , 2.3.1 ( cm, kg).2.3.11117.519.58116191512123 211820.5911417.51611519 312020.51012526.517130.527 41252211117201811819.55117231211520.51912522 6119.52213116.5192011518 7120.528.51410917.5R Console#X1<-c(117.5,118,120,125,117,119.5,120.5,116,114,125,117,115,116.5, 109,121,115,130.5,118,125,115)X2<-c(19.5,20.5,20.5,22,23,22,28.5,19,17.5,26.5,20,20.5,19,17.5,23, 19,27,19.5,22,18)mean(X1)# ;mean(X2)# ;sd(X1)# ;plot(X1,X2)# ;hist(X1)# X1118.72521.2254.848969., 20 , 2.3.2 , 20 , 2.3.3 .2.3.2202.3.320,R . ,“#” , ,R . , . 2.3.1 ,“<-” ,c() ,X1<-c() X1;mean ,mean(X1) X1 ; sd ,sd(X1) X1 ;plot(X1,X2) X1 X2 ;hist(X1) X1 ., . R “ ” “ ” , R R , , , exam1.R. “ ” “ ” .R , “ ” , .2.3.2R , . x , 8,9,10.5,102 0.5,(1) x<-c(8,9,10.5,102,0.5)(2) assign assign( x ,c(8,9,10.5,102,0.5));(3)c(8,9,10.5,102,0.5)->x, y assign( y ,c(32,x,11.5)), y[1]32.08.09.010.5102.00.511.5R , (+) (-) (*) (/) (ˆ) , , .>x<−c(2,3,−4,0)>y<−c(5,10,10.5,9)>x−y[1]−3.0−7.0−14.5−9.0>x^2[1]49160>x*y[1]1030−420>x/y[1]0.40000000.3000000−0.38095240.0000000>x+y[1]7.013.06.59.0, 2.3.2 .R , , TRUE, , FALSE.>x<-c(2,3,-4,0);>x>2[1]FALSE TRUE FALSE FALSE,R , x i , x[i] .>x<-c(2,3,-4,0)>x[3][1]−4>x[2]<-100>x[1]2100−40>x[c(1,3)]<-c(100,200)# x 1 3 100 200 >x[1]1001002000>x[2:4]<-c(2,4,6)# x 2 4 2,4 6>x[1]1002462.3.2min(x) x length(x) xmax(x) x median(x) xrange(x) x mean(x) xsum(x) x var(x) xprod(x) x sd() x2.3.3(array) , , . , , , , ( ). , 1.(dim ) ,>x<-c(3,14,23,2,4,54,76,5,425,52,66,−4,−2,124,3);>dim(x)<−c(3,5) >x. . .1. arrayarray(data=NA,dim=length(data),dimnames=NULL),data ,dim ,dimnames , . >array(1:4,dim=c(3,3))2. matrix()matrix(data=NA,nrow=1,ncol=1,byrow=FALSE,dimnames= NULL) ,data ,nrow ,ncol ,by-row=TRUE , , byrow=FALSE, ,dimnames , .>mdat<-matrix(c(1,2,3,11,12,13),nrow=2,ncol=3,byrow=TRUE, dimnames=list(c("row1","row2"),c("C.1","C.2","C.3")))>mdatR , (+ − * /), , , dim . . , 2.3.3 .>A<-matrix(c(1,2,3,4),nrow=2)>B<-matrix(c(3,4,5,6),nrow=2,byrow=T)>t(A)# A>det(A)# A>A*B;A%*%B# A B>diag(A)# A>solve(A)# A>cbind(A,B)# A B>rbind(A,B)# A B>eigen(A)# A>svd(A)# A SVD2.3.41., , , . list(),>LIST<-list(name= ,age=17,score=c(90,88,70.5)), [[ ]], [[“”]], $ . , , , . . , >LIST[[1]]# LIST 1>LIST[[3]][3]# LIST 3 3>LIST[[ name ]]# LIST name, , “ ”,>LIST$name<-2.R , , . , . , . data.frame() , >dataframe<-data.frame(Name=c( , , ,, ),Sex=c( , , , , ),Age=c(12,13,14,12,13),Height=c(140,140.5,138.3,135.7,139));dataframe Name Sex Age Height Name Sex Age Height1 12140.04 12135.72 13140.55 13139.03 14138.3, .R . . , “ $ ” . ,R attach () , “ ” , .>attach(DF)# DF>r<-Score/Age;r[1]7.5000007.1153857.1428577.2500007.615385, edit() DF>DF.NEW<-edit(DF), DF , 2.3.4 . DF ,DF.NEW , , DF.NEW . edit() , .2.3.42.3.5, , . , . , . ,R . , , , .1.read.table() , data.txt , d:/program Files/R/chengxu/data.txt, , , read.table() , >X<-read.table("d:\\program Files\\R\\chengxu\\data.txt")# >X;is.data.frame(X), X , “data.txt” . ,X<-read.table("d:\\program Files\\R\\chengxu\\data.txt",header=TRUE), , X .read.table()read.table(file,header=FALSE,sep="",quote="\"’",dec=".",s,s;as.is=!stringsAsFactors,na.strings="NA",colClasses=NA,nrows=−1,skip=0,s=TRUE,fill=!blank.lines.skip,strip.white=FALSE,blank.lines.skip=TRUE,comment.char="#";allowEscapes=FALSE,flush=FALSE,stringsAsFactors=default.stringsAsFactors();fileEncoding="",encoding="unknown",text);file .header=TRUE ; ( ) .sep , .skip. .scan , , .2. SPSS SAS Stata Excel“foreign” , library(foreign), “ ” “ ” . SPSS (“data.sav”) SAS (“data.xpt”) Stata (“data.dta”). SPSS X<-read.spss( data.sav ), X , , X<-read.spss( data.sav ,to.data.frame=TRUE).SAS X1<-read.xport(”data.xpt”), X1 .Stata X2<-read.dta(”data.xpt”), X2 .Excel (data.xls) ,R . , Excel “ ( )”, 2.3.5 .,>X<-read.delim("d:\\program Files\\R\\chengxu\\data1.txt",header=TRUE)>X;is.data.frame(X)[1]TRUE2.3.5 ExcelExcel “CSV( )” , 2.3.6 . read.csv() , X<-read.csv( d:\\program Files\\R\\chengxu\\data1. csv ), X .R 50 , data() , data() , (base), , . data(co2). library , .2.3.6 Excel CSV3.write() ,write(x,file="data",ncolumns=if(is.character(x))1else5, append=FALSE,sep=""),x , ;file ( “data”);ap-pend=TRUE , , .>x<-matrix(1:20,ncol=5)>write(x,"d:\\program Files\\R\\chengxu\\foo.data",sep="\t")(d:/program Files/R/chengxu/) foo.data ., write.table() write.csv() , CSV Excel ,>dataframe<-data.frame(Name=c(" "," "," "," "," "),Sex=c(" "," "," "," "," "),Age=c(12,13,14,12,13), Height=c(140,140.5,138.3,135.7,139))>write.table(dataframe,file="d:\\program Files\\R\\chengxu\\foo. txt")>write.csv(dataframe,file="d:\\program Files\\R\\chengxu\\foo.csv") (d:/program Files/R/chengxu/) foo.txt foo.csv . .2.3.6R , . , , ( , ) . , . “{}” .R .1. if/else.if/elseif(cond)statement1if(cond)statement1else statement2cond , statement1; .cond , statement1; statement2.,if/elseif(cond1)statement1else if(cond2)statement2else if(cond3)statement3else statement42.break ,break , . next ,next , . break next , .3.R for ,for(name in expr1)expr2.name ,expr1 ( , 1:20),expr2 .2.3.2 ,4 A,A=⎛⎜⎜⎜⎜⎝0.50.60.50.70.40.50.40.50.50.60.50.70.30.50.30.5⎞⎟⎟⎟⎟⎠, R4 , W=(w1,w2,w3,w4)T=Q−1e/e T Q−1e, e=(1,1,···,1)T,Q=⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝4i=1a2i1−0.25−a12a21−a13a31−a14a41−a21a124i=1a2i2−0.25−a23a32−a24a42−a31a13−a32a233i=1a2i3−0.25−a34a43−a41a14−a42a24−a43a344i=1a2i4−0.25⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠.q<-matrix(0,4,4)A<-matrix(c(0.5,0.4,0.5,0.3,0.6,0.5,0.6,0.5,0.5,0.4,0.5,0.3,0.7,0.5,0.7,0.5),ncol=4)#for(i in2:4){for(j in1:(i-1)){q[i,j]=-A[i,j]*A[j,i]q[j,i]=q[i,j]}}for(i in1:4){for(k in1:4){q[i,i]=A[k,i]^2+q[i,i]}q[i,i]=q[i,i]-0.25}q#QQ1<-solve(q);>e<-matrix(c(1,1,1,1));e1<-t(e);w<-matrix(0,1,4) for(i in1:4){w[i]=((Q1%*%e)[i])/(e1%*%Q1%*%e)}w#A 4[,1][,2][,3][,4][1,]0.32379180.20037170.32379180.15204464 W=(0.324,0.200,0.324,0.152)T.2.3.7R , R , . R , , . ,R , mean() , R , .,2.3R ·37·>name <-function (arg 1,arg2,···)expressionexpression R ( ),arg 1,arg 2,··· ., ,.name(expr 1,expr 2,···). , , , “ R ”, source() . .2.3.3Ricker (population dynamics), .N t +1=N t exp r 1−N tK. Ricker, r N 0 .ricker.R, D:/Program Files/R/chengxu/ricker.R.2.3.7ricker2.3.8r =1,2 3>source("D:\\Program Files \\R \\chengxu \\ricker.R")# >layout(matrix(1:3,3,1))# 3·38· 2>ricker(0.1,1);title("r =1")#r=1 >ricker(0.1,2);title("r =2")#r=2 >ricker(0.1,3);title("r =3")#r=31. MATLAB ,(1) randn 10×10 A ;(2) B =(A +A T )/2;(3) B e 1,e 2,···,e 10;(4) i j ,e i e j 0.2. MATLAB myfun.m y =0.5exp(x/3)−x 2sin x , x,y . x .3. MATLAB fibo.m Fibonacci , ibo(n+2)=fibo(n+1)+fibo(n), fibo(1)=0,fibo(2)=1.4.x =cos(mθ),y =sin(nθ),m,n(1)m =n =1;(2)m =3,n =2.5. LINGO(1)s.t.max z =200x 1+300x 2,⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩x 1 100,x 2 120,x 1+2x 2 160,x i 0,i =1,2,(2)min z =cos x 1sin x 2−x 1/(x 2+1),s .t .−1 x 1 2,−1 x 2 1,(3)min z =−x 1−x 2,s .t .⎧⎪⎪⎨⎪⎪⎩x 2 2x 41−8x 31+8x 21+2,x 2 4x 41−32x 31+88x 21−96x 1+36,0 x 13,0 x 24.6. LINGO (1) x 2+y 2=1,0.75x 3−y +0.9=0,(2)x 2+y 2=2,2x 2+x +y 2+y =4.7. , , ,,, n , a i , , , b ,n b , , , , c i , x i =1·39·i ,x i =0 i ,max z =n i =1c i x i ,s .t .n i =1a i x i b,x i =0 1,i =1,2,···,n.8 , 1,3,4,3,3,1,5,10(kg), 2,9,3,8,10,6,4,10( ), 15kg, ,8. 1000m 3, 1200kg, 10 , 1, LINGO .11234567891047517622526226031882382 691829436182522967622112837918123123982241329. 3 A 1,A 2,A 3 4 B 1,B 2,B 3,B 4,3(a 1,a 2,a 3)=(30,25,21);4 (b 1,b 2,b 3,b 4)=(15,17,22,12),A iB j c ij ,C =⎛⎜⎜⎝626749538815⎞⎟⎟⎠, x ij A i B j , ,min z =3 i =14 j =1c ij x ij ,s .t .4 j =1x ij a i ,i =1,2,3;3 i =1x ij =b j ,j =1,2,3,4;x ij 0,i =1,2,3;j =1,2,3,4.LINGO .10. 8 4 , , 4 ,8 2 ( , ), .0-1 , Match(S i ,S j )=1 S i S j ,Match(S i ,S j )=0 S i S j , S i S j Benefit(S i ,S j ),max z =i<jBenefit(i,j )×Match(i,j ),s .t .⎧⎪⎨⎪⎩j =i k =iMatch(j,k )=1,i =1,2,3,4Match(i,j )∈{0,1}.·40· 2LINGO .2S1S2S3S4S5S6S7S8 S1-9342156 S2--173521 S3---44292 S4----1552 S5-----876 S6------23 S7-------411. 8 4 , 2 . , , , 3 , , LINGO .31 2 3 4 5 6 7 8 1-93421562--1735213---442924----15525-----8766------237-------48--------12. a=(5,9,6,2,11,13), R(1) a ;(2) a , ;(3) a .13. R , x=(2,3,4)T,y=(7,8,9)T,(1) z=8x+9y−2e, e=(1,1,0)T;(2) z=2x+y ;(3) x y .14. R 11,12,13,···,30 5×4 , A ,B ,(1)C=A+B;(2)D=A T·B;(3)E=(e ij)5×4, e ij=a ij·b ij;(4)F C 2 3 .15. R , 5 Hilbert H=(h ij)n×n,h ij=1i+j−1.(1) Hilbert H ;(2) H ;(3) H .16. 5 , 4 .(1) ;·41·(2) , read.table() .4(cm) (kg)1 1415642.02 1516549.03 1615741.54 1416252.05 1515945.517. R .A:79.9880.0480.0280.0480.0380.0479.9780.0580.0380.0280.0080.02B:80.0279.9479.9879.9780.0379.9579.97T .18. R ,x3−x−1=0[1,2] , ε=10−6.。