59 lines
1.2 KiB
Matlab
59 lines
1.2 KiB
Matlab
clear all
|
|
close all
|
|
max_frames = 500;
|
|
|
|
f_x = 1;
|
|
f_y = 1.5;
|
|
dt = 2*pi/500;
|
|
|
|
f = figure();
|
|
f.Visible = false;
|
|
f.PaperUnits = 'centimeters';
|
|
f.PaperSize = [2.5 2.5];
|
|
f.PaperPosition = [0.0 0.0 2.5, 2.5];
|
|
f.Color = 'white';
|
|
|
|
writer = VideoWriter('../lecture/images/lissajous.mp4', 'MPEG-4');
|
|
writer.FrameRate = 25;
|
|
writer.Quality = 50;
|
|
|
|
open(writer);
|
|
for i = 1:max_frames
|
|
x = sin(f_x * 2 * pi * dt * i);
|
|
y = sin(f_y * 2 * pi * dt * i);
|
|
scatter(x, y, 30, 'r', 'filled');
|
|
xlim([-1.05, 1.05])
|
|
xticks([-1., 0., 1.])
|
|
ylim([-1.05, 1.05])
|
|
yticks([-1., 0., 1.])
|
|
xlabel('x')
|
|
ylabel('y')
|
|
drawnow;
|
|
frame = getframe(f);
|
|
writeVideo(writer, frame);
|
|
end
|
|
close(writer)
|
|
|
|
x_positions = zeros(max_frames, 1);
|
|
y_positions = zeros(max_frames, 1);
|
|
for i = 1:max_frames
|
|
x_positions(i) = sin(f_x * 2 * pi * dt * i);
|
|
y_positions(i) = sin(f_y * 2 * pi * dt * i);
|
|
end
|
|
|
|
f = figure();
|
|
f.PaperUnits = 'centimeters';
|
|
f.PaperSize = [2.5 2.5];
|
|
f.PaperPosition = [0.0 0.0 2.5, 2.5];
|
|
f.Color = 'white';
|
|
|
|
scatter(x_positions, y_positions, 10, 'r', 'filled');
|
|
xlim([-1.05, 1.05])
|
|
xticks([-1., 0., 1.])
|
|
ylim([-1.05, 1.05])
|
|
yticks([-1., 0., 1.])
|
|
xlabel('x')
|
|
ylabel('y')
|
|
|
|
saveas(f, '../lecture/images/lissajous.png')
|