|
7960 / 5121 / 2162
Регистрация: 02.02.2014
Сообщений: 13,495
|
|
| 08.09.2017, 21:52 | |
|
вроде по-русски написано, но ничего не поняла..
если у вас есть работа на delphi и excel, то зачем вам matlab?
0
|
|
| 08.09.2017, 21:52 | |
|
Ответы с готовыми решениями:
28
Как найти критерий начала определения суточной вариации во временном ряде данных?
Найти закономерность в числовом ряде |
|
6 / 6 / 3
Регистрация: 31.08.2017
Сообщений: 108
|
|
| 08.09.2017, 22:04 [ТС] | |
|
Krasme, не работал с матлаб. Поэтому и спрашиваю. Исходя из Вашей программки вывести в строках только значение экстремума.год координаты и значение
Добавлено через 5 минут Krasme, В Дельфи уж очень громоздкая программа получается. И ошибки вычеслений трудно мне найти. А тут смогу сравнивать. Если можете помогите. А Матлаб в дальнейшем планирую использовать для вевлет анализа.
0
|
|
|
7960 / 5121 / 2162
Регистрация: 02.02.2014
Сообщений: 13,495
|
|||||||
| 08.09.2017, 22:19 | |||||||
Сообщение было отмечено Sayres как решение
Решение
1
|
|||||||
|
6 / 6 / 3
Регистрация: 31.08.2017
Сообщений: 108
|
|||||||||||
| 12.09.2017, 14:15 [ТС] | |||||||||||
|
Krasme,
Спасибо! Все -таки не зря сравнил результаты. Действительно есть разница. В дельфи удалял тренд, а тут нет. И получается экстремум находится дальше по ряду. В дельфи тренд расчитывается по такому алгоритму
В матлабе это сделать легче. Можно ли использовать функцию dtrend . Добавлено через 5 минут Krasme, Можно до выведение результата применить в этой программке функцию yDtrend = dtrend(y,True) ? После чтения и игнорирования 9999, вычесть тренд и затем уже найти экстремумы. Добавлено через 23 часа 43 минуты SSC, Полный сумбур в изложении, и возможно понимании задачи. 1. Ищется максимум или минимум функции или сигнала. Возможно необходимо определить и положение этого максимума или минимума. У функции или сигнала всегда есть некоторый входной параметр, может быть неявный как похоже в Вашем случае, например номер отсчета. 2. Значение 9999, как его понимать? Это просто сбойный отсчет в процессе измерения? Т.е. измерение проводилось, но результат по некоторым причинам получен неверным, и его в обработке не учитывают, но номер отсчета у следующего параметра будет на единицу больше. Другой вариант, как Вы предлагаете, просто вырезать данные с отсчетом 9999. Однако это разные графики (см. рисунок графики для данных 2001 6), и максимумы будут у них в разных местах. 3. Если представленные графики аппроксимировать полиномом второй степени, то получим параболу с ветвями направленными вверх, т.е. функция будет иметь минимум ( во всяком случае для синего графика это точно, а для красного всяко может получиться). Миниатюры Говорите верно. С учетом программки Krasme и вашей, посмотрел, что получается. Исходя из задачи и корректив внесенных после того как ВЫ ответили, задача состоит: Есть массив данных. Я приводил уже пример. (Год, месяц, координаты, и значения). нужно найти экстремум. То есть либо минимум либо максимум. Так как возможны оба варианта. Если строить полином второй степени, то будет либо ветви направлены вверх, либо вниз. Нужно найти само значение экстремума ( в данном случае температуру) и положение этого значения( номер отсчета, уровень) Причем 9999 не учитывать. Исходя предложенных вариантов, проделал расчеты в Матлабе. Есть расчеты и в эксцеле и и дельфи.. Однако пришел к выводу, что исходные данные нужно отфильтровать, то есть из них удалить линейный тренд. Получится такой же массив значений, с такими же размерами, только уже по этим данным нужно проводить расчеты далее. после исключения тренда, программа берет данные из текстового формата (после исключения тренда), рассчитывает коэффициенты аппроксимирующих полиномов, и строит графики полиномов и исходных точек. и затем выводит сами значения и и положение(уровень). Пути реализации: также в матлабе, функцией poly, только полином не второй степени, а первой. Или функция dtrend/ Добавлено через 6 минут Krasme, Krasme,
И еще вопрос, в программку предварительное удаление линейного тренда можно внести, встроенной функцией? dtrend? Или все таки таким путем : p = polyfit(x,y,n); % получить параметры линии тренда - n - степень интерполяции (1-линейная, 2-2-ой степени, 3-кубическая и т.д.) f = polyval(p,x); % построить линию тренда и затем его удалять. Можно все реализовать сразу? Добавлено через 17 минут Krasme, извиняюсь за надоедливость возможно, Но Несколько запутался. Да и потом учусь. Матлаб интересен. Добавлено через 4 минуты SSC, А то я изначально рассматривал решение задачи без Матлаба: программа расчета линейного тренда в дельфи . удаление его из рядом. А затем поиск экстремума. Вот таким путем: http://megapredmet.ru/1-55626.html Ищем коэффиент, знак при нем, чтоб узнать куда направлены ветви. и далее находим либо минимум либо максимум. И его значение и положение. С учетом то что в матлабе это значительно удобнее и можно в дальнейшем работать. Появился интерес. Но это все пока Просто поисковые творческие наметки. Krasme, Извините.
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 164
|
|
| 16.09.2017, 14:15 | |
|
Посмотрела решение этой проблемы. Стало интересно. Похожая задача у меня. Исходя из программ предложенных как решение, можно найти экстремум. Линейный тренд ведь можно рассчитать как и полиномиальной, только ставить коэффициент не 2 , а 1 то есть искать линейный тренд. Но Его удалить из данных потом надо , как написал автор темы. Я так понимаю надо удалить тренд, потом можно повторить процедуру и рассчитать уже из остатков без трендов полином. И найти экстремум.
Поиск экстремума функции одной переменной с помощью встроенной функции fminbnd - можно в этом случае? Не вдавааясь в подробности исходных данных. У меня несколько версий данных. Одна из которых подобна данных Sayres. По этому могу использовать предложенные алгоритмы. У меня для разных задач ( в одной задаче нужно найти тренд и удалить из данных его). И все больше делать ничего не надо. А во второй задаче нужно удалить тренд ,а затем хочу искать как у автора коэффициенты полинома. Но я буду сначала искать экстремумы как и автор. А потом хочу рассчитывать среднее значение, моду и до характеристики. На следующем этапе. Функция detrend можно использовать если все данные хорошие , а если как у автора 9999 или как у меня 9998 или 999 отсутствие данных то не удается. И ещё попробовала по программам сначала рассчитать линейный тренд ( ставившие коэффициент 1 , а не 2 в формуле и искать линейный тренд) а потом полином 2 степени. Но далее из исходных данных вычесть полученную линию тренда не получится. Размерность разная.
0
|
|
|
6 / 6 / 3
Регистрация: 31.08.2017
Сообщений: 108
|
|||||||||||||||||||||||||||||||
| 17.09.2017, 11:12 [ТС] | |||||||||||||||||||||||||||||||
|
Юля С,
Я с матлабом раньше не работал. Ищу решение дальше. [del] Krasme, Получил данные значения линейного тренда. Затем их вычел из реальных данных. Сохранять данные в текстовый файл лучше так:
SSC, Доброго времени суток.
Нужен второй коэфицент -0.381971817263287, если он меньше 0, то ищем минимум min(DV)то есть в зависимости куда направлены ветви параболы. либо минимум , либо максимум. Если проводить процедуру detrend(Vv), то не должно быть уже 9999. Но вот после Vv=d(d(:,1)~=9999, ; в четвертом столбце , последнее значение 9999, осталось. После чего detrend(Vv), в 4 столбце тренд расчитывает не верно. Либо надо делать так может быть:
получить линию тренда линейного , затем вычесть из исходных данных линии тренда(линейного) ...... Потом уже найти коэфициенты полинома 2 степнни и если 2 коэфициент меньше ) ищем минимум. Просто график мне нужно развернуть. Привел данные в файле с трендом и без. для примера. Чтобы было понятно , что нужно. Или просто как тут ниже расчитать коэфициенты полинома
Но перед этим после d=di(5:end, ; удалить тренд линейный из данных и далее все также проделать.ВОТ это d, но потом получаем
Кликните здесь для просмотра всего текста
9999 9999 9999 9999 9999 9999
28.1 28.27 27.54 28.26 27.88 27.58 28.09 28.2 25.11 27.96 27.78 25.46 27.95 26.37 23.72 25.18 23.05 24.28 25.73 23.09 19.52 21.36 21.63 22.26 22.61 20.02 16.54 17.59 20.07 19.51 19.46 18.34 15.68 16.03 18.37 18.67 18.37 16.18 15.37 14.91 15.71 17.22 16.81 15.44 15.1 14.5 14.44 15.35 15.54 14.74 14.32 14.32 13.81 13.99 14.93 14.19 13.89 14.1 13.55 13.73 14.36 13.79 13.55 13.55 13.41 13.62 13.88 13.5 13.27 13.25 13.31 13.5 13.65 13.39 13.12 13.08 13.22 13.43 13.4 13.3 12.98 12.88 13.13 13.35 13.23 13.14 12.88 12.72 13.08 13.28 13.03 12.93 12.76 12.51 13.01 13.22 12.86 12.73 12.67 12.4 12.92 13.14 12.73 12.55 12.6 12.34 12.85 13 12.5 12.44 12.54 12.26 12.8 12.87 12.3 12.36 12.45 12.17 12.76 12.78 12.22 12.3 12.32 12.06 12.69 12.7 12.09 12.26 12.22 11.93 12.63 12.67 11.94 12.23 12.15 11.82 12.58 12.65 11.79 12.16 12.08 11.74 12.54 12.59 11.64 12.09 11.99 11.61 12.47 12.47 11.53 12.03 11.91 11.52 12.41 12.32 11.35 12.02 11.88 11.44 12.24 12.13 11.18 11.94 11.81 11.3 11.99 11.99 11.03 11.81 11.72 11.16 11.84 11.92 10.87 11.59 11.48 11.01 11.63 11.76 10.7 11.45 11.37 10.87 11.37 11.6 10.6 11.2 11.15 10.78 11.15 11.38 10.51 10.96 10.93 10.66 10.93 11.15 10.34 10.54 10.66 10.56 10.51 10.92 10.09 10.32 10.49 10.49 10.35 10.7 9.91 10.12 10.34 10.32 10.09 10.54 9.75 9.87 10.08 10.03 9.88 10.24 9.44 9.67 9.84 9.74 9.62 10.01 9.25 9.39 9.66 9.49 9.4 9.91 9.13 9.16 9.42 9.3 9.2 9.72 8.85 8.91 9.1 9.15 9.05 9.39 8.69 8.69 8.86 8.97 8.83 9.09 8.51 8.49 8.68 8.84 8.72 8.88 8.23 8.34 8.53 8.63 8.65 8.75 8 8.15 8.41 8.49 8.56 8.59 7.82 8.02 8.24 8.36 8.35 8.4 7.66 7.86 8.07 8.21 8.15 8.13 7.52 7.71 7.94 8.09 7.97 7.83 7.28 7.55 7.82 8.02 7.76 7.71 7.05 7.41 7.69 7.88 7.66 7.65 6.9 7.24 7.58 7.61 7.56 7.51 6.8 7.06 7.5 7.32 7.44 7.33 6.7 6.92 7.41 6.95 7.28 7.15 6.58 6.75 7.24 6.76 7.1 6.94 6.51 6.58 7.04 6.63 6.91 6.77 6.46 6.48 6.85 6.54 6.73 6.69 6.4 6.4 6.67 6.4 6.63 6.63 6.32 6.32 6.52 6.31 6.58 6.58 6.2 6.28 6.36 6.22 6.48 6.51 6.08 6.23 6.23 6.16 6.37 6.41 5.95 6.18 6.12 6.1 6.25 6.31 5.81 6.12 6.02 6.04 6.09 6.25 5.75 6.05 5.96 5.95 5.94 6.2 5.71 5.97 5.9 5.86 5.84 6.12 5.67 5.9 5.84 5.76 5.78 6.05 5.65 5.84 5.79 5.71 5.75 5.97 5.65 5.76 5.73 5.65 5.69 5.88 5.64 5.68 5.66 5.54 5.59 5.81 5.59 5.63 5.6 5.4 5.49 5.77 5.52 5.55 5.54 5.31 5.41 5.71 5.47 5.48 5.47 5.28 5.34 5.63 5.41 5.42 5.42 5.27 5.31 5.53 5.36 5.34 5.35 5.22 5.29 5.43 5.34 5.29 5.25 5.16 5.23 5.37 5.3 5.26 5.16 5.1 5.16 5.29 5.26 5.23 5.09 5.07 5.07 5.25 5.18 5.19 5.06 5 4.99 5.16 5.07 5.13 5.01 4.93 4.9 5.08 4.99 5.09 4.95 4.89 4.86 5.03 4.92 5.05 4.92 4.86 4.83 4.98 4.88 5 4.87 4.83 4.79 4.95 4.86 4.97 4.84 4.8 4.78 4.92 4.82 4.91 4.77 4.75 4.76 4.89 4.79 4.86 4.74 4.72 4.76 4.86 4.78 4.83 4.7 4.69 4.74 4.82 4.77 4.81 4.66 4.67 4.72 4.78 4.74 4.76 4.63 4.65 4.71 4.75 4.72 4.72 4.61 4.63 4.69 4.73 4.7 4.71 4.6 4.6 4.67 4.71 4.69 4.69 4.6 4.58 4.66 4.68 4.68 4.68 4.58 4.56 4.66 4.67 4.67 4.65 4.58 4.56 4.63 4.66 4.65 4.63 4.57 4.56 4.61 4.66 4.63 4.63 4.56 4.57 4.59 4.66 4.62 4.61 4.55 4.57 4.59 4.66 4.61 4.59 4.55 9999 4.57 4.63 9999 9999 9999 9999 9999 9999 9999 9999 9999 9999 9999 9999 9999 9999 9999 9999 9999 9999 9999 9999 9999 9999 9999 9999 и получаем 9999 1 Кликните здесь для просмотра всего текста
27.58 2
25.46 3 24.28 4 22.26 5 19.51 6 18.67 7 17.22 8 15.35 9 13.99 10 13.73 11 13.62 12 13.5 13 13.43 14 13.35 15 13.28 16 13.22 17 13.14 18 13 19 12.87 20 12.78 21 12.7 22 12.67 23 12.65 24 12.59 25 12.47 26 12.32 27 12.13 28 11.99 29 11.92 30 11.76 31 11.6 32 11.38 33 11.15 34 10.92 35 10.7 36 10.54 37 10.24 38 10.01 39 9.91 40 9.72 41 9.39 42 9.09 43 8.88 44 8.75 45 8.59 46 8.4 47 8.13 48 7.83 49 7.71 50 7.65 51 7.51 52 7.33 53 7.15 54 6.94 55 6.77 56 6.69 57 6.63 58 6.58 59 6.51 60 6.41 61 6.31 62 6.25 63 6.2 64 6.12 65 6.05 66 5.97 67 5.88 68 5.81 69 5.77 70 5.71 71 5.63 72 5.53 73 5.43 74 5.37 75 5.29 76 5.25 77 5.16 78 5.08 79 5.03 80 4.98 81 4.95 82 4.92 83 4.89 84 4.86 85 4.82 86 4.78 87 4.75 88 4.73 89 4.71 90 4.68 91 4.67 92 4.66 93 4.66 94 4.66 95 4.66 96 4.63 97 9999 98 9999 99 9999 100 9999 101 а нужно же иметь 6 столбцов сразу и их порядковые номера. В общем что то не получается.
0
|
|||||||||||||||||||||||||||||||
|
6 / 6 / 3
Регистрация: 31.08.2017
Сообщений: 108
|
||||||
| 13.10.2017, 11:48 [ТС] | ||||||
|
Krasme, Еще раз здравствуйте.
Посмотрите.
PS:Запутался, в двух березах. Krasme, картинка
0
|
||||||
|
319 / 258 / 30
Регистрация: 30.03.2013
Сообщений: 755
|
||||||
| 15.10.2017, 00:59 | ||||||
Может быть вам понятнее станет ваша задача ...
0
|
||||||
|
6 / 6 / 3
Регистрация: 31.08.2017
Сообщений: 108
|
|||||||||||
| 16.10.2017, 12:02 [ТС] | |||||||||||
|
sergsh, Спасибо, будет полезно.
Но в целом то задача ясна. И в предыдущей программе получается. Но там один раз проскочило значение 9999, но Это единичный случай. Но более важно удалить линейный тренд со всех столбцов, чтоб все данные были как вначале в столбцах. А после
Я с этой задачей работаю в уже дальше. Но В матлабе именно не получается. Один вопрос.
Добавлено через 2 минуты данные
0
|
|||||||||||
| 16.10.2017, 12:02 | |
|
В ряде найти самое краткое слово
Найти количество не чётных элементов в каждом ряде матрицы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|