کلیدستان

نسخه‌ی کامل: مشکل در کاربرد دستور find
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام ، درباره کاربرد دستور find مشکلی داشتم ، کد زیر در متلب چه کاری انجام میده؟ من دو ماتریس مثال میزنم و جواب رو مینویسم ولی نمیتونم اونو تحلیل کنم که متلب چه الگوریتمی برای مشخص کردن جواب به کار برده است. ممنون میشم دوستان کمک کنند.
با تشکر

کد:
>> x1=[2,3,4,5];
>> x2=[3,4,2,1];
>> d=find(x2>=x1(1)&x2<=x1(end))
d = 1 2 3
سلام.
در عبارت منطقی که نوشته اید، من معادل های زیر را می نویسم :

کد:
x1(1)=2
x1(end)=5

بنابراین عبارت منطقی، به صورت زیر خواهد بود :

کد:
x2>=2 & x2<=5

عبارت منطقی بالا، به این معنی است که عنصری از بردار x2 که بزرگتر مساوی 2 و همچنین، کوچکتر مساوی 5 باشد. اگر عناصر بردار x2 را مشاهده کنید، سه عنصر اول آن، در این شرط صدق می کنند، بنابراین دستور find ، شماره های آن عناصر را بر می گرداند، یعنی 1 و 2 و 3 (شماره، نه مقدار خود عنصر).