อ็อกเทฟ find()-ing คืออะไร?

day[] มีมูลค่าหลายปีเท่ากับ [1:365 1:365 1:365 ...] โดยมีรูมากมาย ความยาว 5556.

find()-แต่ละวัน ดังนั้น

find(2 == day)'
ans =
 Columns 1 through 13:
    364    729   1094   1460   1825   2190   2555   2921   3286   3651   4016   4382   4747
 Columns 14 and 15:
   5095   5459
>> find(3 == day)'
ans =
 Columns 1 through 13:
    365    730   1095   1461   1826   2191   2556   2922   3287   3652   4017   4383   4748
 Columns 14 and 15:
   5096   5460
>> find(4 == day)'
ans =
 Columns 1 through 13:
      1    366    731   1096   1462   1827   2192   2557   2923   3288   3653   4018   4384
 Columns 14 through 16:
   4749   5097   5461

ส่งกลับค่าดัชนีที่สมเหตุสมผล แต่ฉันไม่เข้าใจผลลัพธ์ของ

find(2:4 == day)'
ans =
 Columns 1 through 11:
     364     729    1094    1460    1825    2190    2555    2921    3286    3651    4016
 Columns 12 through 22:
    4382    4747    5095    5459    5921    6286    6651    7017    7382    7747    8112
 Columns 23 through 33:
    8478    8843    9208    9573    9939   10304   10652   11016   11113   11478   11843
 Columns 34 through 44:
   12208   12574   12939   13304   13669   14035   14400   14765   15130   15496   15861
 Columns 45 and 46:
   16209   16573

เนื่องจากความยาวของ day[] คือ 5556 สิ่งที่ส่งคืนคืออะไร


person user38715    schedule 09.04.2020    source แหล่งที่มา
comment
กรุณาอย่าแก้ไขแก้ไขในชื่อเรื่อง ให้ยอมรับคำตอบหากสามารถแก้ไขปัญหาของคุณได้ หรือเขียนคำตอบของคุณเองและยอมรับหากคุณพบวิธีแก้ไขปัญหาอื่น ดูที่นี่: stackoverflow.com/help/someone-answers   -  person Cris Luengo    schedule 10.04.2020


คำตอบ (1)


ฉันคิดว่า day เป็นเวกเตอร์คอลัมน์ ถ้าไม่เช่นนั้น ข้อความนั้นก็ควรจะผิดพลาด

ฉันขอแนะนำให้คุณรันคำสั่งนั้นเป็นส่วนๆ: รันเพียง 2:4 == day นี่ควรเป็นเมทริกซ์ขนาด 5556x3 โดยที่คอลัมน์แรกเป็นจริง โดยที่ day==2 คอลัมน์ที่สอง day==3 เป็นต้น

find เพียงส่งคืนดัชนี (เชิงเส้น) หากเป็นองค์ประกอบจริง

person Cris Luengo    schedule 10.04.2020