MATLAB: How can I rotate the ellipses based on the orientation angle of (x_i,y_i)

dataplotting

I would like to rotate the ellipses to show the orientation, theta, of the centered data points.

Best Answer

a=5; % horizontal radius
b=10; % vertical radius
x0=0; % x0,y0 ellipse centre coordinates
y0=0;
t=-pi:0.01:pi;
x=x0+a*cos(t);
y=y0+b*sin(t);
plot(x,y)
hold on
%%Rotate the ellipse by 90 degrees
th = pi/2 ;
R = [cos(th) -sin(th) ; sin(th) cos(th)] ;
% Rotate all the points
P = zeros(2,length(x)) ;
for i =1:length(x)
P(:,i) = R*[x(i) ;y(i)] ;
end
xr = P(1,:) ; yr = P(2,:) ;
plot(xr,yr,'r')