全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析与数据挖掘
1132 1
2016-03-09

MATLAB课程:代码示例之Programming(四)


Anonymous Functions


This example shows how to define functions at the command line with anonymous functions.


Integrating a Function

Consider the function 10*x.


If we want to allow any multiplier of x, not just 10, we might create a variable g (where g is initially set to 10), and create a new function


Let's do this in MATLAB® by creating a function handle h.

g = 10;h = @(x) g*x;


You can integrate the function by passing its handle to the INTEGRAL function.

integral(h,1,10)


ans =  495.0000


Consider another function:


Create a function handle to this function where alpha = 0.9.

alpha = 0.9;f = @(x) sin(alpha*x);


Plot the function and shade the area under it.

x = 0:pi/100:pi;area(x,f(x)); % You can evaluate f without fevaltitle('f(x) = sin(\alpha x), \alpha =.9');


We can use the INTEGRAL function to calculate the area under the function between a range of values.

integral(f,0,pi)


ans =    2.1678


Minimizing a Function

Consider the function:


where a = 1, b = -2, and c = 1

Create a function handle for it.

a = 1;b = -2;c = 1;f = @(x)(a*x.^2+b*x+c);


ezplot(f); % Plot the functiontitle('f(x)=ax^2+bx+c, a=1,b=-2,c=1');hold on;% Find and plot the minimumminimum = fminbnd(f,-2,2);       % We can pass the function handle directly                                 % to the minimization routineplot(minimum,f(minimum),'d');    % We can evaluate the function without                                 % using fevalgrid;hold off;


2D Functions

We can create handles to functions of many variables

a = pi;b = 15;f = @(x,y) (a*x+b*y);ezsurf(f);title('f(x,y) = ax+by, a = \pi, b = 15');


Function Composition

We can also create handles to functions of functions

f = @(x) x.^2;g = @(x) 3*x;h = @(x) g(f(x));h(3)


ans =    27





二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-3-9 14:44:04
人生处处皆学问。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群