Varying variable name within one workspace
1 次查看(过去 30 天)
显示 更早的评论
folder = '1.5';
load comp.mat
figure
L1 = L;
J1 = J;
clearvars -except L1 J1
plot(L1,J1,'bo')
hold
folder = '1.8';
load comp.mat
L2=L;
J2=J;
clearvars -except L1 J1 L2 J2
plot(L2,J2,'b*')
From the code above I am trying to load a group of variable with all the same name and plot them all on one graph. I have been trying to rename the variable after they load but as soon as I load a new file it replaces the previous variable. Is there anyway I could rename the variables as they are imported and stop them from being replaced by the following variable?
Also if I could maybe save the variable with the Pt in the name EG: L_'PT' which varied dependent on input. This could solve the previous problem
load workspace.mat
prompt = 'What is the target frequency? '; %asks for values to input
Pt = input(prompt);
L = Pt/frequency;
BF = 1.88;
J = frequency/BF;
clearvars -except L J
save('comp');
0 个评论
采纳的回答
Walter Roberson
2017-3-13
first = load('comp.mat', 'L', 'J');
plot(first.L, first.J, 'bo');
second = load('comp.mat', 'L', 'J');
plot(second.L, second.J, 'b*');
More generally...
dinfo = dir();
dinfo(~[dinfo.isdir]) = []; %zap non-directories
dinfo( ismember({dinfo.name}, {'.', '..'}) ) = []; %zap . and ..
nfold = length(dinfo);
vars = cell(nfold,1);
folders = {dinfo.name};
for K = 1 : nfold
thisdir = folders{K};
vars{K} = load( fullfile(thisdir, 'comp.mat'), 'L', 'J' );
plothandles(K) = plot(vars{K}.L, vars{K}.J, 'bo');
hold
end
legend(plothandles, folders)
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graphics Object Identification 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!