Clear Filters
Clear Filters

Extracting datas based on date from two datasets

1 view (last 30 days)
Sonisa
Sonisa on 29 Sep 2016
Commented: mizuki on 2 Oct 2016
I have two set sets of data where one is 93*2 and other is 609*2. I want to match up the date and extract two different sets of data based on that date. I try this way,
%Retrieve unique sampling period
period = unique(date_LFMC,'rows');
%Build subs for accumarray
[~, subs] = ismember(date_LFMC, period, 'rows');
%Perform accumarray to average FMC
LFMC_avg = period;
LFMC_avg(:,2) = accumarray(subs, Livemoisture_JFSP,[],@nanmean); % 93*2
%Retrieve unique date
period = unique(DateSM,'rows');
%Build subs for accumarray
[~, subs] = ismember(DateSM, period, 'rows');%609*2
%Perform accumarray to calculate average FAW
FAW_avg = period;
FAW_avg(:,2) = accumarray(subs, FAW40,[],@nanmean);
%Assign FAW to each LFMC sample
Data_avg(:,4) = LFMC_avg(:,2);
for i = 1:size(LFMC_avg,1);
for i2 = 1:size(FAW_avg,1)
if Data_avg(i,2) == FAW_avg(i2,1);
Data_avg(i,4) = FAW_avg(i2,2);
end
end
end
I get one sets of data but with another, I am just getting zero. let me know where I did wrong?
Sonisa
  4 Comments
dpb
dpb on 29 Sep 2016
Have you used the debugger and stepped through your script to see where it goes wrong? Do so and report the symptoms; don't rely on somebody else to do all your debugging for you...
mizuki
mizuki on 2 Oct 2016
How about using datetime format, synchronize/innerjoin/outerjoin function?

Sign in to comment.

Answers (0)

Categories

Find more on Language Fundamentals in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!