שיטות לבחירת שורות אקראיות ממטריקס ב-MATLAB
ישנן מספר שיטות ב-MATLAB שבאמצעותן נוכל לבחור שורות אקראיות ממטריצה. כעת נסקור את הדרכים הבאות לבחירת שורות אקראיות מהמטריצה:
- שיטה 1: שימוש בפונקציית randperm
- שיטה 2: שימוש בפונקציית ה-randsample
- שיטה 3: שימוש בפונקציית datasample
- שיטה 4: שימוש בפונקציה randi()
שיטה 1: שימוש בפונקציית randperm
הפונקציה randperm יוצרת רשימה של מספרים מ-1 עד n בסדר אקראי. המספרים הללו מאורגנים כווקטור שורה. אנו יכולים להשתמש בפונקציה זו כדי ליצור מדדי שורות אקראיים ולאחר מכן להשתמש במדדים אלה כדי לבחור שורות מהמטריצה שלנו.
דוגמא
מתחת לקוד MATLAB בוחר 2 שורות אקראיות ממטריצה A:
א = ראנד ( 10 , 5 )
% צור תמורה אקראית של מדדי השורות
idx = סלסול חוף ( גודל ( א, 1 ) ) ;
% בחר את 2 השורות האקראיות של A
B = A ( idx ( 1 : 2 ) , : )
שיטה 2: שימוש בפונקציית ה-randsample
הפונקציה Randsample יוצרת מדגם אקראי של אלמנטים ממערך מוגדר. כדי לבחור שורות אקראיות ממטריצה, ניתן להשתמש בפונקציית דגימה אקראית עם אפשרות השורות.
אנו יכולים להשתמש בפונקציה זו כדי ליצור מדדי שורות אקראיים ולאחר מכן להשתמש במדדים אלה כדי לבחור שורות מהמטריצה שלנו.
דוגמא
מתחת לקוד MATLAB בוחר 2 שורות אקראיות ממטריצה A:
א = ראנד ( 10 , 5 )
% צור מדדי שורות אקראיים ובחר שורות אקראיות
idx = דגימה רנדית ( גודל ( א, 1 ) , 2 ) ;
B = A ( idx, : )
שיטה 3: שימוש בפונקציית datasample
הפונקציה datasample מחזירה מדגם אקראי של נתונים ממערך נתוני קלט. אנו יכולים להשתמש בפונקציה זו כדי לבחור ישירות שורות אקראיות מהמטריצה שלנו. פונקציית מדגם הנתונים היא גרסה מתקדמת יותר של פונקציית המדגם האקראי.
דוגמא
מתחת לקוד MATLAB בוחר 3 שורות אקראיות ממטריצה A:
% צור מטריצה בגודל 5x3א = [ 1 2 3 ; 4 5 6 ; 7 8 9 ; 10 , אחד עשר , 12 ; 13 , 14 , חֲמֵשׁ עֶשׂרֵה ]
% בחר שורות אקראיות
random_rows = מדגם נתונים ( א, 3 )
שיטה 4: שימוש בפונקציה randi()
הפונקציה randi() היא פונקציית MATLAB המאפשרת לנו ליצור מספרים שלמים אקראיים מטווח נתון. בהקשר של בחירת שורות אקראיות ממטריצה, נוכל להשתמש בפונקציה randi() כדי ליצור מדדי שורות אקראיים.
תחביר
תחביר הפונקציה randi() הוא:
רנדי ( נ )כאן, n מייצג את הגבול העליון של הטווח שממנו נוצרים מספרים שלמים אקראיים. ה-randi() נותן לנו מספר שלם אקראי בין 1 ל-n.
דוגמא
הנה קוד פשוט לדוגמא MATLAB המדגים את השימוש בפונקציית randi() לבחירת שתי שורות אקראיות ממטריצה:
% צור ריבוע קסם בגודל 3x3magicSquare = קֶסֶם ( 3 )
% צור שני מדדי שורות אקראיים באמצעות randi()
randomRow1 = רנדי ( 3 ) ;
randomRow2 = רנדי ( 3 ) ;
% בחר את השורות האקראיות מריבוע הקסם
selectRows = magicSquare ( [ randomRow1, randomRow2 ] , : ) ;
% הצג את השורות שנבחרו
disp ( 'שורות שנבחרו:' ) ;
disp ( שורות נבחרות ) ;
בדוגמה זו, אנו יוצרים ריבוע קסם בגודל 3×3 באמצעות הפונקציה magic() . לאחר מכן, אנו יוצרים שני מדדי שורות אקראיים באמצעות randi(3) מכיוון שלריבוע הקסם יש 3 שורות. לבסוף, אנו בוחרים את השורות האקראיות מריבוע הקסם באמצעות המדדים שנוצרו ומציגים את התוצאה.
סיכום
מאמר זה עוסק בדרכים לבחירת שורות אקראיות ממטריצה. מאמר זה מכסה את שלוש הפונקציות של בחירת שורות אקראיות של מטריצה שהן: randperm(), randsample(), datasample() ופונקציית randi(). כל שלוש השיטות הללו יכולות ליצור שורות אקראיות ממטריצה מוגדרת. מספר השורות שנוצר תלוי במספר שהעברנו בתוך הארגומנט של הפונקציות הללו. קרא על כל הפונקציות הללו ליצירת שורות אקראיות ב- MATLAB במאמר זה.