Plotting different sections of multiple arrays using a loop
5 ビュー (過去 30 日間)
古いコメントを表示
Hi,
I have multiple data files that I have extracted using a for loop, I can easily plot these files in the loop aswel.
The problem however is that for each file I only want to plot a snapshot of the data. does anyone know if this is possible to introduce in a loop.
My code to plot all the graphs is:
Time=linspace(1,3000,3000/(50*10^(-6)));
Files = dir(fullfile('C:blah blah/*.mat'));
filename = cell(length(Files),1);
data = cell(length(Files),1);
for k = 1:length(Files)
filename{k} = Files(k).name;
data{k} = load(filename{k});
figure;
plot(Time(1:length(data{k,1})),data{k,1});
title(filename(k))
end
but to reiterate i want to say plot first data points 1000-2000 for 1, 1-1001 for 2 etc the only similarity is that the data ranges I want to plot are the same. Is this possible?
0 件のコメント
回答 (1 件)
Iain
2014 年 10 月 9 日
編集済み: Iain
2014 年 10 月 9 日
Assuming your plot command is correct, all you need to do is modify it:
plot(Time(1:length(data{k,1})),data{k,1});
plot(Time(1:1000),data{k,1}(1:1000));
2 件のコメント
Iain
2014 年 10 月 9 日
You just need a function that tells you the first index to use, and a function that tells you the last index to use.
something like
first = [1 501 201 640 981 321];
first_index = first(k);
plot(Time(first_index:(first_index+999)),data{k,1}(first_index:(first_index+999)));
I am assuming that you want the same part of "Time" as you do data...
参考
カテゴリ
Help Center および File Exchange で Matrices and Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!