Variable changes value after using load
11 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Elías Heimisson
el 13 de Jun. de 2014
Comentada: dpb
el 13 de Jun. de 2014
I've been writing a script that runs a function with numerous subfunctions and I've been careful to not use global variables. At one point in the main function a few matrices saved as .mat are loaded if they do not exists in the workspace. The strange thing is that a variable of mine: maxnumsource = 2; That is one of the input parameters in that defines in the script that runs the main function changes value and is somehow redefined as maxnumsource = 1; after doing the load command. I wrote out the values of the variable right before and after the load and somehow it's redefined! Now the even stranger thing is that when I changed the name to maxnumsources with the added 's' this didn't happen anymore. So I 'fixed' the problem but I would like to know why this happens so I can avoid this in the future. And before anyone asks: No the loaded variables were not named maxnumsource.
Thanks
4 comentarios
Respuesta aceptada
Image Analyst
el 13 de Jun. de 2014
Always accept the results of load() into a structure so that you don't poof variables into existence and cause problems like you did.
storedStructure = load(fullFileName);
var1 = storedStructure.var1;
var2 = storedStructure.var2;
For example if there was a var3 in there, it's not going to blast over any var3 that I already have because I didn't explicitly allow it.
Más respuestas (0)
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!