Filter löschen
Filter löschen

how to create a function ?

1 Ansicht (letzte 30 Tage)
MUKESH KUMAR
MUKESH KUMAR am 4 Okt. 2017
Beantwortet: Guillaume am 4 Okt. 2017
I want to create a function which gives following information like
fi = @(a,b) ([a:data_len 1:b]);
if x<y
A= x:y ;
if x>y
A = fi(x,y);
for example:
if x=6
y= 10
then A= 6 7 8 9 10
but if x= 20 and y=2 like time in a watch
then A= 20 21 22 23 24 1 2
but this function only gives 20 1 2 .
  1 Kommentar
Rik
Rik am 4 Okt. 2017
You are not very clear in what you want, but I would guess the value of data_len was set to 20 instead of 24 when the anonymous function fi was created.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Guillaume
Guillaume am 4 Okt. 2017
Assuming that 0 instead of 24 is ok:
data_len = 24;
f = @(a, b) mod(a : b + data_len*(a>b), data_len);
results:
>> f(6,10)
ans =
6 7 8 9 10
>> f(20, 2)
ans =
20 21 22 23 0 1 2

Weitere Antworten (1)

Image Analyst
Image Analyst am 4 Okt. 2017
Why not
A = rem(x:y, 24)
It's not clear why you have a 24 in there instead of 0. I've never seen 24 used for an hour in a 24 hour clock.

Kategorien

Mehr zu Interpolation of 2-D Selections in 3-D Grids finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by