Tuesday 25 July 2017

การย้าย ค่าเฉลี่ย และ บิด


ฉัน m เขียนฟังก์ชันเฉลี่ยเคลื่อนไหวที่ใช้ฟังก์ชัน convolve ใน numpy ซึ่งควรจะเทียบเท่ากับค่าเฉลี่ยถ่วงน้ำหนักเมื่อน้ำหนักของฉันมีค่าเท่ากับค่าเฉลี่ย arithmatic ทำงานดี แต่เมื่อฉันพยายามใช้ถ่วงน้ำหนัก average. instead ของสำหรับข้อมูลเดียวกัน 3 667,4 667,5 667,6 667 ฉันคาดหวังฉัน get. If ฉันลบธงที่ถูกต้องฉัน don t แม้เห็นค่าที่ถูกต้องผมอยากจะใช้ convolve สำหรับ WMA เช่นเดียวกับแมสซาชูเซตส์ตามที่ทำให้รหัสทำความสะอาดรหัสเดียวกันน้ำหนักที่แตกต่างกันและอื่น ๆ ฉันคิดว่าฉันจะต้องห่วงผ่านข้อมูลทั้งหมดและใช้ slices. Any ความคิดเกี่ยวกับพฤติกรรมนี้ Using MATLAB ฉันจะหา 3 วัน ค่าเฉลี่ยเคลื่อนที่ของคอลัมน์เฉพาะของเมตริกซ์และต่อค่าเฉลี่ยเคลื่อนที่กับเมตริกซ์นั้นฉันพยายามคำนวณค่าเฉลี่ยเคลื่อนที่ 3 วันจากด้านล่างจนถึงด้านบนของเมทริกซ์ฉันได้ระบุรหัสของฉันแล้วให้มีเมทริกซ์ต่อไปนี้และหน้ากาก ได้ลองใช้คำสั่ง conv แต่ฉันได้รับข้อผิดพลาดนี่คือคำสั่ง Conv ฉัน h ave ได้พยายามที่จะใช้ในคอลัมน์ที่ 2 ของ a. The เมทริกซ์ผลผลิตฉันต้องการจะได้รับในเมทริกซ์ต่อไปนี้ถ้าคุณมีคำแนะนำใด ๆ ฉันจะขอบคุณมากขอบคุณสำหรับคอลัมน์ 2 ของ matrix ฉันกำลังคำนวณ 3 วันเฉลี่ยเคลื่อนไหวดังนี้และวางผลในคอลัมน์ที่ 4 ของเมทริกซ์ฉันเปลี่ยนชื่อเป็นเมทริกซ์ตามที่ต้องการเอาไว้สำหรับภาพประกอบค่าเฉลี่ย 3 วันของ 17, 14, 11 คือ 14 เฉลี่ย 3 วันของ 14, 11, 8 คือ 11 ค่าเฉลี่ย 3 วันของ 11, 8, 5 คือ 8 และค่าเฉลี่ย 3 วันของ 8, 5, 2 คือ 5 ไม่มีค่าในแถวล่าง 2 แถวสำหรับคอลัมน์ที่ 4 เนื่องจากการคำนวณสำหรับการเคลื่อนย้าย 3 วัน เริ่มต้นเฉลี่ยที่ด้านล่างผลลัพธ์ที่ถูกต้องจะไม่ปรากฏจนกว่าอย่างน้อย 17, 14, และ 11 หวังว่านี่จะทำให้ Aaron รู้สึกว่า Jun 12 13 ที่ 1 28. โดยทั่วไปจะช่วยถ้าคุณจะแสดงข้อผิดพลาดในกรณีนี้คุณกำลังทำ สองสิ่งผิดครั้งแรกของคุณ convolution ต้องถูกหารด้วยสามหรือความยาวของค่าเฉลี่ยเคลื่อนที่ขอให้สังเกตขนาดของ c คุณไม่สามารถเพียงพอดีกับ c ใน a วิธีปกติในการรับค่าเฉลี่ยเคลื่อนที่จะใช้ same. but ที่ doesn t ลักษณะเช่นสิ่งที่คุณ want. thefead คุณถูกบังคับให้ใช้คู่ของเส้นกันยายน 9, 2013.Moving เฉลี่ยโดย convolution. What คือการเคลื่อนไหวเฉลี่ยและสิ่งที่ เป็นวิธีที่ดีสำหรับการคำนวณค่าเฉลี่ยของการเคลื่อนที่โดยใช้ convolution. Moving คือการดำเนินการง่ายๆโดยปกติจะใช้ในการปราบปรามเสียงของสัญญาณที่เราตั้งค่าของแต่ละจุดให้ค่าเฉลี่ยของค่าในละแวกของมันโดยสูตรที่นี่ x เป็น input และ y เป็นสัญญาณเอาท์พุทในขณะที่ขนาดของหน้าต่างเป็น w ซึ่งควรจะเป็นเลขคี่สูตรข้างต้นจะอธิบายถึงการทำงานแบบสมมาตรตัวอย่างถูกนำมาจากทั้งสองด้านของจุดที่เกิดขึ้นจริงข้างล่างนี้คือตัวอย่างชีวิตจริงจุด ที่หน้าต่างจะวางจริงเป็นค่าสีแดงด้านนอก x ควรจะ zeros. To เล่นรอบและดูผลของค่าเฉลี่ยเคลื่อนที่ได้ดูการสาธิตแบบโต้ตอบนี้วิธีที่จะทำโดย convolution. As คุณอาจได้รับการยอมรับ, คำนวณค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายคือ คล้ายกับ convolution ในทั้งสองกรณีหน้าต่างจะเลื่อนไปตามสัญญาณและองค์ประกอบในหน้าต่างจะสรุปดังนั้นให้มันลองทำสิ่งเดียวกันโดยใช้ convolution ใช้พารามิเตอร์ต่อไปนี้ออกที่ต้องการเป็นวิธีแรก, ให้เราลองสิ่งที่เราได้รับโดยการ convolving สัญญาณ x โดย kernel k ต่อไปนี้ออกเป็นว่าสามครั้งใหญ่กว่าที่คาดไว้นอกจากนี้ยังสามารถเห็นได้ว่าค่าส่งออกเป็นสรุปของสามองค์ประกอบในหน้าต่างเป็นเพราะ ในระหว่างการแกว่งหน้าต่างบานเลื่อนตามองค์ประกอบทั้งหมดในนั้นถูกคูณด้วยหนึ่งและสรุปแล้ว yk 1 cdot x 1 cdot x 1 cdot x เพื่อให้ได้ค่าที่ต้องการของ y ผลลัพธ์จะหารด้วย 3. โดยสูตรรวมถึงการแบ่งส่วน แต่จะไม่เป็นการดีที่สุดในการแบ่งระหว่าง convolution นี่เป็นแนวคิดโดย rearranging สมการดังนั้นเราจะใช้ kernel k ต่อไปนี้ด้วยวิธีนี้เราจะได้รับเอาท์พุทที่ต้องการโดยทั่วไปถ้าเราต้องการที่จะทำค่าเฉลี่ยเคลื่อนที่โดย convolution ที่มีขนาดหน้าต่างของ w เราจะใช้ต่อไปนี้ k เคอร์เนลง่าย การทำงานของค่าเฉลี่ยเคลื่อนที่คือการใช้ตัวอย่างเช่น

No comments:

Post a Comment