What does "@" do ?

1.099 visualizzazioni (ultimi 30 giorni)
H ZETT M
H ZETT M il 12 Gen 2017
Commentato: Dyuman Joshi il 7 Ott 2023
So this is a simple question. I found some code that uses "@" and I looked it up in the matlab documentation, but I did not find it to be really helpfull. Can somebody explain to me what it does and when/how I want to use it ?

Risposta accettata

Vandana Rajan
Vandana Rajan il 16 Gen 2017
Modificato: Walter Roberson il 6 Ott 2023
Hi,
You might have seen function handles.
A function handle is a MATLAB® data type that stores an association to a function.
To create a handle for a function, precede the function name with an @ sign. For example, if you have a function called myfunction, create a handle named f as follows:
>> f = @myfunction;
Now if you have a function like
function y = computeSquare(x)
y = x.^2;
end
>> f = @ComputerSquare;
>> a = 4;
>> b = f(a)
will give
b = 16
Please go through these 2 documentation links which very clearly explains about function handles.
Yet another use of the symbol '@' is as class folder designator. An @ sign can indicate the name of a class folder, such as
\@myclass\get.m
See the below link for more info.
  10 Commenti
Rockford
Rockford il 23 Ago 2022
It should be computeSquare, not ComputerSquare.

Accedi per commentare.

Più risposte (1)

Amir Azadeh Ranjbar
Amir Azadeh Ranjbar il 6 Ott 2023
its function handle
func = @(x) x*2+10
func = function_handle with value:
@(x)x*2+10
func(5)
ans = 20
  3 Commenti
Amir Azadeh Ranjbar
Amir Azadeh Ranjbar il 7 Ott 2023
Well, this answer that was given (6 years ago) is more confusing....
Dyuman Joshi
Dyuman Joshi il 7 Ott 2023
What makes you think it is confusing? (let alone more confusing)
And your answer does not mention important details that the accepted answer provides.

Accedi per commentare.

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by