数学模型程序代码-Matlab-姜启源-第三章-简单的优化模型
- 格式:doc
- 大小:1.38 MB
- 文档页数:18
最优化方法模型在Matlab 中的求解第一讲 线性规划和非线性规划及其在Matlab 中的解法优化模型一般形式为1min (),(,,)(1)..()0,1,2,,(2)Tn Xi z f X X x x s t g X i m==≤=其中f(x)成为目标函数,g(x)称为约束条件,满足(2)式的X 称为可行解,同时满足(1)(2)的X ,称为最优解由(1)(2)组成的模型属于约束优化,只有(1)的模型属于无约束优化。
f ,g 均为线性函数,优化模型(1)(2)就是线性规划,否则就是非线性规划。
一、线性规划 1、 模型描述问题描述为求一组非负变量,这些非负变量在一定先行约束的条件下,使一个线性目标函数取得极小(极大)值的问题。
这类问题可以用如下的数学模型表示112211111111min ......().....()0,1,2,...n n n n m mn n m i z c x c x c x a x a x b s t a x a x b x j n =+++++≥≤⎧⎪⎪⎨++≥≤⎪⎪≥=⎩这类问题就是线性规划问题,也就是LP 问题,一般可写成下列矩阵形式min ()..0Z Cx Ax b s t x =≥≤⎧⎨≥⎩其中A 称为约束矩阵,1(,...)T n x x x =称为决策变量,1(,...)T m b b b =。
通常解决线性规划问题都是先将其一般形式化为下面的标准形式112211111111min ...........0,1,2,...n n n n m mn n m i z c x c x c x a x a x b s t a x a x b x j n=+++++=⎧⎪⎪⎨++=⎪⎪≥=⎩写成矩阵就是min ..0Z Cx Ax b s t x ==⎧⎨≥⎩。
把线性规划化为标准型的方法: (1)目标函数一律化为求极小,如果是求极大,则利用max min()z z ⇔-化为求极小;(2)对Ax b ≤的不等式,利用加入松弛变量的方法化为等式,例如,1212357,5+7x x x x x +≤+=加入松弛变量改为,如果约束条件有>=b 形式的约束,可以在不等式两边同时加负号转化;(3)标准形式中要求0i x ≥,如果某个变量不符合,可以引入两个新变量''',i i x x ,''''''',,0,=,0i i i i i i i i i i i x x x x x l x x l x =-≥≥-≥令其中;如果原来的约束为x 可以令例1 将下面线性规划问题化为标准形式123123123123123min -235742..325,0,z x x x x x x x x x s t x x x x x x =++++≤⎧⎪--≥⎪⎨-++=-⎪⎪≥⎩为自由变量解 引入松弛变量'''45333,,x x x x x =-令代入方程'''1233'''12334'''12335'''1233'''123345min -23357442..3225,,,,,0z x x x x x x x x x x x x x x s t x x x x x x x x x x =+-+⎧++-+=⎪-++-+=-⎪⎨-++-=-⎪⎪≥⎩二、在Matlab 中的求解方法例2 试验问题1 (任务分配问题)某车间有甲乙丙三台车床可以用于加工s 三种零件,这三台车床可以用于工作的最多时间分别为700h ,800h ,900h ,需要加工的三种零件数量为300,400,500,不同车床加工不同的零件所用的时间数和费用如下表,试问:在完成任务的前提下,如何分配加工任务才能使得加工费用最低?问题2(人员安排问题)某城市的巡逻大队要求每天的各个时间段都有一定数量的警员值班,以便随时处理突发事件,每人连续工作6h ,中间不休息,下表是一天8个班次所需值班警员的人数情况统计,现在在不考虑时间段警员上班和下班的情况下,巡逻大队至少需要多少警员才能满足值班需要?这两个问题都是在一定条件下求某些问题的最大值或最小值。
数学模型程序代码-Matlab-姜启源-第三章-简单的优化模型第3章简单的优化模型1. 生猪的出售时机p63~65目标函数(生猪出售纯利润,元):Q(t) = ( 8 – g t )( 80 + rt ) – 4t–640其中,t≥0为第几天出售,g为每天价格降低值(常数,元/公斤),r为每天生猪体重增加值(常数,公斤)。
求t使Q(t)最大。
1.1(求解)模型求解p63(1) 图解法绘制目标函数Q(t) = ( 8 – g t )( 80 + rt ) – 4t–640的图形(0 ≤t≤ 20)。
其中,g=0.1, r=2。
从图形上可看出曲线Q(t)的最大值。
(2) 代数法对目标函数Q(t) = ( 8 – g t )( 80 + rt ) – 4t–640用MATLAB求t使Q(t)最大。
其中,r, g是待定参数。
(先对Q(t)进行符号函数求导,对导函数进行符号代数方程求解)然后将代入g=0.1, r=2,计算最大值时的t和Q(t)。
要求:①编写程序绘制题(1)图形。
②编程求解题(2).③对照教材p63相关内容。
相关的MATLAB函数见提示。
★要求①的程序和运行结果:t=0:1:30;g=0.1;r=2;Q=(8-g.*t).*(80+r.*t)-4.*t-640;plot(t,Q)★要求②的程序和运行结果:程序:syms g t r ;Q=(8-g.*t).*(80+r.*t)-4.*t-640;q=diff(Q,t);q=solve(q);g=0.1;r=2;tm=eval(q)Q=(8-g.*tm).*(80+r.*tm)-4.*tm-640 运行结果:1.2(编程)模型解的的敏感性分析p63~64对1.1中(2)所求得的符号表达式t(r,g),分别对g和r进行敏感性分析。
(1) 取g=0.1,对t(r)在r=1.5:0.1:3上求r与t的关系数据,绘制r与t的关系图形(见教材p65)。
使用MATLAB进行模型优化与模拟退火算法引言:模型优化和模拟退火算法是数学和计算机科学中常用的工具,可以用于解决各种实际问题。
MATLAB是一种强大的数值计算和编程软件,它提供了许多优化工具和算法库,使得模型优化和模拟退火算法的实施变得更加简便和高效。
本文将介绍如何使用MATLAB进行模型优化和模拟退火算法,并探讨其在实际问题中的应用。
一、模型优化模型优化是通过调整模型的参数,使得模型能够最好地拟合观测数据或满足特定的性能要求。
MATLAB中有多种优化工具和算法可以实现模型优化,其中最常用的是fminunc函数和fmincon函数。
fminunc函数用于无约束优化问题,而fmincon函数适用于有约束的优化问题。
下面以一个简单的二次函数优化为例,来演示如何使用MATLAB进行模型优化。
首先,定义一个简单的二次函数,假设为f(x) = x^2 - 4x + 4。
然后,使用fminunc函数求解该二次函数的最小值。
```matlabfun = @(x) x^2 - 4*x + 4;x0 = 0; % 初始值x = fminunc(fun, x0);```以上代码中,fun是待优化的目标函数,x0是初始值,x是优化得到的最优解。
运行上述代码,输出结果为x = 2,即函数f(x)在x = 2处取得最小值。
模型优化不仅可以用于求解最小值,还可以应用于最大值的求解,或者是寻找全局最优解。
通过调整目标函数和约束条件,可以得到不同类型的优化问题。
二、模拟退火算法模拟退火算法是一种启发式搜索算法,模拟了金属退火过程中的原理。
它通过模拟随机性的搜索过程,来找到优化问题的全局最优解。
MATLAB中提供了模拟退火算法的优化工具箱,可以方便地应用于实际问题的求解。
下面以经典的旅行商问题为例,来演示如何使用MATLAB的模拟退火算法解决实际问题。
旅行商问题是求解一组城市之间的最短路径,使得旅行商能够依次访问每个城市并返回起点,路径总长度最短。
《数学建模》课程教学大纲课程编号: 90907011学时:32学分:2适用专业:本科各专业开课部门:各学院一、课程的性质与任务数学建模是研究如何将数学方法和计算机知识结合起来用于解决实际问题的一门边缘交叉学科,是集经典数学、现代数学和实际问题为一体的一门新型课程,是应用数学解决实际问题的重要手段和途径。
本课程主要介绍初等模型、简单优化模型、微分方程模型、概率统计模型、数学规划模型等模型的基本建模方法及求解方法。
通过数学模型有关概念、特征的学习和数学模型应用实例的介绍,培养学生数学推导和简化分析能力,熟练运用计算机能力;培养学生联想、洞察能力,综合分析能力;培养学生应用数学方法解决实际问题的能力。
三、实践教学的基本要求(无)四、课程的基本教学内容及要求第一章数学模型概述1.教学内容数学模型与数学建模、数学建模的基本方法和步骤、数学模型的特点和分类。
2.重点与难点重点:数学模型与数学建模。
难点:数学建模的基本方法和步骤。
3.课程教学要求了解数学模型与数学建模过程;了解数学建模竞赛规程;掌握几个简单的智力问题模型。
第二章初等模型1.教学内容双层玻璃窗的功效、动物的身长与体重。
2.重点与难点重点:初等方法建模的思想与方法。
难点:初等方法建模的思想与方法。
3.课程教学要求了解比例模型及其应用。
第三章简单的优化模型1.教学内容存贮模型、最优价格。
2.重点与难点重点:存贮模型。
难点:存贮模型。
3.课程教学要求掌握利用导数、微分方法建模的思想方法;能解决简单的经济批量问题和连续问题模型。
第四章数学规划模型1.教学内容线性规划建模、非线性规划建模,奶制品的生产与销售、接力队的选拔与选课策略、钢管和易拉罐下料。
2.重点与难点重点:线性规划方法建模、非线性规划建模。
难点:非线性规划方法建模、Lingo软件的使用。
3.课程教学要求掌握线性规划建模方法;了解对偶单纯形的经济意义;了解Lingo数学软件在解决规划问题中的作用。
Matlab技术优化问题建模Matlab技术在优化问题建模中的应用一、引言优化问题是在给定的约束条件下,寻找使目标函数取得最大值或最小值的问题。
在工程和科学领域中,优化问题是十分常见的。
而Matlab作为一种强大的数值计算和科学建模工具,被广泛地应用于各种优化问题的建模与求解中。
本文将介绍Matlab技术在优化问题建模中的应用。
二、优化问题建模的基本框架优化问题的建模过程可以分为以下几个步骤:确定目标函数、确定约束条件、选择优化算法、求解优化问题。
Matlab提供了丰富的函数和工具箱,使得优化问题的建模和求解变得更加简便和高效。
1. 确定目标函数目标函数是优化问题中需要最大化或最小化的函数。
在Matlab中,可以通过定义一个函数来表示目标函数。
例如,对于一个简单的线性优化问题,目标函数可以表示为:```function f = obj(x)f = -2*x(1) - 3*x(2);end```2. 确定约束条件约束条件是优化问题中需要满足的条件。
在Matlab中,可以通过等式或不等式来表示约束条件。
例如,对于一个简单的线性优化问题,约束条件可以表示为: ```function [c, ceq] = con(x)c = [x(1) + x(2) - 1; x(1) - x(2) + 2];ceq = [];end```3. 选择优化算法Matlab提供了多种优化算法,可以根据具体情况选择合适的算法。
例如,对于线性约束优化问题,可以选择使用线性规划算法,如linprog函数;对于非线性约束优化问题,可以选择使用非线性规划算法,如fmincon函数。
4. 求解优化问题在确定了目标函数、约束条件和优化算法后,可以使用Matlab提供的优化函数进行求解。
例如,对于前述的线性优化问题,可以使用linprog函数进行求解,如下所示:```lb = [0; 0];ub = [];A = [];b = [];Aeq = [];beq = [];x0 = [];options = optimoptions('linprog', 'Algorithm', 'dual-simplex');[x, fval, exitflag, output] = linprog(@obj, A, b, Aeq, beq, lb, ub, x0, options);```三、案例分析:调度问题建模与优化为了更好地理解Matlab技术在优化问题建模中的应用,下面以调度问题为例进行分析。
山东大学威海分校应用数学系数学建模课程Matlab基础及其应用山东大学威海分校应用数学系编程的难点和对策☐Matlab为什么也称为语言?语言的用途?词典意味着什么?☐难点:1、编程的工作就是映射2、调试、找错误☐对策:实践,实践,再实践Matlab的学习方法☐必须做大量的练习,熟悉其中的函数☐多看帮助文件,又一本好的参考书☐熟练使用Google等网络资源☐培养良好的编程习惯参考书(1)高等应用数学问题的MATLAB求解薜定宇,陈阳泉著清华大学出版社价格:43.00元参考书(2)优化建模与LINDO/LINGO软件谢金星等清华大学出版社价格:48.00元MATLAB 基础及其应用MATLAB 基础•概述•MATLAB 基本使用•MATLAB 的基本矩阵分析•矩阵操作•流程控制>>>>>一、概述MATLAB是一种交互式的以矩阵为基础的系统计算平台,它用于科学和工程的计算与可视化。
它的优点在于快速开发计算方法,而不在于计算速度。
1.1 MATLAB的出现☐70年代中期,Cleve Moler和他的同事开发了LINPACK和EISPACK的Fortran子程序库☐70年代末期,Cleve Moler 在新墨西哥大学给学生开线性代数,为学生编写了接口程序,这程序取名为MATLAB,即MATrix LABoratory☐1983年春天,工程师John Little与Moler、Steve Bangert一起开发了第二代专业版MATLAB ☐1984年,MathWorks公司成立,MATLAB正是推向市场。
1.2 Matlab的版本演化☐Matlab 1.0☐Pc matlab->matlab 386☐Matlab3.5+simulink☐Matlab 4.0:simlink内嵌☐Matlab 5.0 :全面的面向对象☐Matlab 5.1~5.3☐Matlab 6.0☐Matlab 6.5:购并了MATRIXx ☐Matlab 7.0:20041.3 MATLAB特点☐高度适应性、开放性:MATLAB的工具箱可以任意增减,任何人可以自己生成MATLAB工具箱☐可扩充性:MATLAB的函数大多为ASCII文件,可以直接编辑、修改☐基于矩阵运算的工作平台。
MATLAB模型构建与优化方法介绍一、引言MATLAB(Matrix Laboratory)是一种强大而灵活的数值计算与数据可视化软件,广泛应用于科学、工程、金融等各个领域。
在模型构建与优化方面,MATLAB提供了丰富的工具和函数,使得用户可以方便地进行模型构建和参数优化。
二、MATLAB模型构建在MATLAB中,模型构建是指通过定义变量、方程和约束条件,将实际问题转化为数学模型。
MATLAB提供了多种方式来构建模型,其中最常用的是使用符号运算工具箱。
符号运算工具箱提供了符号计算的功能,可以在MATLAB中创建符号变量、符号函数和符号表达式。
用户可以使用符号计算工具箱对数学公式进行展开、求导、积分等操作,从而方便地构建数学模型。
例如,我们可以使用符号计算工具箱来构建一个简单的线性回归模型。
首先,创建符号变量x和y,表示输入和输出变量。
然后,定义线性模型的表达式为y =a*x + b,其中a和b为待求参数。
最后,通过最小二乘法等方法,可以求解出最优的参数值。
除了符号运算工具箱外,MATLAB还提供了其他模型构建工具,如优化工具箱、神经网络工具箱等。
用户可以根据具体需求选择合适的工具进行模型构建。
三、MATLAB模型优化模型优化是指通过调整模型参数,使得模型能够更好地拟合实际数据或达到最优性能。
MATLAB提供了多种优化方法,包括数值优化、遗传算法、模拟退火等。
1. 数值优化数值优化是一类通过迭代求解数值问题的方法。
MATLAB中的数值优化工具箱提供了多种数值优化算法,包括最小二乘法、非线性规划、最大似然估计等。
用户可以根据具体情况选择合适的算法进行优化。
例如,我们可以使用最小二乘法来优化线性回归模型中的参数。
最小二乘法通过最小化实际输出与模型输出之间的误差平方和,来得到最优的参数估计。
MATLAB中的lsqcurvefit函数可以方便地进行最小二乘法优化,用户只需提供模型函数和初始参数值即可。
2. 遗传算法遗传算法是一种模拟生物进化过程的启发式优化算法。
《数学建模(一)》课程教学大纲【课程基本情况】一、课程代码:000373二、课程类别及性质:公共选修课三、课程学时学分:54学时(教学:24 实践:30)2学分四、教学对象:12、13级学生五、课程教材:《数学模型》、姜启源谢金星叶俊等、高等教育出版社六、开设系(部):信科系七、先修课:高等数学、线性代数【教学目的】通过本课程的学习,使学生能够较好地理解数学模型、数学建模的含义,了解数学建模的重要性。
通过示例的学习使同学们基本掌握建立数学模型的方法和步骤,并能通过数学方法、数学软件求解模型,而且能够对模型的精准性进行分析。
通过学习,培养了同学们的把实际问题表述成数学问题的能力,从而提高了他们的抽象思维能力。
并且通过MATLAB、LINGO 数学软件的应用,提高了他们的计算机应用水平。
【教学内容、基本要求及学时分配】第一章建立数学模型教学时数:2学时第一节从现实对象到数学模型基本要求:掌握数学模型、数学建模的含义。
第二节数学建模的重要意义基本要求:了解数学建模的重要性。
第三节数学建模的示例(不讲授)基本要求:掌握三个示例的建模过程;重点:模型的建立、模型的求解。
第四节数学建模的基本方法和步骤基本要求:掌握数学建模的基本方法和步骤;重点:建模的基本方法和步骤。
第五节数学模型的特点和分类基本要求:了解数学模型的特点和分类。
第六节数学建模能力的培养(不讲授)基本要求:了解建立数学模型所需要的能力。
第二章初等模型教学时数:4学时第一节公平的席位分配基本要求:掌握公平席位的建模方法;重点:建立数量指标。
第二节录像机计数器的用途基本要求:掌握录像机计数器的建模方法;重点:模型的假设及模型的构成。
难点:建立模型的过程。
第三节双层玻璃的功效基本要求:掌握双层玻璃的功效的建模方法及模型应用;重点:模型的构成。
第四节汽车刹车距离基本要求:掌握t秒准则的建立方法;重点:模型建立的过程。
第五节划艇比赛的成绩(不讲授)第六节动物的身长和体重(不讲授)第七节实物交换(不讲授)第八节核军备竞赛(不讲授)第九节扬帆远航(不讲授)第十节量纲分析与无量纲化(不讲授)第三章简单的优化模型教学时数:4学时第一节存贮模型基本要求:掌握存贮模型在两种情况下的建模方法;重点:模型假设。
如何在Matlab中进行数学建模和优化问题求解在当今信息时代,数学建模和优化问题求解在各个领域都扮演着重要的角色。
而Matlab作为一种功能强大的数学软件,在数学建模和优化问题求解方面具有广泛的应用和影响力。
本文将介绍如何在Matlab中进行数学建模和优化问题求解的具体步骤以及一些常用的工具和技巧。
一、数学建模数学建模是指将实际问题转化为数学模型,并通过数学方法对问题进行分析和求解的过程。
在Matlab中进行数学建模,首先要明确问题的数学模型。
一般来说,数学模型分为离散模型和连续模型两种类型。
离散模型主要是指离散的数据,比如图论、网络流等问题。
在Matlab中,关于离散模型的建模和求解可以使用图论和最短路径算法等工具函数来实现。
比如可以使用graph函数构建图,再使用相应的算法来求解最短路径等问题。
连续模型主要是指连续的函数或方程,比如微分方程、优化问题等。
在Matlab 中,关于连续模型的建模和求解可以使用符号计算工具箱和优化工具箱来实现。
符号计算工具箱可以用来求解微分方程,而优化工具箱可以用来求解优化问题,比如线性规划、非线性规划等。
在进行数学建模时,还需要考虑问题的目标函数和约束条件。
目标函数表示问题的目标是最大化还是最小化,而约束条件则是限制问题解的条件。
在Matlab中,可以使用符号计算工具箱和优化工具箱提供的函数来定义和处理目标函数和约束条件。
比如可以使用syms函数定义符号变量,再使用fmincon函数来求解带有约束条件的优化问题。
在实际进行数学建模时,通常会遇到数据不完整或不准确的情况。
因此,对于这种情况,可以使用插值和拟合技术来对数据进行处理和修复。
在Matlab中,可以使用interp1函数进行插值和拟合,并使用polyfit函数进行多项式拟合。
二、优化问题求解优化问题求解是指在给定的约束条件下,寻找使目标函数达到最优的解。
在Matlab中,有多种常用的优化算法可以用于求解优化问题,比如线性规划、非线性规划、整数规划等。
用MATLAB 优化工具箱解线性规划min z=cXbAX t s ≤..1、模型:命令:x=linprog (c ,A ,b )2、模型:beqAeqX bAX ..min =≤=t s cXz 命令:x=linprog (c ,A ,b ,Aeq,beq )注意:若没有不等式:b AX ≤存在,则令A=[],b=[].若没有等式约束,则令Aeq=[],beq=[].3、模型:VUBX VLB beqAeqX bAX ..min ≤≤=≤=t s cXz 命令:[1]x=linprog (c ,A ,b ,Aeq,beq,VLB ,VUB )[2]x=linprog (c ,A ,b ,Aeq,beq,VLB ,VUB,X0)注意:[1]若没有等式约束,则令Aeq=[],beq=[].[2]其中X0表示初始点4、命令:[x,fval]=linprog(…)返回最优解x及x处的目标函数值fval.例1max 6543216.064.072.032.028.04.0x x x x x x z +++++=85003.003.003.001.001.001.0..654321≤+++++x x x x x x t s 70005.002.041≤+x x 10005.002.052≤+x x 90008.003.063≤+x x 6,2,10 =≥j x j 解编写M 文件小xxgh1.m 如下:c=[-0.4-0.28-0.32-0.72-0.64-0.6];A=[0.010.010.010.030.030.03;0.02000.0500;00.02000.050;000.03000.08];b=[850;700;100;900];Aeq=[];beq=[];vlb=[0;0;0;0;0;0];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)例2321436min x x x z ++=120..321=++x x x t s 301≥x 5002≤≤x 203≥x 解:编写M 文件xxgh2.m 如下:c=[634];A=[010];b=[50];Aeq=[111];beq=[120];vlb=[30,0,20];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub例3(任务分配问题)某车间有甲、乙两台机床,可用于加工三种工件。
matlab 实验三 matlab程序设计与优化Matlab是一种高级的计算机编程语言,广泛应用于科学、工程、金融和其他领域。
在Matlab实验三中,我们将学习Matlab程序设计与优化。
本文将介绍Matlab实验三的内容和要求,并提供一些有用的技巧和建议,帮助读者更好地完成实验。
实验三的主要内容包括:1. Matlab程序设计基础2. Matlab程序优化技巧3. Matlab代码调试方法4. Matlab性能分析工具5. 实例分析与练习题下面我们将逐个介绍这些内容。
1. Matlab程序设计基础在本节中,我们将学习如何使用Matlab编写简单的程序。
以下是一些重要的概念和技巧:1)变量和数据类型:在Matlab中,变量可以存储不同类型的数据,如数字、字符串、逻辑值等。
常见的数据类型包括double、char、logical等。
2)运算符:Matlab支持各种数学运算符,包括加减乘除、幂运算等。
此外,还有逻辑运算符(如and、or)和比较运算符(如==、~=)。
3)控制结构:控制结构可以控制程序执行流程。
常见的控制结构包括if语句、for循环和while循环。
4)函数:函数是一种可重复使用的代码块,可以接受输入参数并返回输出结果。
Matlab中有很多内置函数,也可以编写自己的函数。
2. Matlab程序优化技巧在本节中,我们将学习如何优化Matlab程序以提高其性能。
以下是一些重要的技巧:1)向量化:向量化是一种将循环操作转换为矩阵操作的技术。
这样可以减少程序执行时间,并且使代码更简洁。
2)预分配数组:在编写Matlab程序时,应尽可能避免动态数组分配。
相反,应该预先分配所需大小的数组。
3)使用内置函数:Matlab中有许多内置函数,它们通常比用户自定义函数更快。
因此,在编写程序时应尽可能使用内置函数。
4)避免不必要的计算:在编写程序时,应尽可能避免不必要的计算。
例如,在循环中进行重复计算或计算已知结果等。
第1章 建立数学模型1.(求解,编程)如何施救药物中毒p10~11人体胃肠道和血液系统中的药量随时间变化的规律(模型):d ,(0)1100d (,0)d ,(0)0d xx x ty x y y tλλμλμ⎧=-=⎪⎪>⎨⎪=-=⎪⎩ 其中,x (t )为t 时刻胃肠道中的药量,y (t )为t 时刻血液系统中的药量,t =0为服药时刻。
1.1(求解)模型求解p10~11要求:① 用MATLAB 求解微分方程函数dsolve 求解该微分方程(符号运算)。
② 用MATLAB 的化简函数simplify 化简所得结果。
③ 结果与教材P11上的内容比较。
提示:dsolve 和simplify的用法可用help 查询。
建议在命令窗口中操作。
1.2(编程)结果分析p11已知λ=0.1386, μ=0.1155,将上题中得到x(t)和y(t)两条曲线画在同一个图形窗口内。
参考图形如下。
提示:MATLAB命令plot, fplot, hold on/off, grid on/off, xlabel, ylabel, text。
★编写的程序和运行结果:程序1:用plot程序2:用fplot和匿名函数2.(编程,验证)商人们怎样安全过河p8~9三名商人各带一个随从乘船渡河,一只小船只能容纳二人,由他们自己划行。
随从们密约,在河的任一岸,一旦随从的人数比商人多,就杀人越货。
但是如何乘船的大权掌握在商人们手中。
商人们怎样才能安全渡河呢?[模型构成]决策:每一步(此岸到彼岸或彼岸到此岸)船上的人员。
要求:在安全的前提下(两岸的随从数不比商人多),经有限步使全体人员过河。
x k第k次渡河前此岸的商人数y k第k次渡河前此岸的随从数x k , y k=0,1,2,3; k=1,2,⋯过程的状态s k=(x k , y k)允许状态集合S={(x, y)|x=0, y=0,1,2,3; x=3, y=0,1,2,3; x=y=1,2}u k第k次渡船上的商人数v k第k次渡船上的随从数u k , v k=0,1,2; k=1,2,⋯决策d k=(u k , v k)允许决策集合D={(u , v)|u+v =1, 2}状态转移律s k+1=s k+(-1)k d k[多步决策问题]求d k∈D(k=1, 2, ⋯, n), 使s k∈S, 并按转移律由s1=(3,3) 到达s n+1=(0,0)。