Matlab(R2009a版)_MATLAB简述_第1页
Matlab(R2009a版)_MATLAB简述_第2页
Matlab(R2009a版)_MATLAB简述_第3页
Matlab(R2009a版)_MATLAB简述_第4页
Matlab(R2009a版)_MATLAB简述_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、优化方法优化方法MATLABMATLAB实例实例2021-12-132概述MATLAB语言的优点:语言的优点: 简单易学; 代码短小高效,只需熟悉算法特点、使用场合、函数调用格式和参数意义,不必花大量时间纠缠具体算法; 计算功能非常强大; 强大的图形表达功能; 可扩展性能。2021-12-133运行环境MATLAB提供两种运行方式: 一是命令行方式; 二是M文件方式。具体情况见下面的两幅图。2021-12-134命令行运行方式2021-12-135M文件输入方式2021-12-136主界面功能介绍 命令窗口右侧是工作空间窗口,其中包括变量名、变量数组大小、变量字节大小和变量类型。双击该变量会出

2、现该变量的详细信息。 命令历史窗口显示所有执行过的命令,可以双击再次执行。当前目录窗口显示当前目录下所有文件类型和最后修改时间。2021-12-1372021-12-1382021-12-139MATLAB2009的通用命令10 数值表示、变量及表达式数值表示、变量及表达式 (续)(续)运算运算数学表达式数学表达式MATLAB运算运算符符MATLAB表达表达式式加加a+b+a+b减减a-b-a-b乘乘axb*a*b除除a/b或或ab/或或a/b或或ab幂幂abba11代数方程求解代数方程求解solve(f,v):求方程关于指定自变量的解,求方程关于指定自变量的解,f 可以是可以是用字符串表示的

3、方程用字符串表示的方程、符号表达式符号表达式或或符号符号方程方程;l solve 也可解方程组也可解方程组(包含非线性包含非线性);l 得不到解析解时,给出数值解。得不到解析解时,给出数值解。 2021-12-1312 符号计算符号计算 syms x y z %建立符号变量建立符号变量x,y,z=solve(2*x+3*y-z-2,8*x+2*y+3*z-4,45*x+3*y+9*z-23)x = 151/273 y = 8/39 z = -76/27313计算导数计算导数g=diff(f,v):求符号表达式求符号表达式 f 关于关于 v 的导数的导数g=diff(f):求符号表达式求符号表达

4、式 f 关于关于默认变量默认变量的导数的导数g=diff(f,v,n):求求 f 关于关于 v 的的 n 阶导数阶导数q diff syms x; f=sin(x)+3*x2; g=diff(f,x)14符号表达式的替换符号表达式的替换subs(f,x,a) 用用 a 替换字符函数替换字符函数 f 中的字符变量中的字符变量 x a 是可以是是可以是 数数/数值变量数值变量/表达式表达式 或或 字符变量字符变量/表达式表达式若 x 是一个由多个字符变量组成的数组或矩阵,则 a 应该具有与 x 相同的形状的数组或矩阵。q 用给定的用给定的数据数据替换符号表达式中的指定的替换符号表达式中的指定的符号

5、变量符号变量subssubs函数调用格式为:函数调用格式为:R=subs(s) R=subs(s) 使用工作空间中的变量来替换符号表达式使用工作空间中的变量来替换符号表达式s s中的中的所有符号变量所有符号变量, ,如果没有指定某符号变量的值如果没有指定某符号变量的值, ,该符该符号变量不会被替换。号变量不会被替换。R=subs(s,new) R=subs(s,new) 使用新的符号变量使用新的符号变量newnew来替换原来符号表达式来替换原来符号表达式s s中中的默认变量。的默认变量。R=subs(s,old,new) R=subs(s,old,new) 使用新的符号变量使用新的符号变量ne

6、wnew来替换原来符号表达式来替换原来符号表达式s s中的变量中的变量old,old,当当newnew是数值形式的符号时是数值形式的符号时, ,就用数值就用数值替换替换old,old,所得结果仍是字符串形式。所得结果仍是字符串形式。符号表达式的替换符号表达式的替换【例例】 已知符号表达式已知符号表达式,试完成以下操作。试完成以下操作。(1)将将x换成换成t;(2)接着将接着将b换成换成y;(3)当当t=2时时,计算(计算(2)的值;)的值;(4)当当y=3时时,计算(计算(3)的值。)的值。 syms a b c t x y f=(b2*x-4*a*c)(1/2)+(x+y)/(y+b); f

7、1=subs(f,t)f1 = (t + y)/(b + y) + (b2*t - 4*a*c)(1/2) f2=subs(f1,b,y)f2 = (t + y)/(2*y) + (t*y2 - 4*a*c)(1/2) f3=subs(f2,t,2)f3 = (y + 2)/(2*y) + (2*y2 - 4*a*c)(1/2) f4=subs(f3,y,3)f4 = (18-4*a*c)(1/2)+5/6 2021-12-1318 MM文件的分类文件的分类用Matlab语言编写的程序,称为M文件。 是由若干Matlab命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法。M文件根据调

8、用方式的不同分为两类: 命令文件(Script File) 函数文件(Function File)它们的扩展名都是.m 2021-12-1319 命令文件和函数文件的区别命令文件和函数文件的区别命令文件没有输入参数,也不返回输出参数;函数文件可以带输入参数,也可以返回输出参数。命令文件对工作空间中的变量进行操作,文件中所有命令的执行结果也返回工作空间中;函数文件中定义的变量为局部变量,当函数文件执行完毕时,这些变量也被清除。命令文件可以直接运行;函数文件不能直接运行,要以函数调用的方式来调用它。 2021-12-1320 MM文件的建立与打开文件的建立与打开 M文件是一个文本文件,可以用任何编

9、辑程序来建立和编辑,一般最常用的是使用Matlab提供的文本编辑器。 该编辑器是一个集编辑和调试于一体的工作环境。21MM文件的建立与编辑文件的建立与编辑建立新的建立新的M文件:文件: 从MATLAB命令窗口的File菜单中选择New菜单项,再选择M-file命令。 编辑已有的编辑已有的M文件:文件: 从MATLAB命令窗口的Flie菜单中选择Open M-file命令。 2021-12-1322 函数文件函数文件 函数文件是另一种形式的M文件,每一个函数文件都定义一个函数。Matlab提供的标准函数大部分是由函数文件定义的。 函数文件的基本结构 函数文件由function语句引导,其基本结构

10、为: function 输出形参表 = 函数名(输入形参表) 注释说明部分 函数体语句 其中,以function开头的一行为引导行,表示该M文件是一个函数文件。 当输出形参多于一个时,应该用方括号括起来。23MATLAB在函数调用上有一个与众不同之处:函数所传递参数数目的可调性。凭借这一点,一个函数可完成多种功能。在调用函数时,MATLAB用两个永久变量nargin和nargout分别记录调用该函数时的输入实参和输出实参的个数。只要在函数文件中包含这两个变量,就可以准确地知道该函数文件被调用时的输入输出参数个数,从而决定函数如何进行处理。函数文件函数文件 2021-12-1324 函数调用函数

11、调用 函数调用的一般格式是: 输出实参表 = 函数名(输入实参表) 注意:函数调用时,各实参出现的顺序、个数,应与函数定义时相同。利用函数文件,实现直角坐标(x,y)与极坐标(,)之间的转换。 函数文件:tran.m: function rho,theta = tran(x,y) rho = sqrt(x*x+y*y); theta = atan(y/x); 调用调用tran.m的命令文件的命令文件main1.m: x = input(please input x=:); y = input(please input y=:); rho,the = tran(x,y); rho the 202

12、1-12-1325 循环结构循环结构 循环是指按照给定的条件,重复执行指定的语句,Matlab提供了两种实现循环结构的语句:for语句和while语句。1、for语句for语句的格式为:for 循环变量 =表达式1:表达式2:表达式3 循环体语句end其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。步长为1时,表达式2可以省略。 2021-12-1326 循环结构循环结构2、while语句while语句的一般格式为:while条件 循环体语句end其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循环。黄金分割法黄金分割法

13、黄金分割法的计算步骤:黄金分割法的计算步骤:(1)给定初始区间)给定初始区间 和收敛精度和收敛精度ba,(2)产生中间插入点并计算其函数值)产生中间插入点并计算其函数值)(),(618. 0)(),(382. 0222111xffabaxxffabax(3)比较函数值)比较函数值 和和 ,确定区间的取舍:,确定区间的取舍: 1f2f 若若 ,则新区间,则新区间 令令 记记 21ff 2,xaba12122,ffxxxb00N 若若 ,则新区间,则新区间 令令 记记 21ff bxba,121211,ffxxxa10N(4)收敛判断:若)收敛判断:若 ,令:,令: ,结束搜索,结束搜索, 否则转

14、(否则转(5) ab2*bax(5)产生新的插入点)产生新的插入点 若若 ,则取,则取00N)(),(382. 0111xffabax 若若 ,则取,则取 转(转(3)进行新的区间缩小。)进行新的区间缩小。10N)(),(618. 0222xffabaxf1f2f1f2x1(a) x1(x2) x2(b)abab x2(x1)x1x2黄金分割法黄金分割法例例 用黄金分割法求函数用黄金分割法求函数f(x)=3x3-4x+2的极小点,的极小点,给定给定 x0=0, h=1, =0.2。黄金分割法黄金分割法matlabmatlab实例实例Matlab源程序源程序 4-4-4 4-4-4 共轭梯度法的

15、迭代步骤共轭梯度法的迭代步骤共轭梯度法共轭梯度法 (1 1)给定初始点)给定初始点 和收敛精度和收敛精度 ;)0(X (2 2)取)取 的负梯度作为搜索方向;的负梯度作为搜索方向; 置置k=1k=1)0(X)()0()0(XfS (3 3)沿方向)沿方向 作一维搜索作一维搜索)0(S)()() 1(kkkkSaXX (4 4)收敛判断:若满足:)收敛判断:若满足: ,则令:,则令: 结束迭代;否则,转(结束迭代;否则,转(5 5););)() 1(kXf)()(,) 1(*) 1(*kkXfXfXX (5 5)若)若k=nk=n则令:则令: ,转(,转(2 2)开始新的一轮迭代,)开始新的一轮迭代, 否则转(否则转

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论