1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Octave: Anonymous Functions</title>
<meta name="description" content="GNU Octave: Anonymous Functions">
<meta name="keywords" content="GNU Octave: Anonymous Functions">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Function-Handles-Anonymous-Functions-Inline-Functions.html#Function-Handles-Anonymous-Functions-Inline-Functions" rel="up" title="Function Handles Anonymous Functions Inline Functions">
<link href="Inline-Functions.html#Inline-Functions" rel="next" title="Inline Functions">
<link href="Function-Handles.html#Function-Handles" rel="prev" title="Function Handles">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Anonymous-Functions"></a>
<div class="header">
<p>
Next: <a href="Inline-Functions.html#Inline-Functions" accesskey="n" rel="next">Inline Functions</a>, Previous: <a href="Function-Handles.html#Function-Handles" accesskey="p" rel="prev">Function Handles</a>, Up: <a href="Function-Handles-Anonymous-Functions-Inline-Functions.html#Function-Handles-Anonymous-Functions-Inline-Functions" accesskey="u" rel="up">Function Handles Anonymous Functions Inline Functions</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Anonymous-Functions-1"></a>
<h4 class="subsection">11.11.2 Anonymous Functions</h4>
<p>Anonymous functions are defined using the syntax
</p>
<div class="example">
<pre class="example">@(<var>argument-list</var>) <var>expression</var>
</pre></div>
<p>Any variables that are not found in the argument list are inherited from
the enclosing scope. Anonymous functions are useful for creating simple
unnamed functions from expressions or for wrapping calls to other
functions to adapt them for use by functions like <code>quad</code>. For
example,
</p>
<div class="example">
<pre class="example">f = @(x) x.^2;
quad (f, 0, 10)
⇒ 333.33
</pre></div>
<p>creates a simple unnamed function from the expression <code>x.^2</code> and
passes it to <code>quad</code>,
</p>
<div class="example">
<pre class="example">quad (@(x) sin (x), 0, pi)
⇒ 2
</pre></div>
<p>wraps another function, and
</p>
<div class="example">
<pre class="example">a = 1;
b = 2;
quad (@(x) betainc (x, a, b), 0, 0.4)
⇒ 0.13867
</pre></div>
<p>adapts a function with several parameters to the form required by
<code>quad</code>. In this example, the values of <var>a</var> and <var>b</var> that
are passed to <code>betainc</code> are inherited from the current
environment.
</p>
</body>
</html>
|