function assignin overwrites my data
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Teresa Carneiro
el 9 de Jul. de 2021
Comentada: Matt J
el 9 de Jul. de 2021
Hello! I'm trying to save a matrix in the matlab workspace with the function assignin, because that's the only one I know that does this, but the problem is that I don't know if I can manipulate it in order to not overwrite the data I acquire in which loop.
So I'm using this line of code:
assignin('base', varName, captureData);
But the matrix it generates only has the last second of data it captures (each loop is one second) and I need it to save all of the data it gets. I can save it to a txt file, which I'm already doing. But I want to manipulate the generated matrix so I really need the data to be inside of matlab workspace (I'm acquiring data in real time).
Would really appreciate some help, please keep in mind I'm very new to matlab.
2 comentarios
Rik
el 9 de Jul. de 2021
Why are you using assignin instead of using functions (or even classes, if you want more persistence)?
Respuesta aceptada
Matt J
el 9 de Jul. de 2021
Editada: Matt J
el 9 de Jul. de 2021
Do not return a result to the base workspace in each pass through the loop. At the completion of your loop, you should have accumulated a vector containing all the results. You should pass that back to the base workspace.
6 comentarios
Matt J
el 9 de Jul. de 2021
If you find a way for it to restart the variable when I run the main function again that would be great.
persistent cumulativeData
cumulativeData=[cumulativeData;captureData];
assignin('base', varName, cumulativeData);
Okay I just realized that the variable is only saved after I run the code, I needed to be able to change values of the matrix while the code was running.
Not sure i understand what you wrote here, but with the above, you can insert any changes you wish to cumulativeData before the call to assignin.
Más respuestas (0)
Ver también
Categorías
Más información sobre Startup and Shutdown 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!