当前位置:
文档之家› 3.7 利用MATLAB求一元函数的极值与最值
3.7 利用MATLAB求一元函数的极值与最值
例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)
第一步 建模:设截去的小正方形的边长为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
(2)设某产品的总成本函数为 Cq 0.25q2 15q 1600 ,
求当产量为多少时,该产品的平均成本最小。
答案:q 80,C80 55
•见配套习题册
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的相反数。
输出: 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。
Hale Waihona Puke 例题 例2 用一块边长为24cm的正方形铁皮,在其四角各截 去一块面积相等的小正方形,做成无盖的铁盒. 问截 去的小正方形边长为多少时,做出的铁盒容积最大?