การย้าย ค่าเฉลี่ย matlab แปลง
29 กันยายน, 2013.Moving เฉลี่ยโดย convolution. What คือเฉลี่ยเคลื่อนที่และสิ่งที่เป็นประโยชน์สำหรับวิธีการย้ายเฉลี่ยทำโดยใช้ convolution. Moving เฉลี่ยคือการดำเนินการง่ายๆที่ใช้มักจะปราบปรามเสียงของสัญญาณที่เราตั้งค่าของแต่ละ ชี้ไปที่ค่าเฉลี่ยของค่าในละแวกของมันโดยสูตรที่นี่ x เป็น input และ y เป็นสัญญาณเอาท์พุทในขณะที่ขนาดของหน้าต่างเป็น w, ควรจะเป็นเลขคี่สูตรข้างต้นจะอธิบายถึงการดำเนินการสมมาตรตัวอย่างที่ถ่าย จากทั้งสองด้านของจุดที่เกิดขึ้นจริงข้างล่างนี้เป็นตัวอย่างชีวิตจริงจุดที่หน้าต่างถูกวางไว้จริงคือค่าสีแดงด้านนอก x ควรจะเป็นค่าศูนย์เมื่อต้องการเล่นรอบ ๆ และดูผลของค่าเฉลี่ยเคลื่อนที่ให้ดูที่นี้ การสาธิตแบบโต้ตอบวิธีการทำโดย convolution. As คุณอาจได้รับการยอมรับการคำนวณค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายคล้ายกับ convolution ในทั้งสองกรณีหน้าต่างจะเลื่อนไปตามสัญญาณและองค์ประกอบในหน้าต่างจะสรุปดังนั้นลองดู ที่จะทำ เดียวกันโดยใช้ convolution ใช้พารามิเตอร์ต่อไปนี้ออกที่ต้องการเป็นวิธีแรกให้เราลองสิ่งที่เราได้รับโดยการ convolving สัญญาณ x โดย kernel kernel ต่อไปนี้ออกเป็นว่าสามครั้งใหญ่กว่าคาดว่าจะสามารถยัง เห็นว่าค่าเอาท์พุทเป็นข้อมูลสรุปของสามองค์ประกอบในหน้าต่างเนื่องจากในระหว่างการบิดหน้าต่างจะเลื่อนตามองค์ประกอบทั้งหมดที่อยู่ในนั้นคูณด้วยหนึ่งและสรุปได้ yk 1 cdot x 1 cdot x 1 cdot x เพื่อให้ได้ค่าที่ต้องการของ y ผลลัพธ์จะหารด้วย 3. โดยสูตรรวมถึงการแบ่งส่วน แต่จะไม่เป็นการดีที่สุดในการแบ่งระหว่าง convolution นี่เป็นแนวคิดโดย rearranging สมการดังนั้นเราจะใช้ kernel k ต่อไปนี้ด้วยวิธีนี้เราจะได้รับเอาท์พุทที่ต้องการโดยทั่วไปถ้าเราต้องการที่จะทำค่าเฉลี่ยเคลื่อนที่โดย convolution ที่มีขนาดหน้าต่างของ w เราจะใช้ k kernel ต่อไปนี้ง่าย ฟังก์ชันการทำค่าเฉลี่ยเคลื่อนที่คือการใช้ตัวอย่างเช่นฉันจำเป็นต้องคำนวณค่าเฉลี่ยเคลื่อนที่ในชุดข้อมูลภายในลูปสำหรับฉันต้องได้รับค่าเฉลี่ยเคลื่อนที่เหนือ N 9 วันอาร์เรย์ที่ฉันคำนวณเป็นชุด 365 365 ค่า M ซึ่งเป็นค่าเฉลี่ยของชุดของข้อมูลอื่นที่ฉันต้องการพล็อตค่าเฉลี่ยของข้อมูลของฉันโดยมีค่าเฉลี่ยเคลื่อนที่ในพล็อตเดียวฉันใช้ Google Googled เล็กน้อยเกี่ยวกับการย้ายค่าเฉลี่ยและคำสั่ง conv และพบบางสิ่งที่ฉันพยายามนำมาใช้ รหัสของฉันดังนั้นโดยทั่วไปฉันคำนวณค่าเฉลี่ยของฉันและพล็อตมันด้วยการย้ายที่ไม่ถูกต้อง เฉลี่ยฉันเลือกค่า wts ขวาออกจากเว็บไซต์ mathworks เพื่อให้เป็นแหล่งที่ไม่ถูกต้องปัญหาของฉันว่าเป็นว่าฉันไม่เข้าใจสิ่งที่ wts นี้คือใครสามารถอธิบายหากมีสิ่งที่จะทำอย่างไรกับน้ำหนักของค่าที่ไม่ถูกต้องใน กรณีนี้ค่าทั้งหมดจะถูกถ่วงน้ำหนักเหมือนกันและถ้าฉันทำอย่างผิดพลาดทั้งหมดนี้ฉันขอความช่วยเหลือกับมันขอแสดงความนับถือขอบคุณ 23 กันยายนที่ 19 05.Using conv เป็นวิธีที่ดีที่จะใช้ค่าเฉลี่ยเคลื่อนที่ รหัสที่คุณใช้วัตต์คือเท่าใดคุณกำลังชั่งน้ำหนักแต่ละค่าตามที่คุณคาดเดาผลรวมของเวกเตอร์ที่ควรมีค่าเท่ากับหนึ่งถ้าคุณต้องการให้น้ำหนักแต่ละค่าเท่ากันและทำขนาด N ย้ายตัวกรองแล้วคุณจะต้องการทำ การใช้อาร์กิวเมนต์ที่ถูกต้องใน conv จะทำให้มีค่าน้อยกว่า Ms ที่คุณมีใน M ใช้เหมือนกันถ้าคุณไม่ทราบผลของ zero padding ถ้าคุณมีกล่องเครื่องมือในการประมวลผลสัญญาณคุณสามารถใช้ cconv ได้ถ้าต้องการลองใช้ circular ค่าเฉลี่ยเคลื่อนที่ตัวอย่างเช่นคุณควรอ่านค่า Conv และ cconv สำหรับข้อมูลเพิ่มเติมหากคุณยังไม่ได้ใช้งานคุณสามารถใช้ตัวกรองเพื่อหาค่าเฉลี่ยในการทำงานได้โดยไม่ต้องใช้ loop สำหรับตัวอย่างนี้จะหาค่าเฉลี่ยที่รันของเวกเตอร์ 16 องค์ประกอบโดยใช้ขนาดหน้าต่าง 5.2 เรียบเป็นส่วนหนึ่งของ Curve กล่องเครื่องมือที่เหมาะสมซึ่งสามารถใช้ได้ในกรณีส่วนใหญ่ y y เรียบเรียบข้อมูลในคอลัมน์เวกเตอร์ y โดยใช้ตัวกรองเฉลี่ยเคลื่อนที่ผลลัพธ์จะถูกส่งกลับในเวกเตอร์ของคอลัมน์ yy ช่วงค่าเริ่มต้นสำหรับค่าเฉลี่ยเคลื่อนที่คือ 5.Using MATLAB ฉันจะหาได้อย่างไร ค่าเฉลี่ยเคลื่อนที่ 3 วันของคอลัมน์เฉพาะของเมตริกซ์และต่อค่าเฉลี่ยเคลื่อนที่กับเมตริกซ์นั้นฉันพยายามคำนวณค่าเฉลี่ยเคลื่อนที่ 3 วันจากด้านล่างจนถึงด้านบนสุดของเมตริกซ์ฉันได้ระบุรหัสของฉันแล้ว และ mask. I ได้พยายามใช้ conv คำสั่ง แต่ฉันได้รับข้อผิดพลาดนี่คือ conv คำสั่งฉันได้พยายามใช้ในคอลัมน์ที่ 2 ของ a. The matrix output ฉันต้องการจะได้รับใน matrix. If ต่อไปนี้คุณมี ข้อเสนอแนะฉันจะมาก ap ขอขอบคุณสำหรับคอลัมน์ 2 ของเมทริกซ์ฉันคำนวณค่าเฉลี่ยเคลื่อนที่ 3 วันดังต่อไปนี้และวางผลลัพธ์ในคอลัมน์ 4 ของเมทริกซ์ฉันเปลี่ยนชื่อเมทริกซ์เป็น desiredOutput สำหรับภาพประกอบค่าเฉลี่ย 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 รู้สึกว่าวันที่ 12 มิถุนายน 13 ที่ 1 28 โดยทั่วไปมันจะช่วยถ้าคุณจะแสดงข้อผิดพลาดในกรณีนี้คุณกำลังทำผิดพลาดสองประการแรก convolution ของคุณต้องถูกหารด้วยสามหรือความยาวของค่าเฉลี่ยเคลื่อนที่ขอให้สังเกตขนาดของ c คุณไม่สามารถเพียงพอดีกับ c เป็นวิธีทั่วไปในการรับค่าเฉลี่ยเคลื่อนที่จะใช้ same. but ที่ doesn t ลักษณะเหมือนสิ่งที่คุณ want. Instead คุณถูกบังคับให้ใช้คู่ของเส้น
Comments
Post a Comment