วิธีการเลือกแถวสุ่มจากเมทริกซ์ใน MATLAB
มีหลายวิธีใน MATLAB ซึ่งเราสามารถเลือกแถวแบบสุ่มจากเมทริกซ์ได้ ตอนนี้เราจะพูดถึงวิธีการเลือกแถวสุ่มจากเมทริกซ์ดังต่อไปนี้:
- วิธีที่ 1: การใช้ฟังก์ชัน randperm
- วิธีที่ 2: การใช้ฟังก์ชัน randsample
- วิธีที่ 3: การใช้ฟังก์ชัน datasample
- วิธีที่ 4: การใช้ฟังก์ชัน randi()
วิธีที่ 1: การใช้ฟังก์ชัน randperm
ฟังก์ชัน randperm สร้างรายการตัวเลขตั้งแต่ 1 ถึง n ในลำดับสุ่ม ตัวเลขเหล่านี้จัดเป็นเวกเตอร์แถว เราสามารถใช้ฟังก์ชันนี้เพื่อสร้างดัชนีแถวแบบสุ่ม แล้วใช้ดัชนีเหล่านั้นเพื่อเลือกแถวจากเมทริกซ์ของเรา
ตัวอย่าง
ด้านล่างรหัส MATLAB เลือก 2 แถวแบบสุ่มจากเมทริกซ์ A:
เอ = แรนด์ ( 10 , 5 )
% สร้างการเปลี่ยนแปลงแบบสุ่มของดัชนีแถว
idx = ใบอนุญาตชายหาด ( ขนาด ( เอ 1 ) ) ;
% เลือกสุ่ม 2 แถวของ A
ข = ก ( idx ( 1 : 2 ) , : )
วิธีที่ 2: การใช้ฟังก์ชัน randsample
ฟังก์ชัน randsample สร้างตัวอย่างองค์ประกอบแบบสุ่มจากอาร์เรย์ที่ระบุ หากต้องการเลือกแถวสุ่มจากเมทริกซ์ คุณสามารถใช้ฟังก์ชัน randsample กับตัวเลือกแถวได้
เราสามารถใช้ฟังก์ชันนี้เพื่อสร้างดัชนีแถวแบบสุ่ม แล้วใช้ดัชนีเหล่านั้นเพื่อเลือกแถวจากเมทริกซ์ของเรา
ตัวอย่าง
ด้านล่างรหัส MATLAB เลือก 2 แถวแบบสุ่มจากเมทริกซ์ A:
เอ = แรนด์ ( 10 , 5 )
% สร้างดัชนีแถวสุ่มและเลือกแถวสุ่ม
idx = สุ่มตัวอย่าง ( ขนาด ( เอ 1 ) , 2 ) ;
ข = ก ( idx, : )
วิธีที่ 3: การใช้ฟังก์ชัน datasample
ฟังก์ชัน datasample ส่งคืนตัวอย่างข้อมูลแบบสุ่มจากชุดข้อมูลอินพุต เราสามารถใช้ฟังก์ชันนี้เพื่อเลือกแถวสุ่มจากเมทริกซ์ของเราได้โดยตรง ฟังก์ชัน datasample เป็นเวอร์ชันขั้นสูงของฟังก์ชัน randsample
ตัวอย่าง
ด้านล่างรหัส 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() เพื่อเลือกแถวสุ่มสองแถวจากเมทริกซ์:
% สร้างตารางมายากล 3x3เมจิกสแควร์ = มายากล ( 3 )
% สร้างดัชนีสองแถวแบบสุ่มโดยใช้ randi()
RandomRow1 = แรนดี้ ( 3 ) ;
RandomRow2 = แรนดี้ ( 3 ) ;
% เลือกแถวสุ่มจากตารางมายากล
แถวที่เลือก = magicSquare ( [ สุ่มแถว1 สุ่มแถว2 ] , : ) ;
% แสดงแถวที่เลือก
แจกจ่าย ( 'แถวที่เลือก:' ) ;
แจกจ่าย ( แถวที่เลือก ) ;
ในตัวอย่างนี้ เราสร้างเมจิกสแควร์ขนาด 3×3 โดยใช้ฟังก์ชัน magic() จากนั้น เราสร้างดัชนีสองแถวแบบสุ่มโดยใช้ randi(3) เนื่องจากเมจิกสแควร์มี 3 แถว สุดท้าย เราเลือกแถวสุ่มจากเมจิกสแควร์โดยใช้ดัชนีที่สร้างขึ้นและแสดงผลลัพธ์
บทสรุป
บทความนี้ครอบคลุมวิธีการเลือกแถวสุ่มจากเมทริกซ์ บทความนี้ครอบคลุมสามฟังก์ชันในการเลือกแถวสุ่มของเมทริกซ์ ได้แก่ ฟังก์ชัน randperm(), randsample(), datasample() และ randi() วิธีการทั้งสามนี้สามารถสร้างแถวสุ่มจากเมทริกซ์ที่กำหนด จำนวนแถวที่สร้างขึ้นขึ้นอยู่กับจำนวนที่เราส่งผ่านภายในอาร์กิวเมนต์ของฟังก์ชันเหล่านี้ อ่านเกี่ยวกับฟังก์ชันทั้งหมดสำหรับสร้างแถวสุ่มใน MATLAB ในบทความนี้