How to save specific variable names
조회 수: 8 (최근 30일)
이전 댓글 표시
Hello!
I have a large workspace and i want to save workspace variables that includes specific characters and letters. For example i want to save multiple variables that contains "T22P50" in their name. For instance, I got the variable names "Pressure_T22P50", "Position_T22P50" etc and i want to save these into a .mat file. Since these variables changes for different tests (T22P50, T30P50 etc), is there a way that the save function can search in the workspace for variables containing the specific characters, instead of manually changing them each time?
I hope the question is clear, thanks in advance!
댓글 수: 1
Stephen23
2017년 4월 27일
편집: Stephen23
2017년 4월 27일
Note that your code would be much simpler, faster, and more reliable if you did not put meta-data into variable names:
Better code (simpler, faster, more reliable, easier to read,...) would simply use indexing or fieldnames instead of putting meta-data into variable names. Then your question would simply require saving one variable, and would not rely on ugly hack code.
채택된 답변
KL
2017년 4월 27일
편집: KL
2017년 4월 27일
workspaceVars = who;
findVars = strfind(workspaceVars, 'P250');
indexVars = find(not(cellfun('isempty', findVars)));
Now you can use workspaceVars and indexVars along with save. For example,
save('name.mat',workspaceVars{indexVars(1)})
댓글 수: 5
KL
2017년 4월 27일
Intuitive idea is to define that as a variable and just change it just once at the top. If you have all the possible names in an array, even better.
추가 답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Performance and Memory에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!