understanding the meaning of a part of a code

3 views (last 30 days)
Hi everyone,
Could anyone help me to understand the meaning of the following sentence from a code. Thanks in advance for your help.
zci = @(v) find( v(1:end-1).*circshift(v(2:end), [-1 0]) <= 0)

Accepted Answer

S. Walter
S. Walter on 5 May 2020
Mohammed,
What you wrote there is a function that you're storing in zci. The at sign (@) tells Matlab you're about to give a variable (or multiple variables) and declare how those variables will be used in a function.
Once you have declared zci, you should be able to input values, such as:
zci(-1:0.1:0)
which would result in an answer of 10.
The function that's being declared takes your variable, v, that you're passing to it, performs an operation, and finds where that's less than or equal to 0.
Hope that helps!
  1 Comment
Mohammed Qahosh
Mohammed Qahosh on 6 May 2020
Dear Walter,
Thanks for the explanation. Now, I have the big picture and I can go through details to understand the rest.
Thanks again for your help.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!