Matlab - Grafico animado en matlab

 
Vista:
sin imagen de perfil
Val: 43
Ha disminuido su posición en 13 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Grafico animado en matlab

Publicado por wil (26 intervenciones) el 30/06/2020 02:13:46
Hola, intente hacer un gráfico animado, pero no se como corregir mi error , desde ya agradezco.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
D=0.05;
M=20;
N=20;
m=M+1;
n=N;
alf=5;
bet=4;
 
 
figure(1)
 
T=1;% aqui regula o tempo da figura animada
 
 
dtt=0.0125;
tt=0;
 
 
while tt<T
 
    tt=tt+dtt; % evolucion del tiempo
 
 
    for itr=1:m-1
    for i=1:n
    uu(itr,i)=(2*D*bet*pi*sin(pi*x(itr))*exp(-D*pi*pi*t(i)))./(alf+bet*cos(pi*x(itr))*exp(-D*pi*pi*t(i)));
    end
end
 
x=xl+(0:m-1)*h;t=tb+(0:n)*k;
    surfc(x, t, uu'), colorbar; shg
    caxis([-0.15 0.25])   % Pseudocolor axis scaling.
     title([' Simulation results after t = '  num2str(tt) '  [s]'])
     pause(dtt)
     axis tight
end
 xlabel('Width, [m] ')
 ylabel('Length, [m] ')
zlabel('Displacement, [m]')
% %% Contour plot
 figure(2)
 contourf(x, t, uu'), colorbar; shg
 title([' Simulation results after t = '  num2str(t) '  [s]'])
 axis tight
 xlabel('Width, [m] ')
 ylabel('Length, [m] ')
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 43
Ha disminuido su posición en 13 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Grafico animado en matlab

Publicado por wil (26 intervenciones) el 30/06/2020 03:12:40
1
2
3
4
5
6
7
8
9
10
11
12
xl=0;
xr=1;
tb=0;
te=1;
M=20;
N=20;
m=M+1;
n=N;
h=(xr-xl)/M;
k=(te-tb)/N;
 
x=xl+(0:m-1)*h;t=tb+(0:n)*k;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Grafico animado en matlab

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 30/06/2020 03:39:23
1
2
3
4
5
6
>> animado1
  Name       Size            Bytes  Class     Attributes
 
  t          1x21              168  double
  uu        20x20             3200  double
  x          1x21              168  double

Deben ser del mismo tamaño si desea usar la función surfc
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 43
Ha disminuido su posición en 13 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Grafico animado en matlab

Publicado por wil (26 intervenciones) el 30/06/2020 15:06:29
Es verdad , ya lo arregle , pero lo malo es que cuando el tiempo pasa el grafico no se mueve, nose cual podria ser el comando, o sentencia que haga que se mueva la superficie al pasar el tiempo.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
xl=0;
xr=1;
te=1;
tb=0;
M=20;
N=20;
alf=5;bet=4;D=0.05;
 
h=(xr-xl)/M; k=(te-tb)/N; m=M+1; n=N;
 
x=xl+(0:m-1)*h;t=tb+(0:n)*k;
 
T=1;% aqui regula o tempo da figura animada
dtt=0.0125;
tt=0;
uu=zeros(m,m);
 
while tt<T
    % condicion de frontera:
    uu(:, [1,end])  = 0;
    uu([1, end], :) = 0;
    %  evolucion del tiempo:
    tt=tt+dtt;
 
 
 
    for itr=2:m-1
 
    for i=2:n-1
    uu(itr,i)=(2*D*bet*pi*sin(pi*x(itr))*exp(-D*pi*pi*t(i)))./(alf+bet*cos(pi*x(itr))*exp(-D*pi*pi*t(i)));
    end
end
 
    surfc(x, t, uu'), colorbar; shg
    caxis([-0.15 0.25])   % Pseudocolor axis scaling.
     title([' Simulation results after t = '  num2str(tt) '  [s]'])
     pause(dtt)
     axis tight
end
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Grafico animado en matlab

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 30/06/2020 16:54:03
Quitar el while y hacer este modificación
1
2
3
4
5
6
for itr=2:m-1
for i=2:n-1
uu(itr,i)=(2*D*bet*pi*sin(pi*x(itr))*exp(-D*pi*pi*t(i)))./(alf+bet*cos(pi*x(itr))*exp(-D*pi*pi*t(i)));
end
surfc(x, t, uu'), colorbar; shg
end
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Grafico animado en matlab

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 30/06/2020 18:03:45
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
clear
close all
xl=0;
xr=1;
te=1;
tb=0;
M=20;
N=20;
alf=5;bet=4;D=0.05;
h=(xr-xl)/M; k=(te-tb)/N; m=M+1; n=N;
x=xl+(0:m-1)*h;t=tb+(0:n)*k;
T=1;% aqui regula o tempo da figura animada
dtt=0.0125;
tt=0;
uu=zeros(m,m);
% condicion de frontera:
uu(:, [1,end]) = 0;
uu([1, end], :) = 0;
for itr=2:m-1
    for i=2:n-1
    uu(itr,i)=(2*D*bet*pi*sin(pi*x(itr))*exp(-D*pi*pi*t(i)))./(alf+bet*cos(pi*x(itr))*exp(-D*pi*pi*t(i)));
    end
    axis([0 1 0 1  0 0.5])
    tt=tt+dtt;
    surf(x, t, uu)
    view(86,14)
    axis([0 1 0 1  0 0.5])
    t1=sprintf('%8.6f',tt);
    title([' Simulation results after t = ', t1(1:6),'[s]'])
    pause(0.1)
end

1
>> animado1


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab
Servicio de Asesoría Online en Matlab
[email protected]


http://matlabcaballero.blogspot.com
https://codigoscaballero.blogspot.com/
https://algoritmoscaballero.blogspot.com/
https://www.facebook.com/matlabcaballero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 43
Ha disminuido su posición en 13 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Grafico animado en matlab

Publicado por wil (26 intervenciones) el 30/06/2020 18:10:23
Muy bien, gracias por tu tiempo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar