| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Object Pascal: кроссплатформенные технологии > Как задать параметры синусоиды |
| Автор: Ciber SLasH 3.5.2005, 16:49 | ||
| Народ, помогите решить такую задачу... 1) нужно задать синусоиду на интервале t=1 сек. с периодом T=10^-3 сек. Количество периодов M=5-10 (5 или 10). 2) эту синусоиду подвергнуть преобразованию Фурье. По след. формуле: F(f*)=корень( сумма[n=0..1000](sin(2PiFnT)*sin(2Pif*nT))^2 + сумма[n=0..1000](sin(2PiFnT)*cos(2Pif*nT))^2 ) n = 1..1000; n[i] = sin(2PiFnT), где F - частота ---------------------- Как-то на 2-м курсе я делал лабу с синусом, но там не надо было ограничивать интервал времени и не было оговорено значение периода. Вот код той лабы:
Вопрос в том как переделать её под 1-й вопрос? В этой лабе я вообще не помню каким макаром я получил такие формулы для вычисления координат синусоды. Помню только, что использовал след. формулы: 1) r = корень( x^2 + y^2 ) 2) fi = arccos(x/r) 3) fi = arcsin(y/r) 4) x = r*cos(fi) 5) y = r*sin(fi) По второму вопросу я нашёл исходник БПФ (http://alglib.sources.ru/fft/realfft.php), но там не так как в задании. Ну да ладно, с этим вопросом с преподом потолкую. Мне бы с первым разобраться... ЗЫ: блин, в глове уже ничего не осталось о мат.анализе |
| Автор: Fedor 3.5.2005, 18:42 |
| Ciber SLasH где конкретный вопрос! Что не получается? Ты хочешь чтоб тебе написали программу? Тогда читай правила форума. |
| Автор: Ciber SLasH 3.5.2005, 20:59 |
| Вопрос: не знаю как задать синусоиду на интервале t=1 сек. с периодом T=10^-3 сек. |
| Автор: Romtek 3.5.2005, 23:45 | ||
Путём нехитрого вычисления получаем, что в заданном промежутке аж 1000 периодов. По заданию, нужно только М. Тогда будет M*T сек. - общая длина синусоиды (но не 1 сек.). Делишь длину экрана на длину синусоиды и получаешь некоторый коэффициент k. Теперь можно задать шаг step=T/20; При построении графика выбираешь значения x, начиная с 0. y := sin (x); x := x + step; Свою предыдущую лабу оставь в покое и начни с начала. Там у тебя по непонятной причине используюутся полярные координаты, а они тебе сейчас не нужны. Дополнительный материал: http://forum.sources.ru/index.php?showtopic=52226 |
| Автор: Ciber SLasH 4.5.2005, 11:02 |
| 2Romtek: Спасибо !! Будем разбираться... |