Matlab - preallocating

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

preallocating

Publicado por Jorge Ivan (61 intervenciones) el 30/10/2019 18:25:19
Tengo este codigo en cual me genera matriz en 3D , Para mejorar el rendimiento me sugiere usar preallocating como lo hago para este tipo de matriz?

for c=1:length(s);
G(:,:,c)=1.*((1./(exp(n.*(x+(s(c))))+1))+0)';
end
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
Imágen de perfil de JESUS DAVID ARIZA ROYETH
Val: 5.476
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

preallocating

Publicado por JESUS DAVID ARIZA ROYETH (1817 intervenciones) el 30/10/2019 19:33:41
definirla antes del for voy a poner 50 por 50 porque no conozco el tamaño de las dimensiones x e y pero solo tendrías que poner las dimensiones que corresponden y listo:

1
2
3
4
G=zeros(50,50,length(s));
for c=1:length(s);
G(:,:,c)=1.*((1./(exp(n.*(x+(s(c))))+1))+0)';
end
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: 98
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

preallocating

Publicado por Jorge Ivan (61 intervenciones) el 30/10/2019 19:55:33
De esta forma . Como seria el preallocating?

1
2
3
4
5
6
7
8
x=-10:0.1:2;
 n=8; %
 s=1:1:5;
 
 
for c=1:length(s);
 G(:,:,c)=1.*((1./(exp(n.*(x+(s(c))))+1))+0)';
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 JESUS DAVID ARIZA ROYETH
Val: 5.476
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

preallocating

Publicado por JESUS DAVID ARIZA ROYETH (1817 intervenciones) el 30/10/2019 20:29:32
1
2
3
4
5
6
7
x=-10:0.1:2;
n=8; %
s=1:1:5;
G=zeros(length(x),1,length(s));
for c=1:length(s)
G(:,:,c)=1.*((1./(exp(n.*(x+(s(c))))+1))+0)';
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