0120911360214 学 号:
自动化基础强化训练
题 目 学 院 专 业 班 级 姓 名 指导教师
自动化基础强化训练
自动化学院 自动化专业 0902班 何润 李浩
2011 年
8 月 28 日
1
武汉理工大学《基础强化训练》课程设计说明书
课程设计任务书
学生姓名: 何润 专业班级: 自动化0902班 指导教师: 李浩 工作单位: 自动化学院 题 目: matlab在非线性规划的应用 初始条件:
(1) Matlab6.5以上版本软件;
(2) 课程设计辅导资料:“Matlab语言基础及使用入门”、“Matlab教程”、
“Matlab宝典”、“Matlab及在电子信息课程中的应用”、MATLAB及其在理工课程中的应用指南等;
(3)先修课程:电路基础、模拟电路、数字电路、Matlab应用实践及信号
处理类课程等。
要求完成的主要任务:
(1)熟悉Matlab的相关界面以及操作,掌握MATLAB的数值计算、符号运
算、 基本绘图等功能,使用文本编辑器编辑m文件,并且运行,熟悉Simulink仿真环境;
(2)对阻抗匹配网络进行原理分析、经过必要的推导建立数学模型,并求解
得出正确的计算结果; (3)编写程序代码(含注释);
(4)上机调试运行程序,给出程序运行结果和图表、以及实验结果分析和总
结;
(5)采用WORD撰写课程设计说明书,说明书中涉及的表格、电路图、图
形等采用Word、Visol、Autocad、Matlab、Simulink等软件绘制。说明书不少于8页(A4),课程设计的心得体会(至少500字)。
时间安排:
具体时间 设 计 内 容 8月25日 指导老师就课程设计内容、设计要求、进度安排、评分标准等做具体介绍。学生确定选题,明确设计要求 8月26日 开始查阅资料,完成系统的分析、建模、求解,上机熟悉MATLAB相关界面与基本操作。 8月27日 采用MATLAB语言编程,上机调试,得出实验结果 8月28日 撰写课程设计说明书 8月29日 上交课程设计说明书,并进行答辩 指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日
2
武汉理工大学《基础强化训练》课程设计说明书
目录
MATLAB简介 .......................................................................................................... 2 1 MATLAB在非线性规划的应用 ..................................... 错误!未定义书签。 1.1非线性规划应用的分析: ................................. 错误!未定义书签。
1.1.1使用临时料场的情形:......................................................................................3
1.1.2 建立模型: .....................................................................................................4 1.1.3应用MATLAB对上面的题目编程: ................................错误!未定义书签。 1.1.4 应用matlab编程计算结果截图: ...............................错误!未定义书签。 1.2.1 改建两个新料场的情形:...............................................................................7 1.2.2 建立模型:........................................................................................................7 1.2.3 应用matlab对题目编程.................................................................................8 1.2.4对应用matlab计算结果截图.........................................................................10
2对比结果分析............................................................................................11 3.心得与理会 ..................................................................................................... 11 参考文献 .............................................................................................................12 附成绩评定表......................................................................................................13
1
武汉理工大学《基础强化训练》课程设计说明书
MATLAB简介
MATLAB是由美国MathWorks公司推出的用于数值计算和图形处理计算系统环境,除了具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能.MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言简捷得多.MATLAB是国际公认的优秀数学应用软件之一.
概括地讲,整个MATLAB系统由两部分组成,即MATLAB内核及辅助工具箱,两者的调用构成了MATLAB的强大功能.MATLAB语言以数组为基本数据单位,包括控制流语句,函数,数据结构,输入输出及面向对象等特点的高级语言,它具有以下主要特点:
1)运算符和库函数极其丰富,语言简洁,编程效率高,MATLAB除了提供和C语言一样的运算符号外,还提供广泛的矩阵和向量运算符.利用其运算符号和库函数可使其程序相当简短,两三行语句就可实现几十行甚至几百行C或FORTRAN的程序功能.
2)既具有结构化的控制语句(如for循环,while循环,break语句,if语句和switch语句),又有面向对象的编程特性.
3)图形功能强大 它既包括对二维和三维数据可视化,图像处理,动画制作等高层次的绘图命令,也包括可以修改图形及编制完整图形界面的,低层次的绘图命令.
4)功能强大的工具箱 工具箱可分为两类:功能性工具箱和学科性工具箱.功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互的功能.而学科性工具箱是专业性比较强的,如优化工具箱,统计工具箱,控制工具箱,小波工具箱,图象处理工具箱,通信工具箱等.
2
武汉理工大学《基础强化训练》课程设计说明书
1 非线性规划的应用(供应与选址问题)
有6个建筑基地要开工,每个工地的位置(用平面坐标系a,b表示,距离单位:km)及水泥日用量d(单位:t)由下表给出。目前有两个临时料理场位于 A(5,1),B(2,7),日储量各有20t。假设从料理场到工地之间均有直线道路相连。(1)试制定每天的供应计划,即从A,B两料理场分别运送多少吨水泥,使总的吨千米数最小。(2)为了进一步减少吨千米数,打算舍弃这两个临时料场,改建两个新的,日储备量各为20吨,应建在何处,节省的吨千米数为多大?
表1 工地位置(a,b)及水泥日用量d a b c
1 1.25 1.25 3 2 8.75 0.75 5 3 0.5 4.75 4 4 5.75 5 7 5 3 6.5 6 6 7.25 7.75 11
1.1非线性规划应用的分析
对于这类供应与选址问题,我们首先要了解方案所要求的条件,即A ,B两个向各工地运送水泥的总吨千米数最小(送运送水泥的吨数乘以距离之和),这样我们可以建立模型,确定目标函数,得出约束条件,然后通过matlab软件编程计算可以得出结果
1.1.1使用临时料场的情形 1.1.2 建立模型
记工地的位置为(ai,bi),水泥日用量为di,i=1.,···,6;料理场的位置为
(xj,yj),日储量为ej,j=1,2;从料场j向工地i的运送量为Xij。
3
武汉理工大学《基础强化训练》课程设计说明书
22minfX(xa)(yb)ijjiii 目标函数为:
j1i126
Xj12ijdi,i1,2,·
约束条件为:Xijej,j1,2
i16
当用临时料场时决策变量为Xij,当不使用临时料场时决策变量为Xij,xj,yj。
使用两个临时料场A(5,1),B(2,7)。求从料场j向工地i的运送量Xij,在各工地用量必须满足不超过日用储备量的条件下,使总得吨千米数最小。这是线性规划问题。线性规划模型为:
minfaa(i,j)Xijj1i126Xijdi,i1,2,3,4,5,6j1s.t6Xijej,j1,2i1
2
其中aa(i,j)(xjai)2(yjbi)2,i1,2,3,4,5,6;j1,2.设X11X1,X21X2,X31X3,X41X4,X51X5,X61X6X12X7,X22X8,X32X9,X42X10,X52X11,X62X12
1.1.3 编写程序gying1.m如下:
4
武汉理工大学《基础强化训练》课程设计说明书
clear
a=[1.25 8.75 0.5 5.75 3 7.25]; b=[1.25 0.75 4.75 5 6.5 7.75]; d=[3 5 4 7 6 11]; x=[5 2]; y=[1 7]; e=[20 20]; for i=1:6 for j=1:2
aa(i,j)=sqrt((x(j)-a(i))^2+(y(j)-b(i))^2); end end
CC=[aa(:,1);aa(:,2)]'; A=[1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1]; B=[20;20];
Aeq=[1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1];
5
武汉理工大学《基础强化训练》课程设计说明书
beq=[d(1),d(2),d(3),d(4),d(5),d(6)]; VLB=[0 0 0 0 0 0 0 0 0 0 0 0];VUB=[]; x0=[1 2 3 0 1 0 0 1 0 1 0 1];
[x,fval]=linprog(CC,A,B,Aeq,beq,VLB,VUB,x0)
1.1.4 应用matlab编程计算结果截图
图 1 源程序截图
6
武汉理工大学《基础强化训练》课程设计说明书
图2 计算结果截图
即由料场A,B6个工地运料方案为: 1 2 料场A 3 5 料场B 0 0
3 0 4 4 7 0 5 0 6 6 1 10 1.2.1改建两个新料场的情形 1.2.2 建立模型
改建两个新料场要同时确定料场的位置(xj,yj)和运送量Xij,在同样的条件下使总吨千米数最小,这是非线性规划问题,其模型为:
minfXij(xjai)2(yibi)2
j1i126Xijdi,i1,2,3,4,5,6j1s.t6 Xijej,j1,2i17
2 武汉理工大学《基础强化训练》课程设计说明书
设X11X1,X21X2,X31X3,X41X4,X51X5,X61X6X12X7,X22X8,X32X9,X42X10,X52X11,X62X12 x1X13,y1X14,x2X15,y2X16
1.2.3 应用matlab程序编写
先编写M文件liaoch.m定义目标函数: function f=liaoch(x)
a=[1.25 8.75 0.5 5.75 3 7.25]; b=[1.25 0.75 4.75 5 6.5 7.75]; d=[3 5 4 7 6 11]; e=[20 20]; f1=0; for i=1:6
s(i)=sqrt((x(13)-a(i))^2+(x(14)-b(i))^2); f1=s(i)*x(i)+f1; end f2=0; for i=7:12
s(i)=sqrt((x(15)-a(i-6))^2+(x(16)-b(i-6))^2); f2=s(i)*x(i)+f2; end f=f1+f2;
8
武汉理工大学《基础强化训练》课程设计说明书
取初值为线性规划的计算结果及临时料场坐标: x0=[3 5 0 7 0 1 0 0 4 0 6 10 5 1 2 7 ]'; 编写gying2.m如下:
x0=[3 5 0 7 0 1 0 0 4 0 6 10 5 1 2 7 ]'; A=[1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 ]; B=[20;20];
Aeq=[1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0]; beq=[3 5 4 7 6 11]';
VLB=[zeros(12,1);-inf;-inf;-inf;-inf]; VUB=[];
[x,fval,exitflag]=fmincon('liaoch',x0,A,B,Aeq,beq,VLB,VUB)
1.2.4计算结果截图
9
武汉理工大学《基础强化训练》课程设计说明书
图3 计算结果截图
即两个料场的坐标为(5.6960,4,9286)(7.2500,7.7500),由两个料场A B向两个工地运料方案为
料场A 料场B 1 2 3 4 5 6 3.0000 5.0000 4.0000 7.0000 1.0000 0 0 0 0 0 5.0000 11.0000 总吨数为.8835 比临时料场节省了47吨千米
10
武汉理工大学《基础强化训练》课程设计说明书
2 对比结果分析
通过这个例子 ,可以看出来matlab在优化问题上的重要性,不仅能选出最优位置,能够为建筑公司节省材料,还能提高建筑效率。
3 小结与体会
通过此次为期两周的课程设计,我感觉很有必要也有不小的收获,把我们在线性代数课上学的知识用于实践,这样便于我们更好的理解所学知识,不懂得地方我们通过查阅相关的书籍和请教老师与同学,这样一方面能巩固前一阶段所学的知识,另一方面可以增强我们的动手能力。
由于时间局限,这次对于matlab的应用还太过于局限,并没有完全掌握,我知道要完全掌握这一个工具需要我们花时间去琢磨,另外在这次时间中,我同样了解到对线性规划这一块的应用,更加深刻的地体会到matlab的功能的强大,也让我通过这一类型的规划题目,对matlab的编程有一定的认识和了解,matlab具有强大的矩阵运算和操作功能,所编写的程序也相对其余的语言较为简单,是一款对学校非常有用的学习软件,我决定在课外之余,我一定会花时间去好好学习它。
另外在编程这一块,我了解到编程需要一个清醒的头脑,明确是思路和一定的耐力,也明白我们在大学不仅学到的是知识,更是一种动手能力,一种自我学习的能力,遇到自己不懂的,要懂得虚心向别人讨教,就如同这次试验中,matlab操作不熟练时,我就向隔壁班一位参加数学建模培训班的人请假,最终
11
武汉理工大学《基础强化训练》课程设计说明书
弄清楚了软件得试验方法。
最后自己要学会总结提高,每做完一个试验,我们零零散散都有一些收获,当你把这些收获总结在一起时候,你将获得一笔不小的财富
参考文献
(1)线性代数学习指导与MATLAB编程实践 邵建锋主编
化学工学出版社
(2)工程线性代数(MATLAB版) 陈怀琛 主编 电子工业出版社
12
武汉理工大学《基础强化训练》课程设计说明书
基础强化训练成绩评定表
姓 名 专业、班级 何润 自动化0902班 性 别 男 课程设计题目:Matlab在非线性规划方面的应用 课程设计答辩或质疑记录: 1: 根据自己选择的题目,说明建立数学模型的步骤 答:对于这类供应与选址问题,我们首先要了解方案所要求的条件,即A ,B两个向各工地运送水泥的总吨千米数最小(送运送水泥的吨数乘以距离之和),这样我们可以建立模型,确定目标函数,得出约束条件,然后通过matlab软件编程计算可以得出结果 2:在仿真过程中,你遇到了哪些问题?你是如何解决的? 答:我这次选的是非线性规划的应用为题,所以并没有仿真,而是通过matlab编程来实现最优问题的解答,在编程中,我不知如何编写M文件,并实现函数的调用,后来通过请教一位数学建模班的人,发现了问题所在,然后自己弄清楚之后,利用编程求出了最优解。 3:通过本次课程设计,如何理解MATLAB/SIMULINK在本专业领域的应用? MATLABMATLAB和Simulink两大部分。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连 matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。在自动化控制中配合Simulink可用于控制系统特性分析、控制系统设计仿真、信号处理及建模等。 成绩评定依据: 序 号 1 2 3 4 5 6 项目 选题合理,目的明确(10分) 设计方案正确,具有可行性、创新性(20分) 设计结果(例如:硬件成果、软件程序)(25分) 态度认真、学习刻苦、遵守纪律(15分) 设计报告的规范化、参考文献充分(不少于5篇)(10分) 答辩(20分) 总 分 得分 最终评定成绩(以优、良、中、及格、不及格评定) 指导教师签字: 年 月 日
13
武汉理工大学《基础强化训练》课程设计说明书
14
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo3.cn 版权所有 湘ICP备2023017654号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务