Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/34: Рейтинг темы: голосов - 34, средняя оценка - 4.91
1 / 1 / 1
Регистрация: 28.10.2013
Сообщений: 189

Нужно сгладить график

30.03.2016, 15:20. Показов 7368. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
оригинальный вектор отмечен голубым. синий это:
Matlab M
1
MwSm=smooth(Mw, smoothing,'moving');
где smoothing=20.
красный это то что я хочу - полностью гладкий график(нарисовал в Paint). Особенно мне мешает пик на синем графике.

Можете помочь? поднять smoothing не помогает.
Миниатюры
Нужно сгладить график  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.03.2016, 15:20
Ответы с готовыми решениями:

Как сгладить график функции?
Помогите сделать график более гладким. figure(2) y2=2*log(x).*sin(x); plot(x,y2,'b'), grid title('2*log(x)*sin(x)') xlabel('x'),...

В точке есть неплавный переход, можно ли как то сгладить график
Всем привет! не пугайтесь моего кода, занимались самодеятельностью, но так нужно :D В точке x=0.85 есть неплавный переход, можно ли...

Как сгладить график из малого числа точек и нанести на него эти точки?
Возможно ли в Matlab как-нибудь сглаживать графики? А то у меня получается ломаная линия.. Или хотя бы просто точки как-нибудь нанести, а я...

9
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
30.03.2016, 16:25
Хотя-бы оригинальные данные в виде массива приведи, а то Вы думаете кто-то по Вашему графику набивать будет
0
1 / 1 / 1
Регистрация: 28.10.2013
Сообщений: 189
30.03.2016, 19:34  [ТС]
Не думал что сами величины имеют значение. скинул в Exel один из графиков.
Вложения
Тип файла: xlsx Table.xlsx (11.6 Кб, 6 просмотров)
0
30.03.2016, 20:08

Не по теме:

Цитата Сообщение от LM87 Посмотреть сообщение
Не думал что сами величины имеют значение
Цитата Сообщение от LM87 Посмотреть сообщение
поднять smoothing не помогает.
а не думаете, что человеку надо проверить вашу гипотезу и продумать свой вариант перед ответом?

0
 Аватар для bobah16
373 / 343 / 42
Регистрация: 14.07.2015
Сообщений: 2,890
30.03.2016, 22:00
LM87, можно в принципе отфильтровать высокочастотную составляющую или rms построить
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
31.03.2016, 10:41
Лучший ответ Сообщение было отмечено LM87 как решение

Решение

Во вариант
Кликните здесь для просмотра всего текста
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
35
36
37
38
39
40
41
function reshenie
clear all; clc; close all;
[ XYisx, NagrText ] = xlsread('Table.xlsx');
NN=size(XYisx);
 
plot(XYisx(:,1),XYisx(:,2))
grid on
hold on
Xmin=min(XYisx(:,1));
Xmax=max(XYisx(:,1));
 
N_int=25; % Число интервалов
nS=4; % Кратность сглаживания
 
Step=(Xmax-Xmin)/N_int;
XGint=Xmin:Step:Xmax; XGint(end)=XGint(end)+Step/10000;
Y_int=zeros(1,N_int);
X_int=zeros(1,N_int);
nX_int=zeros(1,N_int);
for ii=1:N_int
   [iA]=find(XYisx(:,1)>=XGint(ii) & XYisx(:,1)<=XGint(ii+1));
   A=XYisx(iA,2);
   nX_int(ii)=length(iA);
   if nX_int(ii)>0
    Y_int(ii)=sum(A)/nX_int(ii);
   end
   X_int(ii)=(XGint(ii)+XGint(ii+1))/2;
end
% Вырезание нулевых точек
iA=find(nX_int>0);
X=X_int(iA); Y=Y_int(iA);
% правильнее было бы не вырезать нулевые точки,
% а поставить в них апроксимированные значения
 
 
Y3=Smoothing3Point(Y, nS);
Y5=Smoothing5Point(Y, nS);
 
%plot(X,Y,'y');
plot(X,Y3,'r',X,Y5,'g');
end

Изменяя N_int, nS можно добиться разных результатов
Миниатюры
Нужно сгладить график  
1
1 / 1 / 1
Регистрация: 28.10.2013
Сообщений: 189
31.03.2016, 11:37  [ТС]
большое спасибо. что такое Smoothing3Point ?
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
31.03.2016, 11:58
Это встроенная функция сглаживания по 3 точкам (есть в примере).
Прочтите в примере замечание по удалению нулевых точек.
Если подходить строго, то при выбрасывании точек пользоваться сглаживанием нельзя, т.к. точки будут расположены не с фиксированным шагом.
Определите значения хотя бы линейной интерполяцией.
0
1 / 1 / 1
Регистрация: 28.10.2013
Сообщений: 189
31.03.2016, 12:25  [ТС]
Цитата Сообщение от SSC Посмотреть сообщение
Это встроенная функция сглаживания по 3 точкам (есть в примере).
что-то я совсем торможу.
Matlab M
1
Y5=smooth(Y, 5,'moving');
это тоже самое что и
Matlab M
1
Y5=Smoothing5Point(Y, nS);
?
тогда зачем nS?

я вижу что решение чуть грубовато но мне и не нужна здесь точность а скорее общая тенденция. добавил набольшую экстраполяцию до последней точки.
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
31.03.2016, 12:51
У меня нет пакета по фильтрам, поэтому нет функции smooth.
Скорее всего они анологичны при nS=1.
nS - это число проходов сглаживания, при достаточно большом nS получим прямую линию.
Однако эти методы работают на сигналах с постоянным шагом.
В Ваших исходных данных шаг очень неравномерный, я сигнал усреднил на фиксированных диапазонах.
Однако при большом числе диапазонов возникает ситуация что в некоторые диапазоны не попадает ни одной тосчи (посмотри сигнал Y_int). Я эти точки просто вырезал из полученного сигнала, а более строго в этих точках надо интерполяцией определить величину сигнала, тогда операция сглаживания будет более правомерна.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.03.2016, 12:51
Помогаю со студенческими работами здесь

Сгладить график
Не могу понять как сгладить график, гуглил ничего путнего не нашел. Есть данные с лабораторной работы зависимости тока от частоты, но...

Как сгладить график построенный по точкам в Mathcad Prime
Помогите научиться сглаживать графики в Mathcad Prime.

Сгладить график
Пользуюсь последними версиями данных библиотек, гуглил и смотрел поясняющие ролики,но все равно не понятно как это сделать. import numpy...

Составить график функции. Дана функция нужно построить график по полученным точкам
Помогите составить график функции. Дана функция нужно построить график по полученным точкам a=1.237845 b=-0.1244321*power(10,3) begin...

В магазине работает 5 человек, нужно составить график их работы, нужно что бы каждый день работало по 3 чел
В магазине работает 5 человек, нужно что бы каждый день работало по 3 человека, но что бы через день работы каждый из этих 3 отдыхал, а на...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru