matlab中fminbnd函数求最小或者组大值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | clc; clear all; close all; fx = @(x) -(0.4./sqrt(1 + x.^2) - sqrt(1+x.^2) .* (1- 0.4./(1 + x.^2))+x); [x0, f] =fminbnd(fx,0,2); % f利用负号求最小值 x = 0 :0.1: 2; y = feval(fx,x); %% ========maxvalue==== figure plot(x,-y, 'b-' , 'linewidth' ,2) hold on plot(x0,-f, 'o' , 'markersize' ,8, 'linewidth' ,2, 'markerFacecolor' , 'g' ) xlabel( 'x' ) ylabel( 'y' ) text(x0, -f-0.02, 'maxvalue' ) %% ==============minvalue======= %% ========maxvalue==== figure(2) plot(x,y, 'b-' , 'linewidth' ,2) hold on plot(x0,f, 'o' , 'markersize' ,8, 'linewidth' ,2, 'markerFacecolor' , 'g' ) xlabel( 'x' ) ylabel( 'y' ) text(x0, f+0.02, 'minvalue' ) |
posted on 2016-11-03 09:50 Kermit.Li 阅读(7396) 评论(0) 编辑 收藏 举报
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步