جزاكم الله خيرا أحتاج مساعده


(system) #1

أرغب في الحصول على شرح الأمر sub2ind
والامر ind2sub
وجزاكم الله خيرا


(dr_khaled) #2

أعتقد أنه عليك الذهاب الى help وهناك تجد ما تبحث عنه


(المهندس سعود) #3

sub2ind
امر يستخدم لايجاد الترتيب التسلسلي لعنصر معين بواسطته احداثياته موقعه بالمصفوفه ( بالصف والعمود) بالاضافة الى حجم المصفوفة.

المدخل الاول هو حجم المصفوفة والثاني والثالث هو احداثيات العنصر بالصف والعمود


(المهندس سعود) #4

مثال :

لنفرض عندنا المصفوفة A التاليه:

A=[ 3 4 5; 33 6 9]

لنفرض اننا نريد ايجاد الترتيب التسلسلي للعنصر 6
لا حظ أن احداثياته هي الصف الثاني والعمود الثاني
لذلك نكتب ما يلي :

sub2ind(size(A),2,2)

وستكون النتجه هي 4
وهو الترتيب التسلسلي له
ملاحظه المدخل الاول
size (A)
بمكن الاستعاضه عنه بكتابة حجم المصفوفة يدويا كالتالي:

sub2ind([2,3],2,2)

وستعطي نفس النتيجه


(المهندس سعود) #5

الترتيب التسلسلي (الاندكس) يحسب بالعد عناصر المصفوفة صف صف .

مثلا في المصفوفة السابقة
الاندكس 1 للعنصر 3
الاندكس 2 للعنصر 33
الاتدكس 3 للعنصر 4

وهكذا


(المهندس سعود) #6

الامر ind2sub

يعمل العكس تماما حيث يدخل اليه حجم المصفوفه والترتيب التسلسلي لعنصر ما
وينتج لنا احداثيات هذا العنصر بالصف والعمود


(المهندس سعود) #7

مثلا لو اردنا ايجاد الاحداثيات للعنصر الاخير 9 الذي له الترتيب السادس في المصفوفة ذات الحجم 2*3

نكتب :

[r c]=ind2sub(size(A),6)

تكون النتيجه
r=2
c=3
اي الصف الثاني والعمود الثالث
وهذا صحيح


(المهندس سعود) #8

اظنه واضح
وان لم يكن فنحن بالخدمه ان شاء الله


(system) #9

مشكور جزاك الله عنا كل خيرا


(المهندس سعود) #10

حياكم الله