matlab中fminbnd函數求最小或者組大值


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')

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM