save two variables using num2str
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I want to save two variables using num2str, but I get error. what is wrong with this?
x1=1;
y1=2;
ty_c=1;
pathdatasave = (['D:\testa\ty' num2str(ty_c) '\']);
save([pathdatasave 'test_x' num2str(x1) '_y' num2str(y1) '.mat'],['varx' num2str(x1) ,'vary' num2str(y1)]);
Respuestas (1)
Stephen23
el 11 de Jul. de 2022
Editada: Stephen23
el 12 de Jul. de 2022
"what is wrong with this?"
- Forcing meta-data (pseudo-indices) into variable names, thus making your code slow and complex.
- Forcing code into one line, when clarity is actually more important (as this question demonstrates).
- Two variable names must be supplied as two inputs to SAVE (not concatenated together as you are doing):
x1=1;
y1=2;
varx1 = 33;
vary2 = 444;
P = '.';
F = fullfile(P,sprintf('test_x%d_y%d.mat',x1,y1));
N1 = sprintf('varx%d',x1);
N2 = sprintf('vary%d',y1);
save(F,N1,N2);
% ^^ ^^ two variable names == two inputs, not one like you did!
Checking:
whos -file test_x1_y2.mat
So, everything works exactly as documented and expected.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!