how to create a function ?

1 回表示 (過去 30 日間)
MUKESH KUMAR
MUKESH KUMAR 2017 年 10 月 4 日
回答済み: Guillaume 2017 年 10 月 4 日
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 件のコメント
Rik
Rik 2017 年 10 月 4 日
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.

サインインしてコメントする。

採用された回答

Guillaume
Guillaume 2017 年 10 月 4 日
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

その他の回答 (1 件)

Image Analyst
Image Analyst 2017 年 10 月 4 日
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.

カテゴリ

Help Center および File ExchangeData Import and Analysis についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by