- Have your “x” and “y” data ready.
- Use “VideoWriter” function to create an .avi file.
- Loop through your data points, updating the plot for each point with the specified time lag.
- Capture each frame using “getframe” and write it to the video file.
Plot with lagging
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi, I want to plot series of data (y vs. x) with lagging of time t (33.33mS) between each point and then to save that as a video (.avi format). Any assistance will be appreciated, Regards,
0 Commenti
Risposte (1)
Ayush
il 4 Dic 2024
Hi,
To create a video from a series of data points with a specific time lag between each point in MATLAB, you can follow these steps:
Refer to an example code below for a better understanding:
% Sample data
x = 1:100; % Example x data
y = sin(x); % Example y data
% Time lag in seconds
time_lag = 0.03333; % 33.33 milliseconds
% Set up the video writer
videoFileName = 'data_plot.avi';
v = VideoWriter(videoFileName);
v.FrameRate = 1 / time_lag; % Set frame rate based on time lag
open(v);
% Create a figure for plotting
figure;
hold on;
grid on;
xlabel('X-axis');
ylabel('Y-axis');
title('Data Plot with Time Lag');
% Plot each point with the specified time lag
for i = 1:length(x)
plot(x(i), y(i), 'bo'); % Plot the current point
drawnow; % Update the plot
% Capture the frame
frame = getframe(gcf);
writeVideo(v, frame);
% Pause for the specified time lag
pause(time_lag);
end
% Close the video writer
close(v);
disp(['Video saved as ', videoFileName]);
For more information on the “VideoWriter” and “getframe” functions refer to the below documentations:
0 Commenti
Vedere anche
Categorie
Scopri di più su Animation in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!