3.7 利用MATLAB求一元函数的极值与最值

合集下载

matlab计算多元函数极值极其极值点

matlab计算多元函数极值极其极值点

matlab计算多元函数极值极其极值点

《从简到繁,深入探讨matlab计算多元函数极值极其极值点》

1. 引言

在数学中,多元函数是一种以多个变量为自变量的函数,它与一元函数有着本质的区别。而计算多元函数的极值及其极值点是数学分析中一个重要且复杂的问题。本文将从简到繁地探讨如何利用matlab来计算多元函数的极值及其极值点,以帮助读者更深入地理解这一数学概念。

2. 多元函数的极值

我们需要明确什么是多元函数的极值。对于一个多元函数,如果在某一点处的函数值大于或小于其邻域内所有其他点处的函数值,那么这个点就是该多元函数的极大值点或极小值点。而这个极值点所对应的函数值就是多元函数的极值。在matlab中,可以通过最优化工具箱中的相关函数来计算多元函数的极值,比如fmincon函数用于求解约束极小化问题。

3. 计算多元函数的极值

为了更具体地说明如何在matlab中计算多元函数的极值,我们以一个简单的二元函数为例:z = f(x, y) = x^2 + y^2。我们希望找到这个函

数的极值及其极值点。我们需要定义这个函数并选定初始点,然后利用matlab中的优化函数进行计算。具体的代码如下:

```matlab

% 定义目标函数

fun = @(x) x(1).^2 + x(2).^2;

% 设定初始点

x0 = [1, 2];

% 求解极小值

[x, fval] = fmincon(fun, x0, A, b, Aeq, beq, lb, ub, nonlcon);

```

在这段代码中,我们首先利用@(x)定义了目标函数f(x, y) = x^2 + y^2,然后设定了初始点x0 = [1, 2]。最后利用fmincon函数计算了函数的极小值x和其对应的函数值fval。通过这个简单的例子,读者可以初步了解如何在matlab中计算多元函数的极值。

matlab 极值连分式法 一维

matlab 极值连分式法 一维

文章主题:使用 MATLAB 实现极值连分式法解决一维问题

一、介绍

在数学和工程领域,极值连分式法是一种重要的数值计算方法。它广

泛应用于计算机模拟、信号处理、图像处理等方面。本文将使用MATLAB 来介绍极值连分式法在一维问题中的应用。

二、极值连分式法原理

极值连分式法是一种递归算法,用于计算给定连分式的收敛值。在一

维问题中,极值连分式法可用于求解函数的极值点、最大值、最小值等。通过不断迭代求解,极值连分式法可以准确地找到函数的极值点,具有很高的精度和稳定性。

三、MATLAB 实现

在 MATLAB 中,可以通过编写函数来实现极值连分式法。定义需要求解的一维函数,并确定迭代的终止条件。利用循环或递归的方式,不

断更新函数的极值点,直到满足终止条件为止。需要注意的是,在MATLAB 中,可以利用向量化的操作来提高计算效率,减少迭代次数,并且可以通过图形界面直观地展示极值点的迭代过程。

四、示例分析

以求解一维函数 f(x) = x^3 - 2x^2 + 3x - 1 的极小值点为例,我们可以通过 MATLAB 来实现极值连分式法。定义该一维函数,并设置迭代

终止条件。利用循环或递归的方式,不断更新函数的极小值点,直到满足终止条件。通过绘图表现,展示极小值点的迭代过程,并得到最终的极小值点。

五、个人观点

极值连分式法作为一种重要的数值计算方法,在一维问题中具有广泛的应用。MATLAB 提供了丰富的数学函数和绘图工具,使得实现极值连分式法变得简单而高效。通过学习和掌握 MATLAB 中极值连分式法的实现,可以更好地理解和应用这一数值计算方法,为解决实际问题提供了有力的工具。

Matlab极值求解方法简介

Matlab极值求解方法简介

一、优化问题偏差与迭代终止准则tolerance and stopping criteria

●TolFun,TolX;

●MaxIter/MaxFunEvals:最大迭代次数与最大进化次数

●TolCon:约束求解问题上界,如果C(X)>TolCon,或者abs(CEQ(X))>TolCon,会报告该点不满足

约束条件,但是函数优化不会终止。

●还有其他根据具体函数而定的终止条件。

二、fmincon函数

这个函数特点是从给定的初始点X0开始寻优,如果初始点X0必须满足约束的所有条件。

●约束问题有线性等式与不等式约束,非线性等式以及不等式约束,常用的非线性等式以

及不等式约束形式如下

●编写一个m文件将所有约束问题写进去,再调用函数进行求解。

Linprog: 线性规划

Bintprog: 二值规划,

Fminbnd: 非线性一元函数规划

Exitflag=1表示有最小值,若为0表示无解,fval无意义

fminsearch非线性无约束多元函数最小值

Exitflag=1表示收敛,若为0表示无解,fval无意义。X0是初始点

Fmincon :非线性有约束多元函数最小值

X0自变量初始值,exitflag>0,解收敛,有意义,否则无有效解。

Fgoalattain:多元目标函数最小值

Fminmax:使得各个目标函数中的最大值要最小,就是给定一组函数,要使得所有这

些函数的最大值的变量中取得最小。

非线性最小二乘法

数据拟合或者曲线拟合都会用到最小二乘法,其中无约束拟合发展已经很成熟,有约束拟合有以下四个情况,调用后可以获得拟合方程的系数值。

matlab求导和极值

matlab求导和极值

数学实验二 用Matlab 软件求一元函数的导数和极(或最)值

一、一元函数的导数

1.调用格式一:

diff(‘f(x)','x',n)

式中,)(x f 为函数,x 为自变量,若未指明,按默认的自变量.n 为导数的阶数,缺省时,求一阶导数.

例1 已知x x x f cos )(2=,求)(x f ′.

解 在命令行中输入:

dydx=diff('x^2*cos(x)') %未指明自变量,按默认的自变量输出导数结果

结果如下:

dydx =

2*x*cos(x)-x^2*sin(x)

x x x x x f sin cos 2)(2−=′.

例2 已知)arcsin(xt t y =(x 为常数),求22dt

y d . 解 在命令行中输入:

d2ydt2=diff('t*asin(x*t)','t',2) %若不指明对t 求导,则默认对x 求导

结果如下:

d2ydt2 =

2*x/(1-x^2*t^2)^(1/2)+t^2*x^3/(1-x^2*t^2)^(3/2)

322

3222]

)(1[)(12xt t x xt x dt y d −+−=. 2.调用格式二:

syms x

diff(f(x),x,n)

例3 已知)arcsin(xt t y =(t 为常数),求2dx y d . 解 在命令行中输入:

syms x t

d2ydx2=diff(t*asin(x*t),x,2)

输出结果是:

d2ydx2 =

t^4/(1-x^2*t^2)^(3/2)*x

324

22]

)(1[xt xt dx y d −=. 二、隐函数的导数

利用MATLAB软件求解一元和二元函数的极值

利用MATLAB软件求解一元和二元函数的极值

利用MATLAB软件求解一元和二元函数的极值

作者:易强吕希元

来源:《课程教育研究》2018年第40期

【摘要】本文主要介绍利用MATLAB软件在电脑上来求解微积分里的一元和二元函数的极值的计算问题。

【关键词】MATLAB ;极值 ;输入命令

【中图分类号】O172 【文献标识码】A 【文章编号】2095-3089(2018)40-0149-01

在微积分的教材中出现比较多的知识点,包括一元函数的性质和计算其极值、最值等问题,尤其更难的是对二元函数f(x,y)极值的计算,难度相当大,传统的计算一般是人们在草稿纸上进行演算,费时费力,而且准确度不高,往往容易计算错误,由于上述的缺点,本文简单介绍用MATLAB来求解,利用它可以很方便,快捷的得到准确结果。

一、M函数文件

函数定义的一般格式

function [输入变量列表]=函数名(输入变量列表)

注释说明语句段 ;% 为 help look for 提供在线帮助信息

函数体语句段 ; ;% 函数语句块

特定规则:

<1> 函数文件第一行必须以单词 function 作为引导词,定义一个函数,必须遵循如下形式:

Function <因变量>=<函数名>(<自变量>)

<2> 函数文件的文件名必须是<函数名>. m.

<3> 程序中的变量均为局部变量,不保存在工作空间中,其变量只在函数运行期间有效,函数文件执行完后,将自动被清除。

二、求一元函数的极值

利用 MATLAB 的计算功能,可以很方便求一元函数极值。

MATLAB求函数零点与极值

MATLAB求函数零点与极值

MATLAB求函数零点与极值

1. roots函数

针对多项式求零点(详见MATLAB多项式及多项式拟合)

2. fzero函数

返回⼀元函数在某个区间内的的零点.

x0 = fzero(@(x)x.^2-3*x-4,[1,5]);

只能求区间⾥⾯的⼀个零点,并且要求在给定区间端点函数值异号,所以使⽤之前应该先作图,得出单个零点分布的区间,然后使⽤该函数求零点.若有多个零点,则需多次使⽤该函数.

如需求上例中的全部零点,先作图

fplot(@(x)x.^2-3*x-4,[-10,10]);

得知两个零点的分布区间,然后两次使⽤fzero函数求对应区间的零点.

x1 = fzero(@(x)x.^2-3*x-4,[-2,0]);

x2 = fzero(@(x)x.^2-3*x-4,[2,6]);

3. solve函数

求⼀元函数(⽅程)的零点.

x0 = solve('x^2-3*x-4=0','x');

注意⽅程需包含’=0’部分,另外,不建议直接将⽅程写在函数solve的参数部分,可以⽤符号运算的⽅法.

4. fminbnd函数

求⼀元函数在某个区间内的最⼩值和对应的最⼩值点.

[x0,fmin]=fminbnd(@(x)x+1/(x+1),-0.5,2);

求极值与极值点之前须估计极值点的区间,保证在该区间没有使得函数值趋于⽆穷的点.

用MATLAB求极值

用MATLAB求极值

用MATLAB求极值

灵活的运用MATLAB的计算功能,可以很容易地求得函数的极值。

例3.6.1 求

2

2

344

1

x x

y

x x

++

=

++

的极值

解首先建立函数关系:

s yms s

y=(3*x^2+4*x+4)/( x^2+x+1); ↙然后求函数的驻点:

dy=diff(y); ↙

xz=solve(dy) ↙

xz=

[0] [-2]

知道函数有两个驻点x

1=0和x

2

=-2,考察函数在驻点处二阶导数的正负情况:

d2y=diff(y,2); ↙

z1=limit(d2y,x,0) ↙z1=

-2

z2=limit(d2y,x,-2) ↙z2=

2/9

于是知在x

1=0处二阶导数的值为z

1

=-2,小于0,函数有极大值;在x

2

=-2处二阶导数的值

为z

2

=2/9,大于0,函数有极小值。如果需要,可顺便求出极值点处的函数值:

y

1

=limit(y,x,0) ↙

y

1

=

4

y

2

=limit(y,x,-2) ↙

y

2

=

8/3

事实上,如果知道了一个函数的图形,则它的极值情况和许多其它特性是一目了然的。而借助MA TLAB的作图功能,我们很容易做到这一点。

例3.6.2画出上例中函数的图形

解syms x ↙

y=(3*x^2+4*x+4)/( x^2+x+1); ↙得到如下图形

ezplot(y) ↙

如何用MATLAB求函数的极值点和最大值

比如说y=x^3+x^2+1,怎样用matlab来算它的极值和最大值?

求极值:

syms x y

>> y=x^3+x^2+1

>> diff(y) %求导

ans =

3*x^2 + 2*x

>> solve(ans)%求导函数为零的点

用MATLAB求极值

用MATLAB求极值

用MATLAB求极值

灵活的运用MATLAB的计算功能,可以很容易地求得函数的极值。

例3.6.1 求

2

2

344

1

x x

y

x x

++

=

++

的极值

解首先建立函数关系:

s yms s ↙

y=(3*x^2+4*x+4)/( x^2+x+1); ↙然后求函数的驻点:

dy=diff(y); ↙

xz=solve(dy) ↙

xz=

[0] [-2]

知道函数有两个驻点x

1=0和x

2

=-2,考察函数在驻点处二阶导数的正负情况:

d2y=diff(y,2); ↙

z1=limit(d2y,x,0) ↙z1=

-2

z2=limit(d2y,x,-2) ↙z2=

2/9

于是知在x

1=0处二阶导数的值为z

1

=-2,小于0,函数有极大值;在x

2

=-2处二阶导数的值

为z

2

=2/9,大于0,函数有极小值。如果需要,可顺便求出极值点处的函数值:

y

1

=limit(y,x,0) ↙

y

1

=

4

y

2

=limit(y,x,-2) ↙

y

2

=

8/3

事实上,如果知道了一个函数的图形,则它的极值情况和许多其它特性是一目了然的。而借助MA TLAB的作图功能,我们很容易做到这一点。

例3.6.2画出上例中函数的图形

解syms x ↙

y=(3*x^2+4*x+4)/( x^2+x+1); ↙得到如下图形

ezplot(y) ↙

如何用MATLAB求函数的极值点和最大值

比如说y=x^3+x^2+1,怎样用matlab来算它的极值和最大值?

求极值:

syms x y

>> y=x^3+x^2+1

>> diff(y) %求导

ans =

3*x^2 + 2*x

>> solve(ans)

MATLAB在图形绘制与函数单调性和最极值中的应用

MATLAB在图形绘制与函数单调性和最极值中的应用

《MATLAB语言》课程论文

MATLAB在图形绘制与函数单调性和最极值中的应用

姓名:

学号:

学院:

班级:

日期:

指导老师:

MATLAB在图形绘制与函数单调性和最极值中的应用

摘要:MATLAB是一套非常强大的数值计算软件,可靠的数值计算和符号计算功能、优越的绘图功能等突出的优点,使其风靡全球,运用MATLAB中强大的函数工具箱可以实现数值分析、优化、统计、偏微分方程数值解、自动控制、信号处理、图形、图像处理等若干个领域的计算和图形显示功能。毫无疑问,对于图形绘制及数学中关于函数单调性和最极值中的问题,也可以通过MATLAB轻松的解决。

关键词: MATLAB 图形绘制函数单调性最值极值

在如今的科学研究和工程应用中,我们会遇到各种各样的问题,其中最基本的就是关于图形绘制和各种数学方面的问题,而MATLAB中强大的绘图功能以及可靠的数值计算和符号计算功能,将使这些问题可以得到更好的解决,下面我们就分别对MATLAB在此方面的应用进行分析:

一、MATLAB在图形绘制中的应用

1、MATLAB的二维曲线绘制

(1)基本绘图指令plot

MATLAB软件中指令plot是最简单且使用最广泛的一个线性绘图指令,利用该指令可以会出折线、曲线和参数方程曲线的图形。Plot绘图命令有如下一些常用形式:

命令形式1:plot(y)

问题1.绘出向量[3,8,6,4,1]的图形。

解 MATLAB的命令为

y=[3,8,6,4,1]; %数据

plot(y) %绘图

图1.问题1程序图形

命令形式2:plot(x,y)

问题2.绘出函数

MATLAB解方程与函数极值(IV)

MATLAB解方程与函数极值(IV)
单变量函数极值的概念
单变量函数极值是指在某一自变量取值下,函数值达到极大或极小的点。
单变量函数极值的判定
通过求导数,判断导数的正负来判断函数在某点的增减性,进而确定极值点。
单变量函数极值的计算
在确定了极值点后,代入原函数计算出极值。
多变量函数极值
多变量函数极值的概念
01
多变量函数极值是指在多个自变量取值下,函数值达到极大或
通过拉格朗日乘数法、罚函数法等求解方法, 找到满足约束条件的极值点。
约束条件下极值的实际应用
在优化问题、经济问题、工程问题等领域中有着广泛的应用。
04 实例分析
方程求解实例
线性方程组求解
使用Matlab的``运算符或`lyap`函数求解线 性方程组,例如:Ax=b。
非线性方程求解
使用Matlab的`fsolve`函数求解非线性方程,例如 :f(x)=0。
极小的点。
多变量函数极值的判定
02
通过求偏导数,判断偏导数的正负来判断函数在某点的增减性,
进而确定极值点。
多变量函数极值的计算
03
在确定了极值点后,代入原函数计算出极值。
约束条件下的函数极值
约束条件下极值的概念
约束条件下极值是指在满足某些约束条件下, 函数达到极大或极小的点。
约束条件下极值的求解方法
积分方程求解

MATLAB解方程与函数极值

MATLAB解方程与函数极值

1.解方程

1.1 线性方程组求解

(1) 左除运算符的直接解法

x=A\b

(2) 迭代解法

迭代解法非常适合求解大型系数矩阵的方程组。迭代解法主要包括 Jacobi 迭代法、Gauss-Serdel迭代法、两步迭代法。

①Jacobi迭代法

对于线性方程组Ax=b,如果A为非奇异方阵,即aii≠0(i=1,2,…,n),则可将A分解为A=D-L-U,其中D为对角阵,其元素为A的对角元素,L与U为A的下三角阵和上三角阵,于是Ax=b化为:

x=D-1(L+U)x+D-1b

与之对应的迭代公式为:

x(k+1)=D-1(L+U)x(k)+D-1b 这就是Jacobi迭代公式。

A=[10,-1,5;-1,10,-2;6,-4,50];

b=[53 6]';

[y,n]=jacobi(A,b,[0. 0. 0.]',1.0e-6)

A\b

y =

0.4915

0.3672

0.0904

n =

13

ans =

0.4915

0.3672

0.0904

②Gauss-Serdel迭代法

在Jacobi迭代过程中,计算时,已经得到,不必再用,即原来的迭代公式D x(k+1)=(L+U) x(k)+b可以改进为D x(k+1)=L x(k+1)+U x(k)+b,于是得到:

x(k+1)=(D-L)-1Ux(k)+(D-L)-1b

[y,n]=gauseidel(A,b,[0. 0. 0.]',1.0e-6)

y =

0.4915

0.3672

0.0904

n =

6

1.2 非线性方程数值求解

①单变量非线性方程求解

fzero函数可以用来求单变量非线性方程的根。该函数的调用格式为:

利用Matlab求解高等数学(一)

利用Matlab求解高等数学(一)

例2、在-2<x<2,0<y<1.5内绘函数
y e
x2
的图像
>>fplot(exp(-x^2)’,[-2,2,0,1.5]) 观察其显示结果 例3、做函数
y 1 36 x ( x 3)2
的图像
>>fplot(‘1+36*x/(x+3)^2’,[-15,15,-15,15]) 观察其显示结果
>>limit(1/x,x,0,‘right’) ans= inf >>limit(1/sin(x)) ans= NaN %NaN表示“不存在”
例4、求下列极限
1 1 1 x 2 ex 1 (1) lim( 3 );(2) lim ;(3) lim . x 1 x 1 x 1 x 0 x 1 x 3 x
1 1 1 1 1 例2、计算: 2 3 4 5 .
输入:S=1-1/2-1/3-1/4-1/5 注意:调用上条指令
二、函数介绍 1、求极限的函数是LIMIT,其调用格式如下: LIMIT(F,x,a) LIMIT(F,x) LIMIT(F) LIMIT(F,x,a,’right’) or LIMIT(F,x,a,’left’)
例1、做出函数y=3x-x^3的图像 >>x=-2:0.01:2; >>6=3*x-x.^3; >>plot(x,y) %观察显示结果 说明:(1)x=-2:0.01:2是构造行向量的赋值命令, 其一般形式是first:increment:last 这样构造的行向量的元素成等差数列,first是首项, last是数列的上(下)界,increment是公差。 若公差为1,则可缺省。例如: >>x=0:2:10 x= 0 2 4 6 8 10 >>x=0:5 x= 012345

用MATLAB软件求极值和最值

用MATLAB软件求极值和最值

x= 0.7863 -2.1196
y1 = -1.2088 11.0607
3.求函数在给定区间上的最值
求函数在给定区间上的最小值点的 MATLAB 命令是: fminbnd 调用格式如下:
x= fminbnd (y,x1,x2)
注解: 1. y 是函数的符号表达式; 2. 命令 fminbnd 仅用于求函数的最小值点.
为极值点.
解 输入下列命令: y='x^3+2*x^2-5*x+1'; dy=diff(y) x=solve(dy) x=double(x) y1=x.^3+2*x.^2-5*x+1
运行结果: dy = 3*x^2+4*x-5
作函数曲线: fplot(y, [-4,2])
x= [ -2/3+1/3*19^(1/2)] [ -2/3-1/3*19^(1/2)]
先来求函数的最小值. 输入以下命令: f1='(x^3+x^2-1)/(exp(x)+exp(-x))'; [x_min,f_min,flag]=fminbnd(f1,-5,5)
运行结果: x_min =
- 3.3112
f_min = - 0.9594
flag = 1
再来求函数的最大值. 输入以下命令: f2='-(x^3+x^2-1)/(exp(x)+exp(-x))'; [x_max,f2_min,flag]=fminbnd(f2,-5,5) f_max=-f2_min

利用Matlab进行极值统计的一个例子——GEV方法

利用Matlab进行极值统计的一个例子——GEV方法


z(i ) T 的图如下图圆点所示。下图中的虚线是 95%信度区间,计算方法为:
z p 1.96 Var ( z p ), z p 1.96 Var ( z p )
其中:
Var ( z p ) zT p V z p
2 1 z T p [ (1 y p ) y p log y p
%parofGevfittedtodata %par(1): shapepara. %par(2): scalepara. %par(3):positionpara. %vcov:variance-covariancematrix %data:seriesofmaxima N=length(data); %empiricalreturnlevel emp_rl=sort(data); emp_rp=1./(1-((1:N)./(N+1))); emp_yp=-log((1:N)./(N+1)); %modelreturnlevel x=0.001:0.001:0.999; mod_yp=-log(x); mod_rl=par(3)-(par(2)./par(1)).*(1-(mod_yp).^(-par(1))); mod_rp=1./(1-x); %varianceofreturnlevel. fori=1:length(x) yp=-log(x(i));

Matlab实验1一元微积分

Matlab实验1一元微积分
syms将x定义为符号变量ints返回符号表达式s的不定积分默认变量为tintsx返回符号表达式s关于指定变量x的不定积分intsxab返回符号表达式s关于指定变量x的定积分quadfunabtol抛物线积分法simpson返回积分值fun为被积函数tol为积分精度缺省值1e3quadlfunabtolnewtoncotes积分法返回积分值fun为被积函数tol为积分精度缺省值1e6trapzxy梯形积分法返回积分值x为积分区间离散化变量y表示被积函数是与x同维数的向量例题一求不定积分t108m例题二分别用trapzquadquadlint求定积分t109m上机实验求下列不定积分dxdxdxxdx上机实验计算下列数值积分考虑积分分别用取步长01或
例题一
求解函数y=xsin(x2-x-1)在[-2,0]上的极值和 最值。 (t106.m)
上机实验
作出下列函数及其导函数的图形,求极值 点、最值点的位置,求出所有驻点以及对 应的二阶导数值,求出函数的单调区间。 (t107.m)
2 2
(1) f ( x) x sin( x x 2), (2) f ( x) 3x 20 x 10,
例题三
(1 x ) e lim x 0 x
(t103.m)
1 x
上机实验
求解极限(t104.m)
(1) lim n n3 3n
n

导数的应用 3.7 利用MATLAB求一元函数的极值与最值

导数的应用  3.7 利用MATLAB求一元函数的极值与最值

上机练习
(1)求 y x
1 x 在 5,1

的最小值;
答案:x 5, y 2.5505
(2)设某产品的总成本函数为 Cq 0.25q 2 15q 1600,
求当产量为多少时,该产品的平均成本最小。
q 80, C80 55 答案:
•见配套习题册
37利用matlab求一元函数的极值与最值求一元函数的极值与最值本节知识目标会利用matlab求解一元函数的极值和最值matlab71提供fminbnd函数求一元函数的极小值点与最小值点其调用格式如下
3.7利用MATLAB求一元函数的 极值与最值
本节知识目标
会利用MATLAB求解一元函数的极值和最值
处取得极大值为17。
例题 例2 用一块边长为24cm的正方形铁皮,在其四角各截 去一块面积相等的小正方形,做成无盖的铁盒. 问截 去的小正方形边长为多少时,做出的铁盒容积最大? 第一步 建模:设截去的小正方形的边长为x cm
V x(24 2 x) 2 (0 x 12)
第二步 优化: >>f='-x*(24-2*x)^2'; >> fminbnd(f,0,12) >>ans = 4.0000
MATLAB7.1提供fminbnd函数求一元函数
wenku.baidu.com
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.7利用MATLAB求一元函数的 极值与最值
本节知识目标
会利用MATLAB求解一元函数的极值和最值
MATLAB7.1提供fminbnd函数求一元函数 的极小值点与最小值点,其调用格式如下: f=‘f(x)’;[xmin,ymin]=fminbnd(f,a,b) 表示求函数 在区间 上的极小值,但它只能 给出连续函数的局部最优解; f=‘-f(x)’;[xmax,ymax]=fminbnd(f,a,b) 表示求函数 在区间 上的极大值,这里极大 值要取出输出量ymax的相反数。
例1 求函数 y 2x3 6x2 18x 7 在[4, 4]
上的极值,并作图对照。
解:作图输入 >> x=-4:0.1:4;y=2*x.^3-6*x.^2-18*x+7;plot(x,y) 输出图形,由图可知,显然函数y 在[-4,4] 上有极 大值和极小值
求极小值输入:
>>[x1,y1]=fminbnd('2*x^3-6*x^2-18*x+7',-4,4)
输出: x1 = 3.0000
y1 =
-47.0000 求极大值输入:
>>[x2,y2]=fminbnd('-(2*x^3-6*x^2-18*x+7)',-4,4)
输出:
x2 = -1.0000
y2 = -17.0000
即函数在 x 3 处取得极小值-47;在 x 1
处取得极大值为17。
例题 例2 用一块边长为24cm的正方形铁皮,在其四角各截 去一块面积相等的小正方形,做成无盖的铁盒. 问截 去的小正方形边长为多少时,做出的铁盒容积最大?
(2)设某产品的总成本函数为 Cq 0.25q2 15q 1600 ,
求当产量为多少时,该产品的平均成本最小。
答案:q 来自百度文库80,C80 55
•见配套习题册
第一步 建模:设截去的小正方形的边长为x cm
V x(24 2x)2 (0 x 12)
第二步 优化:
>>f='-x*(24-2*x)^2'; >> fminbnd(f,0,12)
>>ans = 4.0000
上机练习
(1)求y x 1 x 在 5,1 的最小值;
答案:x 5, y 2.5505
相关文档
最新文档