当前位置:   article > 正文

MATLAB:函数与数值积分

MATLAB:函数与数值积分

一、数学函数图像的绘制

  1. clc,clear
  2. fh = @(x)2*exp(-x).*sin(x);
  3. Xrange = [0,8];
  4. gx = @(x)3*exp(-x)*0.8.*sin(x);
  5. fplot(fh,Xrange,'r-*','LineWidth',1.5)
  6. hold on
  7. grid on
  8. fplot(gx,Xrange,'b-o','LineWidth',1.5)
  9. axis([-0.5,8.5,-0.1,0.85])
  10. legend('fh = @(x)2*exp(-x).*sin(x)','gx = @(x)3*exp(-x)*0.8.*sin(x)')
  11. legend('boxoff')
  12. title('fplot函数绘制示例')
  13. xlabel('X')
  14. ylabel('Y')

  1. function y = eqsfun_fplot(x)
  2. y(:,1) = 200*sin(x)./x;
  3. y(:,2) = x.^2 - 3.5*x + 10;
  4. end
  1. clc,clear
  2. fplot(@eqsfun_fplot,[-20,20],'LineWidth',1.5)
  3. grid on
  4. legend('y_1 = 200*sin(x)./x','y_2 = x.^2 - 3.5*x + 10')
  5. legend('boxoff')

二、函数极值 

 一元函数极值

  1. clc,clear
  2. fh = @(x)x - 1./x + 5;
  3. fplot(fh,[-10,10],'b-','LineWidth',1.5)
  4. grid on
  5. % fminbnd: Single-variable bounded nonlinear function minimization.
  6. % exitflag > 0收敛到解,exitflag = 0已达最大迭代次数,exitflag < 0不收敛;
  7. options = optimset('Display','iter','PlotFcns',@optimplotfval,'TolX',1e-6);
  8. [x,fval,exitflag,output] = fminbnd(fh,-10,1,options)

 

  1. fh_min = @(x)2*exp(-x).*sin(x); %最小值匿名函数
  2. fh_max = @(x)-2*exp(-x).*sin(x); %最大值匿名函数,前加负号
  3. [xmin,fmin,exitflag] = fminbnd(fh_min,0,8);
  4. [xmax,fmax,exitflag] = fminbnd(fh_max,0,8);
  5. fplot(fh_min,[0,8])
  6. axis([0 8 -0.1 0.7]) %改变坐标轴的范围
  7. text(xmin+0.1,fmin,['最小值点:',num2str(fmin)])
  8. text(xmax+0.1,-fmax,['最大值点:',num2str(-fmax)])
  9. hold on
  10. plot(xmin,fmin,'ro', xmax,-fmax, 'bo')
  11. grid on

 多元函数的极小值:

  1. % [x,fval,exitflag,output] = fminsearch(@fh, x0, options)
  2. % 此函数使用单纯型法搜索最值。其中
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/275598
    推荐阅读
    相关标签