powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как построить синусоиду?
11 сообщений из 11, страница 1 из 1
Как построить синусоиду?
    #32520820
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. у меня есть значение синусоиды по оси абсцисс - т.е. это даты, пользователь вводит начальные и конечные даты, у синусоиды фиксированный период = 21 дням, как мне написать запрос, на основе которого будет построена диаграмма. ? ? ?
...
Рейтинг: 0 / 0
Как построить синусоиду?
    #32520826
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
select x, sin(x) ...
...
Рейтинг: 0 / 0
Как построить синусоиду?
    #32520832
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или

select MyDate, Sum(MyVal)
from MyTable
where MyDate between [Дай первую дату] and [Дай последнюю дату]
group by MyDate

Что надо-то?
...
Рейтинг: 0 / 0
Как построить синусоиду?
    #32520910
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А. Пользователь вводит дату1 и дату2, а в промежутках этих дат должна быть построена синусоида с фиксированной амплитудой (т.е. амплитуда нам не важна) и периодом = 21 день, я просто не знаю, какие значения и как кинуть на диаграмму.

Б. Правда я не знаю, может быть проще реализовать такой алгоритм, когда пользователь вводит прогнозируемую дату, а график синусоиды строится, в пределах +20 дней и -20 дней?
Как лучше? Сделать, по А. или по Б.?

Проблема № 2.
Как найти пересечение синусойды с осью абсцисс и все вершины синусойды.

(Т.е. мне надо реализовать рассчет биоритмов в Access).
...
Рейтинг: 0 / 0
Как построить синусоиду?
    #32521239
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Биоритмы в Access: 2,95,97,2000,2002,2003
...
Рейтинг: 0 / 0
Как построить синусоиду?
    #32521257
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКак найти пересечение синусойды с осью абсцисс и все вершины синусойды.
Нда... Это в учебники школьные. Период синуса? Правильно, 2pi. sin(0)=0. Пересечение с осью абсцисс - каждые 21/2 дней. Т.е. в первую сек. первого дня, в день со смещением 10.5, в 21-й день и т.д.

Д.б. построена синусоида с какой частотой дискретизации? Допустим, раз в час.
Заводим таблицы
tHours (поле hr)
0
1
2
...
23

tDays (поле dy)
0
1
2
...
n

пишем запрос

select sin((dy+hr/24)/21*2*3.141593) from tDays, tHours where dy between [d1] and [d2]
...
Рейтинг: 0 / 0
Как построить синусоиду?
    #32521260
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гео, а почему ты не рассказал ,как найти вершины синусоиды ?
...
Рейтинг: 0 / 0
Как построить синусоиду?
    #32521263
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе смешно...
А ведь тоже человек программы пишет...
Биоритмы, млин.
...
Рейтинг: 0 / 0
Как построить синусоиду?
    #32523018
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Geo:
Хорошо, а как тогда определить и выцепить(вытащить) в поля те даты, для которых у синусоиды идет пересечение с осью абсцисс и те даты, которые находятся под вершинами синусоиды?
...
Рейтинг: 0 / 0
Как построить синусоиду?
    #32523043
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gyslik, ты в каком классе учишься?
Пусть Т- период ;
Birthday- день рождения индивидуума, над которым мы шаманствуем;
StartDate and EndDate - ну это и так понятно
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
select fldDate,
     switch (datediff("d",Birthday,fldDate) mod (T/ 2 ) = 0 , 0  
                ,datediff("d",Birthday,fldDate) mod T=T/ 4 , 1  
                ,datediff("d",Birthday,fldDate) mod T= 3 *T/ 4 ,- 1 ) as Activity
from my Table
where fldDate between StartDate and EndDate 
and   switch (datediff("d",Birthday,fldDate) mod (T/ 2 ) = 0 , 0 
                ,datediff("d",Birthday,fldDate) mod T=T/ 4 , 1 
                ,datediff("d",Birthday,fldDate) mod T= 3 *T/ 4 ,- 1 )  is not null
...
Рейтинг: 0 / 0
Как построить синусоиду?
    #32523058
Фотография Gyslik.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 (c)VIG:
Спасибо, щас попробую.
P.S.
Я в институте учусь, просто все забыл уже. В справочнике даже про синусоиду посмотрел, но там как-то не очень внятно было написано, наверно потому что справочник для школьников.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как построить синусоиду?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]