Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 73

Среднее арифметическое выделенного куска периодической функции

26.04.2016, 23:44. Показов 3822. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть переодическая функция,8 периодов.Нужно в конце выделить кусок,и вычислить арифметическое значение. Просто графически отрезать и использовать mean не вариант.Нужно в виде грамотного оформления.
Вот как график выглядит
Миниатюры
Среднее арифметическое выделенного куска периодической функции  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.04.2016, 23:44
Ответы с готовыми решениями:

Найти среднее арифметическое значений функции f(x) в точках a, b, (a+b)/2 используя обращение к функции
А этой нету: 3.Найти среднее арифметическое значений функции f(x) в точках a, b, (a+b)/2 используя обращение к функции f=(x*sin⁡...

Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции
Помогите срочно, хотя бы перевести формулу на язык С++

Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции
здраствуйте знатаки!! помогите пожалуйсто решить задачу.Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2,...

39
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
27.04.2016, 08:08
Цитата Сообщение от majestik007 Посмотреть сообщение
Нужно в виде грамотного оформления
А это как?
0
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 73
27.04.2016, 08:47  [ТС]
Nick07,Нужна программа которая будет находить конец графика,и брать кусок где остались только шумы,найти среднее значение на этом промежутке.
0
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
27.04.2016, 09:43
Цитата Сообщение от majestik007 Посмотреть сообщение
конец графика
Конкретизируйте
Цитата Сообщение от majestik007 Посмотреть сообщение
только шумы
Конкретизируйте

Еще пару вопросов и мы сообща решим Вашу задачу.

Программирование - это прежде всего формализация задачи. Похоже, что программирование Вы изучаете с "нуля" и сразу на МАТЛАБ. Это новые тенденции обучения программированию или как? Поясните пожалуйста!
0
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 73
27.04.2016, 10:57  [ТС]
Nick07, У графика 8 периодов,в конце (из-за того что система инерциальна) Волна некоторое время присутствует.Потом начинается так называемый холостой ход.Когда есть сигнал сети,и в нём есть некоторые помехи.В этих помехах нужно найти среднее значение сигнала,тобиш постоянную составляющую.
Программа примерно такая:Опеределить конец последнего периода (скорее всего будет там,где ближе всего к нулю),после выбрать отрезок произвольной длинный,к примеру 500,и на нём найти постоянную составляющую.

Добавлено через 7 минут
(скорее всего точка отсчёта там,где значение амплитуды будет минимальным)

Красным обозначил точку отсчета.Вот как это математически определить?Тоесть уже амлитуда не такая большая как при рабочем сигнале.
Миниатюры
Среднее арифметическое выделенного куска периодической функции  
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
27.04.2016, 12:40
Что Вы считаете периодом?
Какой длины по времени один период сигнала на первом графике?
0
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 73
27.04.2016, 13:16  [ТС]
SSC, разной
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
27.04.2016, 13:53
Цитата Сообщение от majestik007 Посмотреть сообщение
У графика 8 периодов
Цитата Сообщение от majestik007 Посмотреть сообщение
Опеределить конец последнего периода
Цитата Сообщение от majestik007 Посмотреть сообщение
Красным обозначил точку отсчета.
Точка находится в t1=1.476
Тоесть все 8 периодов уложились до t1
Но на 1 графике сигнал затухает после t2=1.6
Тоесть после t1 и то t2, это что за фигня.
Вы хоть сами понимаете что пишете.
Цитата Сообщение от majestik007 Посмотреть сообщение
SSC, разной
Я абсолютно понимаю, что период может немного отличаться.
На Вашем графике я вижу 8 сигналов/периодов (правда первый немного искажен возможно из за старта), средняя длина сигнала примерно 1.6/8=0.2
Более точно можно было бы сказать из сигнала, но в разных темах Вы сигнал негде не дали (скорее всего он суперсекретный), и все обсуждают Вашу проблему на пальцах, тратя свое время почти впустую.
0
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 73
27.04.2016, 15:36  [ТС]
SSC, Сигнал был в другой теме,на первом затухает на 1,6 потому что это 2 разных графика.Проблема в том что бы подобрать универсальный код,а не только для одного.По этому прошу помочь это как то сформулировать математически,а не резать к примеру L=[1600;1650]

Добавлено через 3 минуты
SSC, просто вы пытаетесь под определённый график решение найти,а нужно для N-го количества.И там будут различия,когда заканчивается последний полупериод.Вот и прошу математически как-то это обосновать
0
 Аватар для bobah16
373 / 343 / 42
Регистрация: 14.07.2015
Сообщений: 2,890
27.04.2016, 15:47
majestik007, ну так поставьте условие, что после прохождения последнего максимума\минимума, вырезается кусок при уровне сигнала меньше чем заданная константа. Можно зайти с конца и поставить условие, что при превышении определенного порога все, что было раньше обрезается.
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
27.04.2016, 16:11
Так как сигнала нет, а Вы сами все умеете, тогда вот Вам решение.
Пишете обработку скользящим средним (SS) по абсолютному значению от сигнала, Делаете некоторый отступ, например поиск окончания сигнала начинаете только после того, как уровень SS превысит некоторое значение UR1, после этого ищете момент спадания SS до некоторого малого значения UR2, это и есть момент времени окончания полезного сигнала. Величины UR1 и UR2 подберите такими, чтобы Ваши сигналы надежно обрабатывались. Длина определения скользящего среднего DSS должна быть примерно 1/6 - 1/2 периода сигнала.
Ошибка определения окончания сигнала составляет примерно 3*DSS.
Данный алгоритм работает с любой формой сигнала.
Более точное определение окончания сигнала возможно только опираясь на некоторые свойства сигнала. Например определить период сигнала и отступив заданное количество периодов + некоторый небольной запас.
Все - дерзайте.
1
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 73
27.04.2016, 16:29  [ТС]
bobah16, Если бы я знал как это условие записать)
0
 Аватар для bobah16
373 / 343 / 42
Регистрация: 14.07.2015
Сообщений: 2,890
27.04.2016, 17:43
Цитата Сообщение от majestik007 Посмотреть сообщение
Если бы я знал как это условие записать)
Ну это вам нужно условные операторы вспомнить. Уж сами как-нибудь разберетесь.
Вот так еще легче для понимания. Транспонируйте свой сигнал и отрубите все остальное после элемента, который превысит определенный порог. Главная задача определить этот самый порог.
0
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 73
27.04.2016, 18:31  [ТС]
bobah16, а как этот порог задать,или определить?
0
 Аватар для bobah16
373 / 343 / 42
Регистрация: 14.07.2015
Сообщений: 2,890
27.04.2016, 18:35
majestik007, ну как как, посмотреть на ваш график и определить, выше какого значения нужно все далее обрезать. Например, судя по первой картинке на этой странице, можно взять для неё 0.1. Пробуйте, экспериментируйте.
0
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 73
27.04.2016, 22:08  [ТС]
SSC, Подскажите,я правильно записал для скользящего среднего,если у меня массив данных с шумом oscil.

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
%в случае, если размер окна четный, увеличиваем его на 1 для симметрии;
window = 5;
if(mod(window,2)==0)
    window=window+1;
end
hw=(window-1)/2; %размах окна влево и вправо от текущей позиции
   
n=length(oscil);
result=zeros(n,1);
result(1)=oscil(1);  %первый элемент берем из исходного массива oscil как есть
 
for i=2:n              %организовываем цикл по числу элементов
    init_sum = 0;
    if(i<=hw)        %если индекс меньше половины окна, мы находимся в начале массива, 
                           %нужно брать окно меньшего размера
        k1=1;         %в качестве начала окна берем первый элемент
        k2=2*i-1;    %конец окна 
        z=k2;          %текущий размер окна
    elseif (i+hw>n) %если индекс+половина окна больше n - мы приближаемся к концу массива и размер окна
                            %также нужно уменьшать
        k1=i-n+i;     %начало окна 
        k2=n;          %конец окна - последний элемент массива
        z=k2-k1;     %размер окна
    else                 %если первые два условия не выполняются, мы в середине массива
        k1=i-hw;
        k2=i+hw;
        z=window;
    end
    
    for j=k1:k2                          %организуем цикл от начала до конца окна
       init_sum=init_sum+oscil(j); %складываем все элементы
    end
    result(i)=init_sum/(z);        %и делим на текущий размер окна
end
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
28.04.2016, 07:42
Да, вроде все нормально, только в строке
Matlab M
1
init_sum=init_sum+abs(oscil(j)); %складываем все элементы
abs от сигнала.
Ну и размер окна наверное будет значительно больше
0
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 73
28.04.2016, 08:00  [ТС]
SSC, поиск окончания сигнала начинаете только после того, как уровень SS превысит некоторое значение UR1, после этого ищете момент спадания SS до некоторого малого значения UR2, это и есть момент времени окончания полезного сигнала

Не совсем понял,как это можно реализовать
0
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
28.04.2016, 08:02
Цитата Сообщение от majestik007 Посмотреть сообщение
брать кусок где остались только шумы
А у Вас есть понимание, какой у Вас шум? Если шум имеет нормальный закон распределения, то и без расчетов его среднее = 0. Любой грамотный спец. спросит, а зачем Вы считали ср. арифм? Ср. арифметическое без понимания мат х-стик шума ничего, кроме наукообразия (расчет на MATLAB !!!), не даст.
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
28.04.2016, 08:15
Постройте на одних осях исходный график сигнала и result (конесно с abs).
Вы увидете, что result нарастает от 0 (или какогото малого числа), потом становится значительным (где сигнал большой) и потом спадает.
Поэтому искать сразу маленький уровень UR2>result нельзя (это произойдет в самом начале сигнала).
Запускаем цикл от начала до конца result
Cначала ищем выполнение условия result>UR1 ( тоесть мы уже в зоне нормального сигнала ).
После этого ищем выполнение условия result<UR2, сохраняем эту точку - это конец сигнала с некоторым запасом (примерно половина окна сглаживания) и выходим из цикла.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.04.2016, 08:15
Помогаю со студенческими работами здесь

Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции
Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции. f=arctgx+ln^2 x^2 Нужно...

Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции
f=((e^x+e^(-x))/2)*lg()2*x) Добавлено через 3 часа 7 минут что реально никто не может помочь?

В матрице A[1..N,1..M] определить среднее арифметическое значение чисел в столбцах, находящихся до среднего столбца (SR1) и среднее арифметическое зна
Написать прогу на паскале со вставкой ассемблера, т.е. создание и вывод матрицы и средних сделать в паскале, а обработку в ассемблере

Найти среднее арифметическое квадратов и среднее арифметическое абсолютных значений двух вещественных чисел
Всем здрасте помогите плиз. Дается два вещественных числа. Найти среднее арифметическое их квадратов и среднее арифметическое их абсолютных...

Найти среднее арифметическое значений заданной функции в указанных точках, используя обращение к функции
Ребят, помогите пожалуйста! Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru