How to generate a mp4 from an animation

27 visualizaciones (últimos 30 días)
Gian Carpinelli
Gian Carpinelli el 22 de Mayo de 2018
Respondida: KSSV el 22 de Mayo de 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

Respuesta aceptada

KSSV
KSSV el 22 de Mayo de 2018

Más respuestas (0)

Categorías

Más información sobre Animation en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by