![]() |
generate random number ยังไงให้เป็น normal distribution ?
ถ้าเป็น mathlab ก็จะมี function randn แล้วเราก็ระบุจำนวนว่าจะเอากี่ตัวเลย
แต่ถ้าจะต้องใช้งานในภาษาซีไม่ทราบว่าต้องทำเช่นไร ให้ random number ที่เรา generate ขึ้นมา มี mean=0 และ variance=1 :please: วานผู้รู้ช่วยแนะทีครับ |
ต้องการ Random ออกมาเป็น Discrete เหรอครับ มี Algorithm อยู่อันนึง ที่เรียกว่า PRBS (Psudo Random Binary Sequence) ลองหาดูครับ
รู้สึกว่าฟังก์ชัน Rand ในภาษาซีก็จะใช้ Algorithm นี้ในการสุ่มเลข |
ขอบคุณมากครับ
|
อยู่ในเรื่องอะไรเหรอครับ งง !!!
|
คือที่จริงต้องการจำลองสัญญาณรบกวนแบบ white noise อ่ะครับ
ตอนนี้ยังทำไม่ได้เลยครับ ลอง generate random number ที่มีค่าอยู่ในช่วง -1 ถึง 1 ออกมาสัก 10000 ตัว ได้ mean ประมาณ 0 ทุกครั้งอยู่อะครับ แต่ variance นี่ไม่ใกล้ 1 เลยครับ ใครพอมีวิธีแนะนำหน่อยครับ |
ลองอ่านเนื้อหาในหน้านี้ Pseudo-random Numbers ตรงส่วนที่เป็น Converting a flat distribution to a Gaussian distribution เพราะฟังก์ชัน random โดยทั่วไปจะเป็น uniform distribution และในหน้านั้นยังมีลิงก์ไปหน้าอื่น ถึงวิธีแปลงไปเป็น distribution อื่นๆด้วย ลองดูนะครับว่าใช้ได้จริงไหม :)
อีกแนวคิดหนึ่งจากจินตนาการล้วนๆ ไม่มีข้อพิสูจน์ทางคณิตศาสตร์ :laugh:
|
ทำได้แล้วครับ ด้วยการช่วยเหลือจากสมาชิก mathcenter ที่นำทางให้
http://u3.upload.sanook.com/A0/b23cb...f7c0aef5ccb24d โพสต์ไว้ให้เผื่อท่านใดมีปัญหาแบบผมนะครับ :kiki: |
น่าสนใจมากเลยครับ
|
มีpmมา ว่าไฟล์เดิมหมดอายุ อัพให้อีกทีครับ (ช้าไปไม่หน่อย 555)
http://www.zabzaa.com/upload/downloa...29normalRAND.c :) |
| เวลาที่แสดงทั้งหมด เป็นเวลาที่ประเทศไทย (GMT +7) ขณะนี้เป็นเวลา 13:50 |
Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Modified by Jetsada Karnpracha