how do I display the labelling on the axis?

3 visualizaciones (últimos 30 días)
Tlotlo Oepeng
Tlotlo Oepeng el 22 de Jun. de 2022
Comentada: Star Strider el 22 de Jun. de 2022
i have a code here its axis are labbelled on the code but when it runs the output fugure doesnt display the axis labels or tittle.
% CGLsim1D.m
% Copyright David M. Winterbottom 2005
% ************************************************************
% Simulating the complex Ginzburg-Landau equation in 1D using
% pseudo-spectral code and ETD2 exponential time-stepping (See
% Matthews and Cox, J. Comp. Phys., 176 430-455, 2002)
% ************************************************************
disp('*** 1D CGL SIMULATION ***');
*** 1D CGL SIMULATION ***
% Set equation coefficients
a = -2;
b = 0.4;
% Set system parameters
L = 200; % Domain size
Tmax = 200; % Simulation time
N = 512; % Number of grid points
dT = 0.05; % Timestep (choose between 0.01 and 0.05)
dps = 1000; % Number of stored times
ic = 'pulse'; % Initial condition: choose 'zero', 'tw', 'uniform' or 'pulse'
n = 0; % Winding number for 'tw' initial condition
co = 0; % Whether to continue simulation from final values of previous
% Calculate some further parameters
nmax = round(Tmax/dT);
q = n*2*pi/L;
X = (L/N)*(-N/2:N/2-1)';
nplt = floor(nmax/dps);
% Define initial conditions
if co == 0
Tdata = zeros(1,dps+1);
if strcmp(ic, 'zero')
A = zeros(size(X)) + 10^(-2)*randn(size(X));
elseif strcmp(ic, 'tw')
A = sqrt(1-q^2)*exp(1i*q*X) + 10^(-2)*randn(size(X));
elseif strcmp(ic, 'uniform')
A = ones(size(X)) + 0.01*randn(size(X));
elseif strcmp(ic, 'pulse')
A = sech((X+10).^2) + 0.8*sech((X-30).^2) + 10^(-2)*randn(size(X));
else
error('invalid initial condition selected')
end
Tdata(1) = 0;
else
A = Adata(:,end);
starttime = Tdata(end);
Tdata = zeros(1,dps+1);
Tdata(1) = starttime;
disp(' CARRYING OVER...')
end
% Set wavenumbers and data arrays
k = [0:N/2-1 0 -N/2+1:-1]'*(2*pi/L);
k2 = k.*k; k2(N/2+1) = ((N/2)*(2*pi/L))^2;
Adata = zeros(N,dps+1);
A_hatdata = zeros(N,dps+1);
A_hat = fft(A);
Adata(:,1) = A;
A_hatdata(:,1) = A_hat;
% Compute exponentials and nonlinear factors for ETD2 method
cA = 1-k2*(1+1i*a);
expA = exp(dT*cA);
nlfacA = (exp(dT*cA).*(1+1./cA/dT)-1./cA/dT-2)./cA;
nlfacAp = (exp(dT*cA).*(-1./cA/dT)+1./cA/dT+1)./cA;
% Solve PDE
dataindex = 2;
for n = 1:nmax
T = Tdata(1) + n*dT;
A = ifft(A_hat);
% Find nonlinear component in Fourier space
nlA = -(1+1i*b)*fft(A.*abs(A).^2);
% Setting the first values of the previous nonlinear coefficients
if n == 1
nlAp = nlA;
end
% Time-stepping
A_hat = A_hat.*expA + nlfacA.*nlA + nlfacAp.*nlAp;
nlAp = nlA;
% Saving data
if mod(n,nplt) == 0
A = ifft(A_hat);
Adata(:,dataindex) = A;
A_hatdata(:,dataindex) = A_hat;
Tdata(dataindex) = T;
dataindex = dataindex + 1;
end
% Commenting on time elapsed
if mod(n,floor(nmax/10)) == 0
outp = strcat(' n= ', num2str(n), ' completed'); disp(outp);
end
end
n=400 completed n=800 completed n=1200 completed n=1600 completed n=2000 completed n=2400 completed n=2800 completed n=3200 completed n=3600 completed n=4000 completed
% Plot evolution
figure('position', [200 200 300 350])
surf(X,Tdata,real(Adata).')
view(0,90), shading interp, axis tight
set(gca,'position', [0 0 1 1])
set(gca,...
'xcolor', [0.6 0.6 0.6],...
'ycolor', [0.6 0.6 0.6],...
'fontsize', 6,...
'fontname', 'courier')
xlabel('X',...
'fontname', 'courier',...
'fontsize', 6,...
'color', [0.6 0.6 0.6])
ylabel('T',...
'fontname', 'courier',...
'fontsize', 6,...
'color', [0.6 0.6 0.6],...
'rotation', 0)
title('evolution of |A|',...
'fontname', 'courier',...
'fontsize', 6,...
'color', [0.6 0.6 0.6])

Respuesta aceptada

Cris LaPierre
Cris LaPierre el 22 de Jun. de 2022
The issue is caused by the code that adjusts the axes position. Comment that out, and your axes labels appear.
% CGLsim1D.m
% Copyright David M. Winterbottom 2005
% ************************************************************
% Simulating the complex Ginzburg-Landau equation in 1D using
% pseudo-spectral code and ETD2 exponential time-stepping (See
% Matthews and Cox, J. Comp. Phys., 176 430-455, 2002)
% ************************************************************
disp('*** 1D CGL SIMULATION ***');
*** 1D CGL SIMULATION ***
% Set equation coefficients
a = -2;
b = 0.4;
% Set system parameters
L = 200; % Domain size
Tmax = 200; % Simulation time
N = 512; % Number of grid points
dT = 0.05; % Timestep (choose between 0.01 and 0.05)
dps = 1000; % Number of stored times
ic = 'pulse'; % Initial condition: choose 'zero', 'tw', 'uniform' or 'pulse'
n = 0; % Winding number for 'tw' initial condition
co = 0; % Whether to continue simulation from final values of previous
% Calculate some further parameters
nmax = round(Tmax/dT);
q = n*2*pi/L;
X = (L/N)*(-N/2:N/2-1)';
nplt = floor(nmax/dps);
% Define initial conditions
if co == 0
Tdata = zeros(1,dps+1);
if strcmp(ic, 'zero')
A = zeros(size(X)) + 10^(-2)*randn(size(X));
elseif strcmp(ic, 'tw')
A = sqrt(1-q^2)*exp(1i*q*X) + 10^(-2)*randn(size(X));
elseif strcmp(ic, 'uniform')
A = ones(size(X)) + 0.01*randn(size(X));
elseif strcmp(ic, 'pulse')
A = sech((X+10).^2) + 0.8*sech((X-30).^2) + 10^(-2)*randn(size(X));
else
error('invalid initial condition selected')
end
Tdata(1) = 0;
else
A = Adata(:,end);
starttime = Tdata(end);
Tdata = zeros(1,dps+1);
Tdata(1) = starttime;
disp(' CARRYING OVER...')
end
% Set wavenumbers and data arrays
k = [0:N/2-1 0 -N/2+1:-1]'*(2*pi/L);
k2 = k.*k; k2(N/2+1) = ((N/2)*(2*pi/L))^2;
Adata = zeros(N,dps+1);
A_hatdata = zeros(N,dps+1);
A_hat = fft(A);
Adata(:,1) = A;
A_hatdata(:,1) = A_hat;
% Compute exponentials and nonlinear factors for ETD2 method
cA = 1-k2*(1+1i*a);
expA = exp(dT*cA);
nlfacA = (exp(dT*cA).*(1+1./cA/dT)-1./cA/dT-2)./cA;
nlfacAp = (exp(dT*cA).*(-1./cA/dT)+1./cA/dT+1)./cA;
% Solve PDE
dataindex = 2;
for n = 1:nmax
T = Tdata(1) + n*dT;
A = ifft(A_hat);
% Find nonlinear component in Fourier space
nlA = -(1+1i*b)*fft(A.*abs(A).^2);
% Setting the first values of the previous nonlinear coefficients
if n == 1
nlAp = nlA;
end
% Time-stepping
A_hat = A_hat.*expA + nlfacA.*nlA + nlfacAp.*nlAp;
nlAp = nlA;
% Saving data
if mod(n,nplt) == 0
A = ifft(A_hat);
Adata(:,dataindex) = A;
A_hatdata(:,dataindex) = A_hat;
Tdata(dataindex) = T;
dataindex = dataindex + 1;
end
% Commenting on time elapsed
if mod(n,floor(nmax/10)) == 0
outp = strcat(' n= ', num2str(n), ' completed'); disp(outp);
end
end
n=400 completed n=800 completed n=1200 completed n=1600 completed n=2000 completed n=2400 completed n=2800 completed n=3200 completed n=3600 completed n=4000 completed
% Plot evolution
figure('position', [200 200 300 350])
surf(X,Tdata,real(Adata).')
view(0,90), shading interp, axis tight
% set(gca,'position', [0 0 1 1]) <-------- Comment out
set(gca,...
'xcolor', [0.6 0.6 0.6],...
'ycolor', [0.6 0.6 0.6],...
'fontsize', 6,...
'fontname', 'courier')
xlabel('X',...
'fontname', 'courier',...
'fontsize', 6,...
'color', [0.6 0.6 0.6])
ylabel('T',...
'fontname', 'courier',...
'fontsize', 6,...
'color', [0.6 0.6 0.6],...
'rotation', 0)
title('evolution of |A|',...
'fontname', 'courier',...
'fontsize', 6,...
'color', [0.6 0.6 0.6])
  2 comentarios
Tlotlo Oepeng
Tlotlo Oepeng el 22 de Jun. de 2022
you are a star
Star Strider
Star Strider el 22 de Jun. de 2022
It would be appropriate to accept Cris’s answer if it solves your problem.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Live Scripts and Functions en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by