PDA

View Full Version : یافتن اکسترمم ها بر مبنای تغییرات حداقلی و حداکثری



hamidrezasadeghi
پنج شنبه 15 بهمن 1394, 12:38 عصر
با سلام خدمت اساتید گرامی
داده هایی در یک فایل اکسل ، برای هر نماد ، در هر روز ، قیمت های حداکثر و حداقل در دو ستون ذخیره شده است. می خواهم برای هر نماد ، اکسترمم هایی به شکل قله ها و کف ها تعیین کنم که هر اکسترمم ، نسبت به اکسترمم قبلی اش ، حداقل Pr درصد تغییرات (مثبت یا منفی ) داشته باشد. بر اساس فایل پیوست مثلا اگر Pr = 4% در نظر گرفته شود ، کف B1 نسبت به قله قبلی آن یعنی C1 نزول Pr1=(B1-C1)/C1 داشته که Pr1 ≤ - 4% است. همچنین قله بعدی آن یعنی C2 نسبت به کف قبلی یعنیB1 به اندازه Pr2=(C2-B1)/B1 صعود کرده که Pr2 ≥ 4% است. به ترسیم خطی این کف ها و قله ها ، zigzag indicator اطلاق می شود.

138813

هدف یافتن قله ها یعنی C ها و کف ها یعنی B ها با متلب است. ممنون میشم اگه راهنمایی نمایید.

فایل اکسل رو نمیتونم ضمیمه کنم. چطوری می تونم فایل اکسل رو پیوست کنم؟
http://s6.picofile.com/file/8237008118/data.xlsx.html

http://s6.picofile.com/file/8237957200/picture_1.png (http://s6.picofile.com/file/8237008118/data.xlsx.html)

hamidrezasadeghi
شنبه 24 بهمن 1394, 04:58 صبح
دوستان گرامی لطفا راهنمایی نمایید.

mb1372
جمعه 30 بهمن 1394, 09:21 صبح
سلام
اون طور که فهمیدم شما دنبال مقادیر ماکزیمم و مینیمم نسبی هستین.
- برای پیدا کردن ماکزیمم نسبی: هر ستون رو به صورت یک بردار توی متلب ذخیره کنید. با استفاده از کد زیر مقدار ماکزیمم و آدرس اون نشون داده میشه:

A = [0 0 1 4 3 5 0 0 0 0 0 4 5 6 2 0 0 0 0 1 14 2 3 4 1];
[pks,locs] = findpeaks(A)

جواب به این صورت خواهد بود:


pks =




4 5 6 14 4








locs =




4 6 14 21 24


- برای پیدا کردن مینیمم نسبی: منفیِ مقادیر هر ستون رو در یک بردار ذخیره کنید. مراحل بالا رو دوباره برای این بردار انجام بدید. در نهایت مقادیر مینیمم نسبی خروجی رو در منفی ضرب کنید.