转载: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( )查找函数最小值。