For loop versus Matrix notation
Show older comments
Can this be simplified to use a matrix expression instead of a for loop?:
X=[1 5.4; 1 6.3; 2 4.8; 3 7.1];
dates=X(:,1);
amounts=X(:,2);
uniquedates=unique(dates);
totals=zeros(size(uniquedates));
for d = 1:size(uniquedates,1)
totals(d,1)=sum(amounts(dates==uniquedates(d,1)));
end
Y = [uniquedates totals];
2 Comments
Matt Kindig
on 29 Jan 2013
Probably, but likely not in an easy-to-understand way. The fact that totals differs in size from dates complicates things.
Is there a reason you don't want to just use the for-loop?
mutt
on 30 Jan 2013
Accepted Answer
More Answers (0)
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!