MATLAB匿名函数(Anonymous Function)和求最小值--好文转载

转载:MATLAB匿名函数(Anonymous Function)和求最小值-百度经验 (baidu.com)

目标:基于MATLAB,采用@(x)匿名函数的形式创建函数,然后通过ezplot( )和fminbnd( ),分别绘制匿名函数的图像和求最小值。

作者:航天派

 

第一,采用@(x)匿名函数(Anonymous Functions)的方式构建下图函数

 

 

第二,启动MATLAB,新建脚本(Ctrl+N),输入如下代码:

close all; clear all; clc

a=1; b=-2; c=1;

fx=@(x) a*x^2+b*x+c;

ezplot(fx,-5,5)

title('f(x)=ax^2+bx+c,a=1,b=-2,c=1')

hold on

该脚本通过@(x)匿名函数创建了函数f(x)=ax^2+bx+c,并通过ezplot( )绘制了函数在[-5,5]上的图像

 

 

第三,保存和运行上述脚本,得到ezplot( )绘制的函数f(x)=ax^2+bx+c的图像如下。

 

 

第四,接着添加如下脚本:

minimum=fminbnd(fx,-5,5);

plot(minimum,fx(minimum),'rd','MarkerSize',15)

通过fminbnd( )找到函数f(x)=ax^2+bx+c的最小值,并通过plot( )在图中标记出该最小值。

 

第五,保存和运行上述脚本,得到如下图像。

 

 

 

 

总结而言,该脚本通过@(x)匿名函数的形式创建函数,通过ezplot( )快速绘制匿名函数图像和fminbnd( )查找函数最小值。

 

posted @ 2021-01-03 21:27  试一下就知道了  阅读(1002)  评论(0编辑  收藏  举报