The @ symbol in Matlab

What does f = @(n) ((1/2).^n).*(n>=0); mean? Is this the (1/2)^n function, for values of n greater than zero? I am not sure how the @ symbol works in Matlab as I have not found an adequate explanation in the Matlab documentation.

More Answers (2)

POOPESH
POOPESH on 23 Jan 2024

0 votes

what does the meaning of g=@(x)(x^2*(1-2*x));

1 Comment

It is an anonymous function. The first paragraph of that page is "An anonymous function is a function that is not stored in a program file, but is associated with a variable whose data type is function_handle. Anonymous functions can accept multiple inputs and return one output. They can contain only a single executable statement."
They are often used for small and simple functions to avoid having to create a separate function file.
By the way, you may want to vectorize your function so you can call it with an array of values, not just one value at a time.

Sign in to comment.

Asked:

on 17 Oct 2019

Commented:

on 23 Jan 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!