در این مطلب یکی دیگر از ابزار موجود در نرم افزار متلب را معرفی میکنیم. در بسیاری از مواقع نیاز است در یک ماتریس و یا بردار بگردید و ببینید عددی خاص وجود دارد یا نه و اگر وجود دارد در کجا قرار گرفته است. یا بعنوان مثال اعدادی که در شرایطی خاص صدق میکنند را در ماتریس یا بردار جستجو کنیم و محل آنها را تعیین کنیم. اگر شما هم به چنین عملیات نیاز پیدا کردید در این آموزش ما را همراهی کنید.
اگرچه دستور find در متلب، می تواند کاربردهای مختلفی داشته باشد، اما یکی از کاربردهای آن، یافتن یک عدد در یک ماتریس می باشد و حتی موقعیت آن عدد در ماتریس را هم به ما می دهد. در ادامه با چند مثال، چگونگی استفاده از دستور find برای این منظور و همچنین روش های مختلف یافتن موقعیت عدد در ماتریس را شرح خواهیم داد.
در ماتریس A ، چک می کنیم که آیا عدد 2 وجود دارد یا خیر. دستور find ، موقعیت عدد 2 در ماتریس را به صورت ((چندمین عنصر ماتریس)) بر می گرداند :
clear all
close all
clc
[A=[1 2 3; 5 6 7
(B=find(A==2
نتیجه :
=A
1 2 3
5 6 7
=B
3
چون سومین عنصر ماتریس A برابر 2 بوده است، بنابراین دستور find ، عدد 3 را بر می گرداند توجه کنید که در متلب شمارش اندیس بصورت ستونی است و نه سطری.
این بار همان مثال قبلی را به گونه ای می نویسیم که دستور find ، شماره ردیف و ستون عناصری از ماتریس A که برابر 2 می باشند را به ما بدهد. شماره ردیف این عناصر، در بردار row و شماره ستون آنها، در بردار column ذخیره خواهد شد :
clear all
close all
clc
[A=[1 2 3; 5 6 7
(row,column]=find(A==2]
نتیجه :
=A
1 2 3
5 6 7
=row
1
=column
2
مثال
clear all
close all
clc
[A=[3 4 2; 5 2 7
(row,column]=find(A==2]
نتیجه :
=A
3 4 2
5 2 7
=row
2
1
=column
2
3
به عنوان مثال دیگر، برای یافتن اعداد در بازه 2 تا 5 (یعنی اعداد 2 و 3 و 4 و 5)، کد متلب (MATLAB) زیر را می نویسیم :
clear all
close all
clc
[A = [1 2 3; 5 6 7
(row,column]= find(A>=2 & A<=5]
نتیجه اجرای کد متلب (MATLAB) بالا :
A =
1 2 3
5 6 7
=row
2
1
1
=column
1
2
3