0.618法matlab实验报告
- 格式:doc
- 大小:197.00 KB
- 文档页数:4
(最新版)MATLAB实验报告实验一典型环节的MATLAB仿真一、实验目的1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。
2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。
3.定性了解各参数变化对典型环节动态特性的影响。
二、SIMULINK的使用MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。
利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。
1.运行MATLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。
2.选择File菜单下New下的Model命令,新建一个simulink 仿真环境常规模板。
3.在simulink仿真环境下,创建所需要的系统。
以图1-2所示的系统为例,说明基本设计步骤如下:1)进入线性系统模块库,构建传递函数。
点击simulink下的“Continuous”,再将右边窗口中“Transfer Fen”的图标用左键拖至新建的“untitled”窗口。
2)改变模块参数。
在simulink仿真环境“untitled”窗口中双击该图标,即可改变传递函数。
其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK,即完成该模块的设置。
3)建立其它传递函数模块。
按照上述方法,在不同的simulink 的模块库中,建立系统所需的传递函数模块。
例:比例环节用“Math”右边窗口“Gain”的图标。
4)选取阶跃信号输入函数。
用鼠标点击simulink下的“Source”,将右边窗口中“Step”图标用左键拖至新建的“untitled”窗口,形成一个阶跃函数输入模块。
5)选择输出方式。
用鼠标点击simulink下的“Sinks”,就进入输出方式模块库,通常选用“Scope”的示波器图标,将其用左键拖至新建的“untitled”窗口。
实验二黄金分割法
一、实验目的
1、在已知优化问题的搜索区间基础上,求解一维优化问题,加深对算法的理解。
2、验证黄金分割法的算法流程
二、实验原理
黄金分割法是建立在区间消去法原理基础上的试探方法,即在搜索区间[a,b]内适当插入两点a1、a2,并计算其函数值。
a1、a2将区间分成三段,应用函数的单峰性质,通过函数值大小的比较,删去其中一段,使搜索区间得以缩短。
然后再在保留下来的区间上做同样的处置。
如此迭代下去,使搜索区间无限缩小,从而得到极小点的数值近似解。
黄金分割法的计算步骤如下:
三、主要仪器及耗材
计算机,matlab 2010a开发平台。
四、实验内容和步骤
1、在matlab 2010a平台上按照黄金分割法算法狂徒编写算法程序
2、编译运行程序,输入参数,得到运行结果
3、分析运行结果,并判断程序的正确性
五、数据处理与分析
六、实验注意事项
注意matlab的语言规则,养成良好的变成习惯。
黄金分割法参考程序
运行过程。
MATLAB实验报告机电工程学院姓名:李祖达学号: 5901111120专业:机械设计制造及其自动化目录实验一熟悉MATLAB环境认识MATLAB (3)实验二 MATLAB运算础 (6)实验三 MATLAB矩阵分析和理 (8)实验四求余弦的积分并绘出像 (11)实验五、六用matlab求解多项式并用plot绘制函数图象(常微分程) (13)实验七函数件 (16)实验八、九 MATLAB程序设计(循环、择) (19)实验十采用SIMULINK的系统真 (24)实验十一菜单设计 (27)实验一熟悉MATLAB 环境认识MATLAB一、 实验目的熟悉matlab 的安装与启动;熟悉matlab 用户界面;熟悉matlab 功能、建模元素;熟悉matlab 优化建模过程。
二、 实验设备与仪器1.微机2.matlab 仿真软件 三、 实验步骤1. 了解matlab 的硬件和软件必备环境;2. 启动matlab ;3. 熟悉标题栏,菜单栏,工具栏,元素选择窗口,状态栏,控制栏以及系统布局区;4. 学习优化建模过程。
四、 实验报告要求1. 写出matlab 系统界面的各个构成;以及系统布局区的组成;以及每一部分的功能;2. 优化建模过程应用举例 五、实验内容(一)、Matlab 操作界面1. 命令窗口(command window )2. 命令历史窗口(command history )3. 工作空间管理窗口(workspace )4. 当前路径窗口(current directory )(二)、实现下列优化建模过程1、简单矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A 的输入步骤。
指令:A=[1 2 3 ;4 5 6 ;7 8 9] A =1 2 3 4 5 6 7 8 92、矩阵的分行输入。
A=[1,2,3 4,5,6 7,8,9] 指令: >> A=[1,2,3 4,5,67,8,9]A =1 2 3 4 5 6 7 8 9 3、指令的续行输入S=1-1/2+1/3-1/4+ ... 1/5-1/6+1/7-1/8 指令:S=1-1/2+1/3-1/4+ ... 1/5-1/6+1/7-1/8 S = 0.63454、画出衰减振荡曲线t e y t 3sin 3-=及其它的包络线30t e y -=。
实验一:Matlab操作环境熟悉一、实验目的1.初步了解Matlab操作环境。
2.学习使用图形函数计算器命令funtool及其环境。
二、实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算:1.单函数运算操作。
求下列函数的符号导数(1)y=sin(x); (2) y=(1+x)^3*(2-x);求下列函数的符号积分(1)y=cos(x);(2)y=1/(1+x^2);(3)y=1/sqrt(1-x^2);(4)y=(x1)/(x+1)/(x+2)求反函数(1)y=(x-1)/(2*x+3); (2) y=exp(x); (3) y=log(x+sqrt(1+x^2));代数式的化简(1)(x+1)*(x-1)*(x-2)/(x-3)/(x-4);(2)sin(x)^2+cos(x)^2;(3)x+sin(x)+2*x-3*cos(x)+4*x*sin(x);2.函数与参数的运算操作。
从y=x^2通过参数的选择去观察下列函数的图形变化(1)y1=(x+1)^2(2) y2=(x+2)^2(3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4 (6)y6=x^2/23.两个函数之间的操作求和(1)sin(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5乘积(1)exp(-x)*sin(x) (2) sin(x)*x商(1)sin(x)/cos(x); (2) x/(1+x^2); (3) 1/(x-1)/(x-2);求复合函数(1)y=exp(u) u=sin(x) (2) y=sqrt(u) u=1+exp(x^2)(3) y=sin(u) u=asin(x) (4) y=sinh(u) u=-x实验二:MATLAB基本操作与用法一、实验目的1.掌握用MATLAB命令窗口进行简单数学运算。
MATLAB课程设计院(系)数学与计算机学院专业信息与计算科学班级学生姓名学号指导老师赵军产提交日期实验内容: 1. Taylor逼近的直观演示用Taylor 多项式逼近y = sin x.已知正弦函数的Taylor 逼近式为∑=----=≈nkk kkxxPx1121!)12()1()(sin.实验目的:利用Taylor多项式逼近y = sin x,并用图形直观的演示。
实验结果报告(含基本步骤、主要程序清单、运行结果及异常情况记录等):1.将k从1取到5,得到相应的P = x-1/6*x^3+1/120*x^5-1/5040*x^7+1/362880*x^9;2.用MATLAB进行Taylor逼近,取x的范围是(-3.2,3.2);程序清单如下:syms x; y = sin(x); p = x - (x^3)/6 + (x^5)/120 - (x^7)/5040 + (x^9)/362880 x1 = -3.2:0.01:3.2;ya = sin(x1);y1 = subs(p,x,x1);plot(x1,ya,'-',x1,y1)4.程序运行正常。
思考与深入:取y = sin x 的Taylor 多项式为P 的逼近效果很良好,基本接近y = sin x 的图像,不过随着k 的取值变多,逼近的效果会越来越好。
实验内容: 2. 数据插值在(,)[8,8][8,8]x y =-⨯-区域内绘制下面曲面的图形:2222sin()x y z x y+=+并比较线性、立方及样条插值的结果。
.实验目的:学会用MATLAB对函数进行线性、立方及样条插值,并比较结果。
实验结果报告(含基本步骤、主要程序清单、运行结果及异常情况记录等):1.用MATLAB一次进行对函数的线性、立方、及样条插值,并进行算法误差分析。
2.主要程序如下:[x,y] = meshgrid(-8:1:8,-8:1:8);z = sin((x.^2 + y.^2).^0.5)./((x.^2 + y.^2).^0.5);surf(x,y,z),axis([-8,8,-8,8,-2,3])title('z的曲面图形'); %画出z的曲面图形%选较密的插值点,用默认的线性插值算法进行插值figure;[x1,y1] = meshgrid(-8:0.4:8,-8:0.4:8);z1=interp2(x,y,z,x1,y1);surf(x1,y1,z1),axis([-8,8,-8,8,-2,3])title('线性插值');%立方和样条插值figure;z1=interp2(x,y,z,x1,y1,'cubic');z2=interp2(x,y,z,x1,y1,'spline');surf(x1,y1,z1),axis([-8,8,-8,8,-2,3])title('立方插值');figure;surf(x1,y1,z2),axis([-8,8,-8,8,-2,3])title('样条插值');%算法误差的比较z = sin((x1.^2 + y1.^2).^0.5)./((x1.^2 + y1.^2).^0.5);figure;title('误差分析1');figure;surf(x1,y1,abs(z-z2)),axis([-8,8,-8,8,0,0.025]) title('误差分析2');3.结果如下:4.程序运行正常。
MATLAB实验报告MATLAB实验报告姓名:专业:学号:实验⼀MATLAB环境的熟悉与基本运算⼀、实验⽬的:1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算⼆、实验基本知识:1.熟悉MATLAB环境:MATLAB桌⾯和命令窗⼝、命令历史窗⼝、帮助信息浏览器、⼯作空间浏览器⽂件和搜索路径浏览器。
2.掌握MATLAB常⽤命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英⽂字母开头(3)长度不⼤于31个(4)区分⼤⼩写MATLAB中设置了⼀些特殊的变量与常量,列于下表。
MATLAB运算符,通过下⾯⼏个表来说明MATLAB的各种常⽤运算符表2MATLAB算术运算符表3MATLAB关系运算符表4MATLAB逻辑运算符表5MATLAB特殊运算4.MATLAB的⼀维、⼆维数组的寻访表6⼦数组访问与赋值常⽤的相关指令格式5.MATLAB的基本运算表7两种运算指令形式和实质内涵的异同表6.MATLAB的常⽤函数表8标准数组⽣成函数表9数组操作函数三、实验内容1、学习安装MATLAB软件。
2、学习使⽤help命令,例如在命令窗⼝输⼊helpeye,然后根据帮助说明,学习使⽤指令eye(其它不会⽤的指令,依照此⽅法类推)3、学习使⽤clc、clear,观察commandwindow、commandhistory和workspace等窗⼝的变化结果。
4、初步程序的编写练习,新建M-file,保存(⾃⼰设定⽂件名,例如exerc1、exerc2、exerc3……),学习使⽤MATLAB的基本运算符、数组寻访指令、标准数组⽣成函数和数组操作函数。
注意:每⼀次M-file的修改后,都要存盘。
四、实验结果练习A:(1)helprand,然后随机⽣成⼀个2×6的数组,观察commandwindow、commandhistory和workspace等窗⼝的变化结果。
《最优化方法》实验报告实验序号:01 实验项目名称:线性规划及MATLAB应用《最优化方法》实验报告实验序号:02 实验项目名称:0.618黄金分割法的应用结果分析:根据以上结果可知,在区间[0,3]上,函数g(x)=x^3-2*x+1的最小值点在x=0.9271处,此时最小值为0。
第二题:P50 例题3.1程序:function [t,f]=golden3(a,b) %黄金分割函数的m文件t2=a+0.382*(b-a);f2=2*(t2)^2-(t2)-1;t1=a+0.618*(b-a); %按照黄金分割点赋值,更准确可直接算f1=2*(t1)^2-(t1)-1;while abs(t1-t2)>0.16; %判定是否满足精度if f1<f2a=t2;t2=t1;f2=f1;t1=a+0.618*(b-a);f1=2*(t1)^2-(t1)-1;elseb=t1;t1=t2;f1=f2;t2=a+0.382*(b-a);f2=2*(t2)^2-(t2)-1;endendt=(t1+t2)/2; %满足条件取区间中间值输出第四题:P64 T3程序:function [t,d]=newtow2(t0)t0=2.5;t=t0-(4*(t0)^3-12*(t0)^2-12*(t0)-16)/(12*(t0)^2-24*(t0)-12);k=1;T(1)=t;while abs(t-t0)>0.000005t0=t;t=t0-(4*(t0)^3-12*(t0)^2-12*(t0)-16)/(12*(t0)^2-24*(t0)-12); k=k+1;T(k)=t;endt1=t0;d=(t1)^4-4*(t1)^3-6*(t1)^2-16*(t1)+4;kTend运行结果:当x(0)=2.5当x(0)=3四.实验小结:1.通过这次实验,加深了对0.618法的理解。
2.在学习0.618法的过程中,又巩固了倒数、求解函数值等相关知识。
开课学院及实验室:机电学院 2012年11 月16日
(2)在E盘新建一个文件夹并把其加入搜索路径。
截屏相关过程结果并保存。
(3)逐步按照以下步骤进行并记录各个步骤的结果:
1)在指令窗中输入clear指令;
5)再次在指令窗中输入clear指令后,输入
8)把cow.m暂时移动到另一个无关的文件夹,如“我的文档”。
(2)保存全部变量为数据文件Mydata.mat;在对应文件夹中找到该文件,截屏后保存结果;
(4)删除全部内存变量;
Editor/Debugger和脚本编写初步
把以下指令编写为M脚本文件,并运行:
t=0:pi/50:4*pi;
y0=exp(-t/3); y=exp(-t/3).*sin(3*t); plot(t,y,'-r',t,y0,':b',t,-y0,':b') grid
什么?此方法也是查询函数注释的有效方法,请牢记。
最优化方法实验报告(1)最优化方法实验报告Numerical Linear Algebra And Its Applications学生所在学院:理学院学生所在班级:计算数学10-1学生姓名:甘纯指导教师:单锐教务处2013年5月实验一实验名称:熟悉matlab基本功能实验时间: 2013年05月10日星期三实验成绩:一、实验目的:在本次实验中,通过亲临使用MATLAB,对该软件做一全面了解并掌握重点内容。
二、实验内容:1. 全面了解MATLAB系统2. 实验常用工具的具体操作和功能实验二实验名称:一维搜索方法的MATLAB实现实验时间: 2013年05月10日星期三实验成绩:一、实验目的:通过上机利用Matlab数学软件进行一维搜索,并学会对具体问题进行分析。
并且熟悉Matlab软件的实用方法,并且做到学习与使用并存,增加学习的实际动手性,不再让学习局限于书本和纸上,而是利用计算机学习来增加我们的学习兴趣。
二、实验背景:(一)0.618法(黄金分割法),它是一种基于区间收缩的极小点搜索算法,当用进退法确定搜索区间后,我们只知道极小点包含于搜索区间内,但是具体哪个点,无法得知。
1、算法原理黄金分割法的思想很直接,既然极小点包含于搜索区间内,那么可以不断的缩小搜索区间,就可以使搜索区间的端点逼近到极小点。
2、算法步骤用黄金分割法求无约束问题min (),f x x R ∈的基本步骤如下:(1)选定初始区间11[,]a b 及精度0ε>,计算试探点:11110.382*()a b a λ=+-11110.618*()a b a μ=+-。
(2)若k k b a ε-<,则停止计算。
否则当()()k k f f λμ>时转步骤(3)。
当()()k k f f λμ≤转步骤(4)。
(3)置11111110.382*()k kk k k k k k k k a b b a b a λλμμ+++++++=??=??=??=+-?转步骤(5)(4)置11111110.382*()k k k k k k k k k k a a b a b a μμλλ+++++++=??=??=??=+-?转步骤(5)(5)令1k k =+,转步骤(2)。
MATLAB实验报告(2)仲恺农业⼯程学院实验报告纸_⾃动化学院_(院、系)_⼯业⾃动化_专业_144_班_Matlab仿真控制实践课程实验⼀MATLAB绘图基础⼀、实验⽬的了解MATLAB常⽤命令和常见的内建函数使⽤。
熟悉矩阵基本运算以及点运算。
掌握MATLAB绘图的基本操作:向量初始化、向量基本运算、绘图命令plot,plot3,mesh,surf 使⽤、绘制多个图形的⽅法。
⼆、实验内容建⽴并执⾏M⽂件multi_plot.m,使之画出如图的曲线。
三、实验⽅法四、实验要求1.分析给出的MA TLAB参考程序,理解MA TLAB程序设计的思维⽅法及其结构。
2.添加或更改程序中的指令和参数,预想其效果并验证,并对各语句做出详细注释。
对不熟悉的指令可通过HELP查看帮助⽂件了解其使⽤⽅法。
达到熟悉MA TLAB画图操作的⽬的。
3.总结MATLAB中常⽤指令的作⽤及其调⽤格式。
五、实验思考1、实现同时画出多图还有其它⽅法,请思考怎样实现,并给出⼀种实现⽅法。
(参考程序如下)2、思考三维曲线(plot3)与曲⾯(mesh, surf)的⽤法,(1)绘制参数⽅程233,)3cos(,)3sin()(t z e t t y e t t t x t t ===--的三维曲线;(2)绘制⼆元函数xyy x ex x y x f z ----==22)2(),(2,在XOY 平⾯内选择⼀个区域(-3:0.1:3,-2:0.1:2),然后绘制出其三维表⾯图形。
(以下给出PLOT3和SURF 的⽰例)绘制题⽬要求曲⾯:%绘制⼆元函数,在XOY平⾯内选择⼀个区域(-3:0.1:3,-2:0.1:2)仲恺农业⼯程学院实验报告纸_⾃动化学院_(院、系)_⼯业⾃动化_专业_144_班_Matlab 仿真控制实践课程实验⼆:基于Simulink 的控制系统仿真实验⽬的1.掌握MATLAB 软件的Simulink 平台的基本操作; 2.能够利⽤Simulink 平台研究PID 控制器对系统的影响;实验原理PID (⽐例-积分-微分)控制器是⽬前在实际⼯程中应⽤最为⼴泛的⼀种控制策略。
matlab操作实验报告一、实验目的1、学会使用matlab建立.m文件。
2、学会二机五节点的潮流计算计算原理。
3、学会使用matlab命令窗编写程序。
4、学会潮流计算的matlab的程序。
5、学会matlab中simulink模块库的模型用法。
二、实验原理潮流分布(1)描述电力系统运行状态的技术术语,它表明电力系统在某一确定运行方式和接线方式下,系统从电源经网络到负荷各处的电压、电流、功率的大小和方向的分布情况。
(2)电力系统潮流分布主要取决于负荷的分布、电力网参数、以及和供电电源之间的关系。
潮流计算的方法1)建立描述电力系统运行状态的数学模型;2)确定解算数学模型的方法;3)制定程序框图,编写计算机计算程序,并进行计算;4)对计算结果进行分析。
对图1所示电力系统拓扑图进行潮流计算该拓扑图为2机5节点的系统应用Matpower计算潮流技巧的核心在于输入好三个矩阵和部分参数,清晰的知道输入参数、矩阵中每一个元素的含义。
参数一、MATPOWER CaseFormat:Version2mpc.version='2';解释:目前普遍采用2形式的算法。
参数二、system MVA base mpc.baseMVA=100;解释:采用有铭值图1mpc.baseMVA=100;(Matpower只能计算有铭值得网络)矩阵一%%bus data %bus_i type Pd Qd Gs Bs area Vm Va baseKV zone Vmax Vmin解释:bus data母线参数也就是我们所说的节点参数,下面逐条注释:1bus number(positive integer):第一列表示节点的编号(括号里面注释正整数); 2bus type:第二列表示节点的类型,一般只用得到1、2、3三种节点类型,4类型的节点目前没有接触到。
PQ bus=1PV bu=2reference bus=3isolated bu=43Pd,(MW):表示负荷所需要的有功功率(所有数据都是正数)(有铭值)。
最优化实验报告一学号:1186320…姓名:一、实验目的1.能够对具体的问题用适合的最优化方法进行求解。
2.对同一个问题用不同的进行求解并比较优劣。
二、实验方法利用MATLAB软件,用0.618法和二分法求解问题。
三、实验题目书本p271.求解minf(x)=x^2-x-1.初始区间为[-1,1],区间精度为0.05.2.求minf(x)=x^3-2x+1的近似解,初始搜索区间为[0,3],区间精度为0.15.3.minf(x)=x^3-3*x+1,初始区间为[0,1],区间精度为0.104.minf(x)=x^4+2*x+4;初始区间为[0,2],区间精度为0.055.minf(x)=3*x^4-4*x^3+12*x^2,初始区间为[-1,2],区间精度为0.02四、解答此外程序的运行时间与电脑的负载有一定的联系。
在进行比较复杂的运算时,电脑空闲空间大,就能更快的输出结果。
五、实验程序1.①用0.618程序function [s,phis,k,G,E]=golds(phi,a,b,delta,epsilon)t=(sqrt(5)-1)/2; h=b-a; phia=feval(phi,a); phib=feval(phi,b);p=a+(1-t)*h; q=a+t*h; phip=feval(phi,p); phiq=feval(phi,q);k=1; G(k,:)=[a, p, q, b];while(abs(phib-phia)>epsilon)|(h>delta)if(phip<phiq)b=q; phib=phiq; q=p; phiq=phip;h=b-a; p=a+(1-t)*h; phip=feval(phi,p);a=p; phia=phip; p=q; phip=phiq;h=b-a; q=a+t*h; phiq=feval(phi,q);endk=k+1; G(k,:)=[a, p, q, b];endds=abs(b-a); dphi=abs(phib-phia);if(phip<=phiq)s=p; phis=phip;elses=q; phis=phiq;endE=[ds,dphi];tic[s,phis,k,G,E]=golds(inline('s^2-s-1'),-1,1,5e-2,5e-2)toc二分法:fdff.m:function dy=fdiff(x)syms x;f=x^2-x-1;dy=fdiff(f);eff.m:function [k,s,G]=eff(phi,a,b,delta,epsilon)h=0.5*(b-a);phia=feval(phi,a);phib=feval(phi,b);p=a+h;phip=feval(phi,p);k=1;G(k,:)=[k,a,b,p,phip];dphip=subs(fdiff,p);dphia=subs(fdiff,a);dphib=subs(fdiff,b);while(abs(phib-phia)>epsilon)|(h>delta)if(dphip*dphib>0)b=p;phib=phip;elsea=p;phia=phip;endh=0.5*(b-a);p=a+h;phip=feval(phi,p);dphip=subs(fdiff,p);dphia=subs(fdiff,a);dphib=subs(fdiff,b);k=k+1;G(k,:)=[k,a,b,p,phip];endtic[k,s,G]=eff(inline('x^2-x-1'),-1,1,5e-2,5e-2) toc。
《数值优化》实验报告实验[1] [0.618法]专业学号姓名日期1 实验目的练习matlab程序设计,用精确线搜索,求目标函数在给定区间的极小值问题2 实验内容利用程序求解极小值问题[ s ,phis, k, G, E]=golds(inline(‘s^2-sin(s)’),0,1,1e-4,1e-5)3 算法设计0.618法也称黄金分割法,其基本思想是通过试探点函数值得比较,使得包含极小值的区间不断缩小。
输入:phi是目标函数,a,b是搜素区间的两个端点Delta,epsilon 分别是自变量和函数值得容许误差输出:是,phis分别是近似极小点和极小值,G是n*4矩阵其第k行分别是a,p,q,b的第k次迭代值E=[ds,dphi]分别是s和phis的误差线4 程序代码function [s,phis,k,G,E]=golds(phi,a,b,delta,epsilon)t=(sqrt(5)-1)/2; h=b-a;phia=feval(phi,a); phib=feval(phi,b);p=a+(1-t)*h; q=a+t*h;phip=feval(phi,p); phiq=feval(phi,q);k=1; G(k,:)=[a, p, q, b];while(abs(phib-phia)>epsilon)|(h>delta)if(phip<phiq)b=q; phib=phiq; q=p; phiq=phip;h=b-a; p=a+(1-t)*h; phip=feval(phi,p);elsea=p; phia=phip; p=q; phip=phiq;h=b-a; q=a+t*h; phiq=feval(phi,q);endk=k+1; G(k,:)=[a, p, q, b];endds=abs(b-a); dphi=abs(phib-phia);if(phip<=phiq)s=p; phis=phip;elses=q; phis=phiq;endE=[ds,dphi];5 运行结果[ s ,phis, k, G, E]=golds(inline(‘s^2-sin(s)’),0,1,1e-4,1e-5)6 结果分析0.618法计算起来逻辑简单仅需要计算函数值,适用范围广,使用方便,但是任何事都是利弊共存的,0.618法计算效率不高,需要大量的计算,而且只是线性收敛。
电子信息学院《MATLAB与通信仿真》实验指导书刘紫燕编写适用专业:通信工程贵州大学二O一四年二月前言本课程是通信工程专业的选修课程。
课程内容包含MATLAB的基本操作、MATLAB程序设计、函数文件、MATLAB的图形和数据处理、SIMULNK的基本应用及其在通信工程中的应用等。
通过本课程的学习,掌握MATLAB软件使用和编程方法,验证和深化书本知识,从而加强基础知识,掌握基本技能,提高MATLAB软件的编程能力,并用MATLAB软件解决通信工程专业中的实际问题,同时,针对通信工程专业的特点,要求学生掌握使用MATLAB来研究和开发与本专业相关的系统的方法。
本课程设置5个实验,均为设计性实验。
建议实验学时为12学时。
实验一是MATLAB软件的基本操作;实验二是MATLAB程序设计;实验三是MATLAB的图形绘制;实验四是MATLAB的数据处理;实验五是MATLAB/Simulink在电路中的仿真设计。
每个实验2个小时左右,为了使学生更好的掌握实验内容,学生务必要做到以下几点:(1)实验前认真预习实验。
明确实验目的,熟悉实验内容,理论分析实验结果,编写相应的程序代码,并撰写出预习报告。
(2)实验过程中积极思考,深入分析命令、程序的执行过程和执行结果,对比理论分析结果,分析评判实验结果,并把实验中出现的问题及解决方法记录下来。
(3)实验完成后,总结本次实验有哪些收获,还存在什么问题,撰写并提交最终的实验报告。
本指导书实验项目和要求明确,学生容易着手实验并得出实验结果。
本实验指导书适用于通信工程专业。
目录实验一MATLAB的基本操作 (1)实验二MATLAB程序设计 (9)实验三MATLAB的图形绘制 (11)实验四MATLAB的数据处理 (13)实验五MATLAB/Simulink在电路中的仿真设计 (15)实验报告的基本内容及要求 (20)贵州大学实验报告 (21)实验一 MATLAB 的基本操作实验学时:2实验类型:设计实验要求:必做一、实验目的1、 熟悉MATLAB 的界面功能和基本操作;2、 掌握MATLAB 的基本运算方法;3、 掌握MATLAB 的矩阵运算方法;4、 掌握MATLAB 中帮助命令的使用方法。
1. 0.618法方法原理:定理: 设f 是区间],[b a 上的单峰函数, ] ,[ ,)2()1(b a x x ∈, 且)2()1(x x <. 如果)()()2()1(x f x f >, 则对每一个],[)1(x a x ∈, 有)()()2(x f x f >; 如果)()()2()1(x f x f ≤,则对每一个] ,[)2(b x x ∈, 有)()()1(x f x f ≥. 根据上述定理, 只需选择两个试探点, 就可将包含极小点的区间缩短. 事实上, 必有 如果)()()2()1(xf x f >, 则],[)1(b x x ∈; 如果)()()2()1(x f x f ≤, 则][)2(x a x ,∈. 0.618 法的基本思想是, 根据上述定理, 通过取试探点使包含极小点的区间(不确定区间)不断缩短, 当区间长度小到一定程度时, 区间上各点的函数值均接近极小值, 因此任意一点都可作为极小点的近似.0.618 法计算试探点的公式:).(618.0),(382.0k k k k k k k k a b a a b a -+=-+=μλ 2. 0.618法的算法步骤:①置初始区间],[11b a 及精度要求0>L , 计算试探点1λ和1μ, 计算函数值)(1λf 和)(1μf . 计算公式是).(618.0 ),(382.011111111a b a a b a -+=-+=μλ令1=k .②若L a b k k <-, 则停止计算. 否则, 当)()(k k f f μλ>时, 转步骤③; 当)()(k k f f μλ≤时, 转步骤④.③置k k a λ=+1, k k b b =+1, k k μλ=+1,)(618.01111++++-+=k k k k a b a μ, 计算函数值)(1+k f μ, 转步骤⑤.④置k k a a =+1, k k b μ=+1, k k λμ=+1,)(382.01111++++-+=k k k k a b a λ, 计算函数值)(1+k f λ, 转步骤⑤.⑤置1:+=k k , 返回步骤②.一.实验流程图及其MATLAB 实现:1. 流程图:2.代码及数值算例:(1)程序源代码:function [x,k]=GSe(f,a,b,delta) % 0.618法求解单峰函数极小点f=inline(f);N=10000;for k=1:Nm=a+0.382*(b-a);n=a+0.618*(b-a);if f(m)>f(n)a=m;m=n;else b=n;n=m;endif abs(b-a)<deltax=0.5*(b+a);break ;endend(2) 数值算例:12def )(min 2--x x x f ,初始区间]1,1[],[11-=b a , 精度16.0≤L .(i) 键入命令:>> [x,k]=GSe('2*x^2-x-1',-1,1,0.16)(ii) 运行结果:x =0.2229k =6二.总结:0.618法(黄金分割法)适用于单峰函数, 故应先确定目标函数的单峰区间, 方可进行迭代计算. 但单峰区间不是很明显就能确定, 故可用进退法寻找并确定单峰区间.三.参考文献:陈宝林 编著《最优化 理论与算法》 清华大学出版社 2005年10月第2版。