MATLAB Answers

0

How to plot plot from differnet location in a single figure?

Asked by SHARAD KUMAR UPADHYAY on 25 Jun 2019
Latest activity Commented on by TADA
on 29 Jun 2019
%% I have differnt date from differnt folder in differnt location, as D:/pendrive/coulomb_drag/Temperature/matlab_program/drag_Copy_dd/taudrag.mat having data T(1*25) %%and output (3*25*) and in another folder in another location D:/pendrive/coulomb_drag/Temperature/matlab_program/drag_Copy_nn/taudrag.mat again have T(1*25) %%and output (2*25). I wants to plot one figure where i wants figure with respect to T(1*25) and output(5*25).
%% please tell me how could i do this.

  0 Comments

Sign in to comment.

Tags

1 Answer

Answer by TADA
on 25 Jun 2019

If i understand your question corectly, and you have several .mat files each one with a varriable T and a varriable output,
you can load them like that:
data(1) = load('D:/pendrive/coulomb_drag/Temperature/matlab_program/drag_Copy_dd/taudrag.mat');
data(2) = load('D:/pendrive/coulomb_drag/Temperature/matlab_program/drag_Copy_nn/taudrag.mat');
that syntax returns a struct with fields for each varriable saved in that .mat file.
that would only work if you have the exact same varriable names saved in both files, otherwise you can simply load them into two different varriables
for i = 1:numel(data)
dataStruct = data(i);
plot(dataStruct.T, dataStruct.output);
hold on;
end

  6 Comments

I would try to make a shorter legend name which is easier to read, but probably the easiest way would be add the file paths to a cell array and send that to legend function:
legendEntries = {};
data(1) = load('D:/pendrive/coulomb_drag/Temperature/matlab_program/drag_Copy_dd/taudrag.mat');
legendEntries{1} = 'D:/pendrive/coulomb_drag/Temperature/matlab_program/drag_Copy_dd/taudrag.mat';
data(2) = load('D:/pendrive/coulomb_drag/Temperature/matlab_program/drag_Copy_nn/taudrag.mat');
legendEntries{2} = ... % and so on
Then you can simply send it to legend:
legend(legendEntries);
If you load your files in a loop, you can just as easily do the same thing and add the path to the legendEntries cell array, or use the original list of file paths you are using
%%It is not a good answer, as these command give same results as i use command
legend('a','b')
True.
I don't know the specifics of your particular problem.
Without more details, that's the best I can offer at the moment

Sign in to comment.