How to generate a mp4 from an animation

11 vues (au cours des 30 derniers jours)
Gian Carpinelli
Gian Carpinelli le 22 Mai 2018
Réponse apportée : KSSV le 22 Mai 2018
Hi, so currently I am able to produce an animation but I would like to save this animation as an mp4 and im unsure how to do that. The code is:
%Gian Carpinelli - 18/5/18.
%This script finds L-periodic solutions of the Kuramoto-Sivanshinsky
%equation subject to random initial conditions. The script uses spectral
%methods to solve the KS equations in physical space.
close all clear all
set(groot, 'DefaultLineLineWidth', 1, ... 'DefaultAxesLineWidth', 1, ... 'DefaultAxesFontSize', 16, ... 'DefaultTextFontSize', 12, ... 'DefaultTextInterpreter', 'latex', ... 'DefaultLegendInterpreter', 'latex', ... 'DefaultColorbarTickLabelInterpreter', 'latex', ... 'DefaultAxesTickLabelInterpreter','latex');
f = @(x) 0.01*(2*rand(size(x))-1); % this gives random initial conditions for each run
L = 60; % Enter the desired L value here to see the different flow regiemes. alpha = 2*pi/L;
[x, t, u] = solve_ks(6*L, 2^9, alpha, 400, f);
for k = 1:length(t)
plot(x, u(k,:), '-k')
axis([0 2*pi -2 2])
drawnow
end
figure
contourf(x, t, u,'EdgeColor','none')
set(gcf, 'units', 'inches', 'position', [10 10 10 10])
c = colorbar;
xlabel('$x$')
ylabel('$t$')
ylabel(c,'u(x,t)')
title('Plot of Solutions to Kuramoto-Sivashinsky Equation')
% sets up the problem for the various L values
function [x, t, u] = solve_ks(N, nt, alpha, T, f)
% solve_ks solves Kuramoto-Sivashinsky equation on a
% 2*pi-periodic domain. % % Inputs: % N - number of collocation points.
% nt - number of times for output.
% nu - viscosity.
% T - final time.
% f - function handle specifying IC. % % Outputs:
% t - row vector containing output times.
% x - row vector containing grid points.
% u - matrix containing solution at t(j)
% in row u(j,:).
% Set up grid.
h = 2*pi/N;
x = h*(0:N-1);
ik = 1i*[0:N/2-1 0 -N/2+1:-1]';
k2 = [0:N/2 -N/2+1:-1]'.^2;
k4 = [0:N/2 -N/2+1:-1]'.^4;
t = linspace(0, T, nt);
% Numerical solution in physical space.
[~, u] = ode15s(@KS, t, f(x));
function dudt = KS(t, u)
uh = fft(u);
ux = ifft(ik.*uh, 'symmetric');
uxx = ifft(-k2.*uh, 'symmetric');
uxxxx =ifft(k4.*uh, 'symmetric');
dudt = -alpha*u.*ux-alpha^2*uxx-alpha^4*uxxxx;
end
end

Réponse acceptée

KSSV
KSSV le 22 Mai 2018

Plus de réponses (0)

Catégories

En savoir plus sur Animation dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by