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

Анимация синусоиды в Matlab

17.02.2018, 12:47. Показов 3751. Ответов 2

Студворк — интернет-сервис помощи студентам
Здравствуйте. Хоть и матлаб давно существует, а в интернете на него выложены сотни примеров, я не могу найти толковый код анимирования синусоиды. Есть анимириование точки, которая перемещается по траектории синусоиды, есть анимирование прорисовки синусоиды. А вот нету анимации просто медленно ползающей синусоиды.

Итак, написал такой код, который почти работает.

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Fs = 1000;
t = 0 : 2*pi/Fs : 6*pi;
A = 1;
w = 1;
fi = 0;
xlim([-pi/4 (6*pi + pi/4)]);
ylim([-2 2]);
grid on;
 
for i = 0 : 2*pi/Fs : 2*pi
s = A * sin(w*t + fi + i);
plot(t, s);
pause(0.5/Fs);
end;
Анимацию получаем перерисовывая в цикле for синусоиду, смещая фазу fi с каждым тиком. Но есть непонятные проблемы:

1) Мерцает график;
2) Пока не выполнится цикл for, невозможно закрыть окно графика;
3) Чего-то скорость ползания синусоиды очень медленная, хотя должно быть быстрые 0.5 секунд, как я укзал в строке pause(0.5/Fs);
4) Хоть и указано ylim([-2 2]), но по факту [-1 1], не знаю чего.

Может, график можно один раз plot'om нарисовать, а потом уже set'ом менять? Но через какие параметры?
Есть идеи?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.02.2018, 12:47
Ответы с готовыми решениями:

можно ли в Matlab создать библиотеку для С++ и использовать ее без вызова Matlab?
Возможно ли с помощью команды deploytool или какой-то другой команды создать библиотеку .dll например функции polyxpoly, чтобы в...

Parse error at case matlab: usage might be invalid matlab syntax
Сразу говорю: В матлабе работаю ровно месяц. В общем, делаю форму, для вывода графика в axix. Проблема в следующем. Я пытаюсь изменить цвет...

Запись синусоиды в бинарный файл
Мне нужно записать синусоиду в бинарный файл. Я нашел в литературе, что это можно сделать с помощью функции fwrite Но выдает ошибку: ...

2
 Аватар для Krasme
7245 / 5098 / 2151
Регистрация: 02.02.2014
Сообщений: 13,459
17.02.2018, 15:01
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Fs = 100;
t = 0 : 2*pi/Fs : 6*pi;
A = 1;
w = 1;
fi = 0;
 
for i = 0 : 2*pi/Fs : 2*pi
    s = A * sin(w*t + fi + i);
    
    plot(t, s);
    xlim([-pi/4 (6*pi + pi/4)]);
    ylim([-2 2]);
    grid on;
    
    pause(0.5/Fs);
end;
1) не заметила мерцания
2) верно, в цикле вызывается команда plot, что всегда возвращает окно
3) так и шаг сдвига очень мелкий
4) вся атрибутика фигуры выполняется после определения функции построения графика
1
0 / 0 / 0
Регистрация: 30.12.2015
Сообщений: 21
18.02.2018, 05:12  [ТС]
Разобрался. Делается с помощью movie.

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
%Animated sine example
N=100;
M=moviein(N);
Fs = 360;
t = 0 : 2*pi/Fs : 6*pi;
 
A = 1;
w = 1;
fi = 0;
 
for n=1:N
s = A * sin(w*t + fi + n/(2*pi)); 
plot(t, s);
xlim([-pi/4 (6*pi + pi/4)]);
ylim([-2 2]);
grid on;
M(:,n) = getframe;
end
movie(M, 1, 12)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.02.2018, 05:12
Помогаю со студенческими работами здесь

Cинусоидальный шум для синусоиды
Здравствуйте,понимаю вопрос глупый,но всё же мне нужна помеха в виде синусоиды для синусоидального сигнала,я не очень понимаю как её вообще...

Почему программа написанная в MATLAB 5.2 не работает в MATLAB 7.5 ?
Здравствуйте уважаемые форумчане. У меня возникла проблема с программой, написанной в MATLAB 5.2. Дело в том, что при её запуске в более...

Получить синусоиды посредством ряда Фурье
Здравствуйте! Имеется три исходные синусоиды. Необходимо из суммарной синусоиды получить исходные. Сделать это при помощи разложения...

Построить график текущего спектра синусоиды
Доброго времени суток, помогите пожалуйста построить график либо в MatCAD, либо MatLab. http://rghost.ru/8023631 Полное решение есть, а...

Координаты точки пересечения прямой и синусоиды
Доброго времени суток! Я новичок в Матлабе. Есть синусоида и прямая (уравнение: -1/tand( i)*x),исходящая из начала координат под...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Сем CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru