# Save data to Excel without overlapping

4 views (last 30 days)
Teo Chou Wen on 27 Jun 2020
Commented: Teo Chou Wen on 4 Jul 2020
A, a 3x2 variables that store 3 points detected.
B, variable to store angle of that 3 points.
A and B is in a for loop, since I detect many frames (around 400 frames).
How can I store A and B for all frames in two different excel files.
Excel filename for A: Coordinates.xlsx, B: Angle.xlsx

Sindar on 27 Jun 2020
Something like this should work:
writematrix(A,'Coordinates.xlsx','WriteMode','append')
writematrix(B,'Angle.xlsx','WriteMode','append')

Sindar on 1 Jul 2020
whoops, typo in the first solution, corrected to be object==2
Sindar on 1 Jul 2020
Looking back at it, I realize that you probably want three thetas to a row. In that case, try this:
thetas=nan(1,length(stats));
for object=1:length(stats)
...
theta2=atan((AllCentroids(end,end)-AllCentroids(2,end))/(AllCentroids(end,1)-AllCentroids(2,1)));
theta=(abs((theta1-theta2)*(180/pi)));
%set the position of Angle display
p=10.0;
q=15.0;
t=text(theta,theta,strcat('Angle: ',[sprintf('%1.2f',theta),'{\circ}']),'FontName', 'Arial',...
'FontWeight', 'bold', 'FontSize', 12, 'Color', 'white');
set(t,'Position',[p q 0]);
thetas(object) = theta;
end
writematrix(thetas,'Angle.xlsx','WriteMode','append')
Teo Chou Wen on 4 Jul 2020
Thanks. The code work well as I need.