第五章2 Matlab在高等数学中的应用

更新时间:2023-07-26 10:19:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第五章2 Matlab在高等数学中的应用

主要内容5.1. 函数与极限计算 5.2. 代数方程的计算 5.3. 微商的计算

5.4. 极值的计算 5.5. 积分的计算 5.6. 曲线积分和曲面积分 5.7. 微分方程(组)的求解 5.8. 无穷级数

5.1. 函数与极限计算5.1.1函数计算如同使用高级计算器一样,给定自变量的数据即可获得对应的函数值,如 y=sin(x),并且可以同时计算任意多点的函数值。

5.1.2一元函数极限问题的解析解极限问题的一般描述为:

A lim f ( x)x x0

A lim f ( x)x x0

A lim f ( x)x x0

MATLAB符号运算工具箱中可以使用limit()函数进行计算,调用格式有:

limit(f,x,a)limit(f,a) 符号函数f的变量为函数findsym(f)确定的默认自变量。 limit(f)符号函数f的变量为函数findsym(f)确定的默认自变量,系统默认变量趋于0

limit(f,x,a,’right’)limit(f,x,a,’left’)

例如:

5.1.3 多元函数的极限多元极限问题的一般描述为:

A lim f ( x)x x0 y y0

可以嵌套使用limit函数,调用形式如下: limit(limit(f,x,x0),y,y0),如果x0,y0不是确定的值,则极限求取顺序不能交换。 limit(limit(f,y,y0),x,x0)

例如:

5.2. 代数方程的计算MATLAB提供了求代数方程及方程组的命令函数,调用格式如下:

roots(p) p是代表多项式的系数,按照降幂方式形成的行向量,适用

于次数不超过20的多项式。 fzero(f,x0) 在x0附近寻找函数f的零点,如果x0是一个区间[a,b]时,则

在[a,b]内寻找一个近似零点。 solve(f)求解表达式f的代数方程,求解变量为默认变量。 solve(f,x)求解变量为x sovle(f1,f2,...,fn,x1,x2,...,xn)求解f1,f2,...,fn表示的代数方程组。

例如:

5.3. 微商的计算5.3.1符号导数diff函数用于对符号表达式求导数,该函数的调用形式为: diff(f) 没有指定变量和导数阶数,系统按照findsym函数指示的默认变量求

一阶导数

diff(f,x) 对x求一阶导数diff(f,n) 按findsym函数指示的默认变量求n阶导数,n必须为正整数。 diff(f,x,n) 以x为自变量,对符号表达式f求n阶倒数

注:对于隐函数微商的计算,可以根据二元隐函数骗导计算公式进行:

f dy y x f dx y

例如:

5.3.2 偏导数diff函数同样可以用于求偏导数,调用格式同一元函数相同,二阶偏导数的调用格式为: diff(diff(z,x), y) 表示z先对x求偏导,在对y求偏导。

5.4. 极值计算之 MATLAB的优化工具箱1、Matlab优化工具箱可以解决的问题 (1)求解无约束条件非线性极小值; (2)求解约束条件下非线性极小值,包括目标逼近问题、极大-极小值问

题以及半无限极小值问题;(3)求解二次规划和线性规划问题; (4)非

线性最小二乘逼近和曲线拟合;

(5)非线性系统的方程求解;(6)约束条件下的线性最小二乘优化; (7)求解复杂结构的大规模优化问题。

2、优化工具箱4.0的结构优化工具箱4.0

连续优化无约束优化 非线性极小 fminunc 非线性方程 fzero fsolve 非光滑优化 fminsearch

离散优化约束优化 线性规划 linprog 非线性规划 fmincon fminimax fgoalattain fseminf 二次规划 quadprog

0-1规划(bintprog)

非线性最小二乘 lsqnonlin lsqcurvefit

其他规划ga gamultiobj simulannealbnd patternsearch threshacceptbnd 上下界 约束 fminbnd fmincon lsqnonlin lsqcurvefit

约束线性 最小二乘 lsqnonneg lsqlin

3、优化工具箱中常用的函数及其功能类型 模型Min F ( x) s.t. x1 x x 2Min F ( x)

基本函数

一元函数极小值无约束极小值 线性规划 0-1整数规划

x=fminbnd(‘F’,x1,x2)x=fminunc(‘F’,x0) x=fminsearch(‘F’,x0) x=linprog(c,A,b)min F ( x ) AX b s.t. Aeq X beq X 0或1 i

Min cT x s.t. AX b

x=bintprog(F)

二次规划 约束极小值 非线性最小二乘 目标达到问题 极小极大问题

1 Min xT Hx cT x 2 s.t. Ax b

x=quadprog(H,c,A,b)Min F ( x) s.t. G ( x) 0n

x=fmincon(‘FG’,X0) x=lsqnonlin(F,X0) x=fgoalattain(‘F’,x,goal,w) x=fminimax(‘FG’,x0)

min F 2 ( X ) Fi 2 ( X )i 1

Min rMin max{Fi ( x)}x { Fi ( x )}

s.t. F ( x) wr goal

s.t. G ( x) 0

4、函数输入参数变量 f 描述 线性规划目标函数f*X或二次规划的目 标函数X’*H*X+F*X中线性项的系数向量 非线性优化的目标函数. fun必须为行命 令对象或M文件、嵌入函数、或MEX文 件的名称 二次规划目标函数X’*H*X+f*X中的二次 项的系数矩阵 调用函数 linprog,quadprog fminbnd,fminsearch,fminunc, fmincon,lsqcurvefit,lsqnonlin, fgoalattain,fminimax quadprog

funH A,b Aeq,beq vlb,vub X0 x1,x2 options

A矩阵和b向量分别为线性不等式约束: linprog,quadprog,fgoalattain, fmincon,fminimax AX≤b中的系数矩阵和右端向量 Aeq矩阵和beq向量分别为线性等式约 束Aeq*X=beq中的系数矩阵和右端向量 X的下限和上限向量 迭代初始点坐标 函数最小化的区间 优化选项参数结构 linprog,quadprog,fgoalattain, fmincon,fminimax linprog,quadprog,fgoalattain, fmincon,fminimax,lsqcurvefit, lsqnonlin 除fminbnd外所有函数 fminbnd 所有优化函数

5、函数输出参数变量 描述 描述退出条件: exitflag>0表示目标函数收敛于x exitflag=0表示已达到函数评价或迭代的最大次数 exitflag<0表示目标函数不收敛 调用函数

exitflag

x feval

由优化函数求的x值 解x处的目标函数值包含优化结果信息的输出结构 iterations,Algorithm,FuncCount(函数评价次数)

所有优化函数linprog,quadprog,fgoalattain fmincon,fminimax,lsqcurvefit lsqnonlin,fminbnd 所有优化函数

output

注意:多数优化函数要求目标函数最小化,如果要求最大化,可以通过使该目标函数的负值最小化实现;约束非负时,通过对不等式取负可以使大于零的约束变为小于零 的不等式约束;避免使用全局变量。

6、GUI优化工具及使用步骤通过在命令行输入optimtool或者打开start/Toolboxes/Optimization/Optimization tool。

第七步

第一步

第二步

第三步

第四步第五步

第六步

例一:用单纯形法求解下面的线性规划min f 4 x1 x2 x1 2 x2 4 2 x 3 x 12 1 2 s.t. x1 x2 3 x1 , x2 0

例二:非线性优化f ( x ) x1 x2 x3 x1 2 x2 2 x3 0 s.t. x1 2 x2 2 x3 72

本文来源:https://www.bwwdw.com/article/124m.html

Top