Continue simulation: resize workspace variables
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Amy
el 24 de Feb. de 2017
Comentada: Sudarshan Kolar
el 28 de Feb. de 2017
Hello!
I have run a simulation for 10.000 increments. Now I want to continue on this simulation so that in total 30.000 increments will be run.
For this purpose I want to use a loop to look at all the workspace variables and preallocate them without losing the older values:
for all variables in the workspace
if size(variable,1)==10000
variable(30000,:)=0
elseif size(variable,2)==10000
variable(:,30000)=0
end
end
How can I do this?
I found the following things that could be an ingredient:
list=who;
size(char(list(1)));
3 comentarios
Sudarshan Kolar
el 28 de Feb. de 2017
You can write a script that runs the model for 10 increments. Saves the data in an array and re-run the simulation for say 20 increments.
As an example, say my model has a "To workspace" block that logs a variable called "var1" every simulation.
storeData = []; %preallocate this for speed
sim('vdp','StopTime','10');
storeData = [storeData var1];
sim('vdp','StartTime','10','StopTime','20');
storeData = [storeData var1];
sim('vdp','StartTime','20','StopTime','30');
storeData = [storeData var1];
Respuesta aceptada
Más respuestas (1)
Ver también
Categorías
Más información sobre Variables 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!