ฉันพยายามที่จะเสร็จสมบูรณ์โครงการมอบหมาย MATLAB กับคำถามต่อไปนี้เขียนฟังก์ชันที่เรียกว่า movingaverage ที่ใช้ scalar เรียก x เป็นอาร์กิวเมนต์ input และส่งกลับค่าสเกลาร์ ฟังก์ชันใช้บัฟเฟอร์เพื่อเก็บข้อมูลอินพุตก่อนหน้าและบัฟเฟอร์สามารถเก็บข้อมูลได้สูงสุด 25 อินพุท โดยเฉพาะฟังก์ชันจะต้องบันทึกข้อมูลอินพุต 25 รายการล่าสุดในเวกเตอร์ (บัฟเฟอร์) แต่ละครั้งที่เรียกใช้ฟังก์ชันจะคัดลอกอาร์กิวเมนต์อินพุตเป็นองค์ประกอบของบัฟเฟอร์ หากมีอินพุตอยู่ในบัฟเฟอร์จำนวน 25 รายการจะลบองค์ประกอบที่เก่าที่สุดและบันทึกข้อมูลปัจจุบันไว้ในบัฟเฟอร์ หลังจากเก็บข้อมูลอินพุตไว้ในบัฟเฟอร์แล้วจะส่งกลับค่าเฉลี่ยขององค์ประกอบทั้งหมดในบัฟเฟอร์ การแก้ปัญหาที่ฉันให้มีดังต่อไปนี้: ตามเกรดอัตโนมัติฟังก์ชันของฉันทำงานได้อย่างถูกต้องเมื่อค่า 1-50 กำลังผ่านไปเรื่อย ๆ แต่จะล้มเหลวเมื่อค่าของคลื่นไซน์ที่มีเสียงดังจะผ่านไปเรื่อย ๆ (ซึ่งฉันได้รับแจ้งว่าอาจเป็นเพราะบางส่วน ประเภทของข้อผิดพลาดรอบ) ฉันจะขอบคุณถ้ามีคุณสามารถให้คำแนะนำบางอย่างเกี่ยวกับขั้นตอนข้อผิดพลาดที่เป็นไปได้ในรหัสของฉัน (ต่อท้าย) ขอขอบคุณล่วงหน้าฉันจำเป็นต้องคำนวณค่าเฉลี่ยเคลื่อนที่ในชุดข้อมูลภายในลูปสำหรับ ฉันต้องได้รับค่าเฉลี่ยเคลื่อนที่มากกว่า N9 วัน การคำนวณ Im array เป็นค่า 365 ค่า (M) ซึ่งเป็นค่าเฉลี่ยของชุดข้อมูลอื่น ฉันต้องการคำนวณค่าเฉลี่ยของข้อมูลโดยมีค่าเฉลี่ยเคลื่อนที่ในพล็อตเดียว ฉัน googled เล็กน้อยเกี่ยวกับการย้ายเฉลี่ยและคำสั่ง conv และพบสิ่งที่ฉันพยายามใช้ในรหัสของฉัน: ดังนั้นโดยทั่วไปฉันคำนวณค่าเฉลี่ยของฉันและพล็อตมันด้วยค่าเฉลี่ยเคลื่อนที่ (ผิด) ฉันเลือกค่า wts จากเว็บไซต์ mathworks เพื่อที่ไม่ถูกต้อง (source: mathworks. nlhelpeconmoving-average-trend-estimation. html) ปัญหาของฉันแม้ว่าเป็นที่ฉันไม่เข้าใจสิ่งที่เป็น wts นี้ ทุกคนสามารถอธิบายได้หากมีบางสิ่งที่เกี่ยวข้องกับน้ำหนักของค่า: นั่นคือไม่ถูกต้องในกรณีนี้ ค่าทั้งหมดมีน้ำหนักเท่ากัน ถ้าฉันทำผิดอย่างนี้ฉันขอความช่วยเหลือด้วยความจริงใจขอบคุณ ถาม 23 กันยายนเวลา 14.00 น. เวลา 19:05 น. การใช้ Conv คือวิธีที่ยอดเยี่ยมในการใช้ค่าเฉลี่ยเคลื่อนที่ ในรหัสที่คุณกำลังใช้ wts คือจำนวนที่คุณชั่งน้ำหนักแต่ละค่า (ตามที่คุณคาดเดา) ผลรวมของเวกเตอร์นั้นควรมีค่าเท่ากับหนึ่ง ถ้าคุณต้องการให้น้ำหนักแต่ละค่าเท่ากันและทำตัวกรองการเคลื่อนย้าย N ขนาดแล้วคุณจะต้องการใช้การใช้อาร์กิวเมนต์ที่ถูกต้องใน conv จะทำให้มีค่าน้อยกว่า Ms มากกว่าที่คุณมีใน M. ใช้เหมือนกันถ้าคุณไม่ทราบผลกระทบของ ศูนย์ padding หากคุณมีกล่องเครื่องมือในการประมวลผลสัญญาณคุณสามารถใช้ cconv ถ้าต้องการลองใช้ค่าเฉลี่ยเคลื่อนที่แบบวงกลม สิ่งที่ต้องการคุณควรอ่านเอกสาร conv และ cconv เพื่อดูข้อมูลเพิ่มเติมหากยังไม่ได้ทำ คุณสามารถใช้ตัวกรองเพื่อหาค่าเฉลี่ยในการทำงานโดยไม่ใช้ลูปสำหรับ ตัวอย่างนี้จะหาค่าเฉลี่ยการทำงานของเวกเตอร์ 16 องค์ประกอบโดยใช้ขนาดหน้าต่างเป็น 5 2) เรียบเป็นส่วนหนึ่งของ Curve Fitting Toolbox (ซึ่งมีให้บริการในกรณีส่วนใหญ่) yy smooth (y) ทำให้ข้อมูลในเวกเตอร์ของคอลัมน์เรียบ y โดยใช้ตัวกรองค่าเฉลี่ยเคลื่อนที่ ผลลัพธ์จะถูกส่งกลับในเวกเตอร์ของคอลัมน์ yy ช่วงค่าเริ่มต้นสำหรับค่าเฉลี่ยเคลื่อนที่คือ 5.29 กันยายน 2013 ค่าเฉลี่ยเคลื่อนที่โดยการหมุนตัวค่าเฉลี่ยเคลื่อนที่คืออะไรและค่าใดที่เหมาะสำหรับการเคลื่อนที่โดยเฉลี่ยโดยใช้ convolution Moving average คือการดำเนินการง่ายๆที่ใช้เพื่อลดสัญญาณรบกวนของสัญญาณ: เรา กำหนดค่าของแต่ละจุดเป็นค่าเฉลี่ยของค่าในละแวกเดียวกัน โดยสูตร: นี่ x เป็นอินพุทและ y เป็นสัญญาณเอาต์พุตในขณะที่ขนาดของหน้าต่างเป็น w ซึ่งควรจะเป็นเลขคี่ สูตรข้างต้นอธิบายการทำงานแบบสมมาตร: ตัวอย่างจะถูกนำมาจากทั้งสองด้านของจุดจริง ด้านล่างเป็นตัวอย่างชีวิตจริง จุดที่หน้าต่างวางอยู่จริงเป็นสีแดง ค่าที่อยู่นอก x ควรเป็นศูนย์: เมื่อต้องการเล่นรอบ ๆ และดูผลกระทบของค่าเฉลี่ยเคลื่อนที่ให้ดูการสาธิตแบบโต้ตอบนี้ การคำนวณค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายมีความคล้ายคลึงกับ convolution: ในทั้งสองกรณีหน้าต่างจะถูกเลื่อนไปตามสัญญาณและองค์ประกอบต่างๆในหน้าต่างจะสรุปได้ ดังนั้นให้ลองทำสิ่งเดียวกันโดยใช้ convolution ใช้พารามิเตอร์ต่อไปนี้: ผลลัพธ์ที่ต้องการคือ: เป็นวิธีแรกให้เราลองทำสิ่งที่เราได้รับโดยการ convolving สัญญาณ x โดย k kernel ต่อไปนี้: ผลลัพธ์เป็นสามเท่ามากกว่าที่คาดไว้ นอกจากนี้ยังสามารถเห็นได้ว่าค่าที่ส่งออกคือส่วนสรุปของสามองค์ประกอบในหน้าต่าง เนื่องจากในระหว่างการบิดหน้าต่างจะเลื่อนตามองค์ประกอบทั้งหมดที่อยู่ในนั้นคูณด้วยหนึ่งและสรุปได้ดังนี้: yk 1 cdot x 1 cdot x 1 cdot x เพื่อให้ได้ค่าที่ต้องการของ y เอาท์พุทจะหารด้วย 3: โดยสูตรรวมถึงการหาร: แต่จะไม่ดีที่สุดที่จะทำส่วนในช่วง convolution นี่มาคิดโดยการจัดเรียงสมการ: ดังนั้นเราจะใช้ kernel ต่อไปนี้: ด้วยวิธีนี้เราจะ รับเอาท์พุทที่ต้องการ: โดยทั่วไป: ถ้าเราต้องการทำค่าเฉลี่ยเคลื่อนที่โดย convolution ที่มีขนาดหน้าต่าง w เราจะใช้เคอร์เนลต่อไปนี้: ฟังก์ชั่นง่ายๆทำค่าเฉลี่ยเคลื่อนที่คือตัวอย่างการใช้งาน: สร้างเมื่อวันพุธที่ 08 ตุลาคม 2008 เวลา 20:04 น. แก้ไขล่าสุดในวันพฤหัสบดีที่ 14 มีนาคม 2013 เวลา 01:29 น. เขียนโดย Batuhan Osmanoglu ผู้ชม: 41473 การย้ายเฉลี่ยใน Matlab บ่อยครั้งฉันพบตัวเองในความต้องการของค่าเฉลี่ยของข้อมูลที่ฉันต้องลดเสียงเล็กน้อย ฉันเขียนฟังก์ชันคู่ที่จะทำสิ่งที่ฉันต้องการ แต่ MATLABs สร้างขึ้นในฟังก์ชั่นกรองทำงานได้ดีเช่นกัน ที่นี่ฉันเขียนเกี่ยวกับ 1D และ 2D เฉลี่ยของข้อมูล สามารถใช้ตัวกรองแบบ 1D ได้โดยใช้ตัวกรอง ฟังก์ชั่นการกรองจำเป็นต้องใช้พารามิเตอร์ป้อนข้อมูลอย่างน้อยสามตัว ได้แก่ ค่าสัมประสิทธิ์การนับสำหรับตัวกรอง (b) ค่าสัมประสิทธิ์ตัวหารสำหรับตัวกรอง (a) และข้อมูล (X) แน่นอน ตัวกรองค่าเฉลี่ยที่ใช้งานได้สามารถกำหนดได้โดย: สำหรับข้อมูล 2D เราสามารถใช้ฟังก์ชัน Matlabs filter2 ได้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของตัวกรองคุณสามารถพิมพ์ได้: นี่คือการใช้ตัวกรองเฉลี่ย 16 ถึง 16 ที่รวดเร็วและสกปรก ขั้นแรกเราต้องกำหนดตัวกรอง เนื่องจากสิ่งที่เราต้องการคือการมีส่วนร่วมเท่าเทียมกันของเพื่อนบ้านทั้งหมดเราจึงสามารถใช้ฟังก์ชันเหล่านี้ได้ เราแบ่งทุกอย่างด้วย 256 (1616) เนื่องจากเราไม่ต้องการเปลี่ยนระดับทั่วไป (amplitude) ของสัญญาณ ในการใช้ตัวกรองเราสามารถพูดได้ว่าด้านล่างนี้เป็นผลลัพธ์ของระยะ interferogram ของ SAR ในกรณีนี้ Range อยู่ในแกน Y และ Azimuth จะถูกแมปกับแกน X ตัวกรองมีความกว้าง 4 พิกเซลในช่วงและกว้าง 16 พิกเซลใน Azimuth
ค่าเฉลี่ยการวิเคราะห์ทางเทคนิคค่าเฉลี่ยเคลื่อนที่โดยเฉลี่ยจะถูกใช้เพื่อให้เกิดการแกว่งตัวในระยะสั้นเพื่อดูแนวโน้มราคาที่ดีขึ้น ค่าเฉลี่ยเป็นตัวชี้วัดตามแนวโน้ม ค่าเฉลี่ยถ่วงน้ำหนักของราคารายวันคือราคาเฉลี่ยของส่วนแบ่งในช่วงเวลาที่เลือกซึ่งแสดงผลเป็นรายวัน สำหรับการคำนวณค่าเฉลี่ยคุณต้องเลือกช่วงเวลา การเลือกช่วงเวลามักเป็นภาพสะท้อนเมื่อความล่าช้าของข้อมูลราคามากหรือน้อยลงเมื่อเทียบกับราคา ค่าเฉลี่ยราคาถูกใช้เป็นตัวบ่งชี้ตามตัวชี้วัดและเป็นตัวอ้างอิงสำหรับการสนับสนุนด้านราคาและความต้านทาน โดยทั่วไปค่าเฉลี่ยอยู่ในรูปแบบต่างๆเพื่อให้ข้อมูลมีความราบรื่น ข้อเสนอพิเศษ: quotCapturing Profit with technical Analysisquot Simple Moving Average ค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายคำนวณโดยการเพิ่มราคาทั้งหมดภายในช่วงเวลาที่เลือกหารด้วยช่วงเวลานั้น ด้วยวิธีนี้ข้อมูลแต่ละค่าจะมีน้ำหนักเท่ากันในผลลัพธ์เฉลี่ย รูปที่ 4.35: ค่าเฉลี่ยเคลื่อนที่ที่เรียบง่ายและมีการถ่วงน้ำหนัก เส้นโค้งสีดำหนาในแผนภูมิรูปที่ 4.35 เป็นค่าเฉลี่ยเคลื่อนที่ 20 วัน ค่าเฉลี่ยถ่วงน้ำหนักที่ระบุ (Exponential Moving Average) ค่าเฉลี่ยการเค...
Comments
Post a Comment