Plotting Rotated Error Ellipses

I have successfully been able to plot my error ellipse around a point but I haven't been able rotate the semi-major axis from the X-axis by a specified angle. The function I am using orients the ellipse to the x-axis but I need to represent the ellipse rotated by a specified angle. The function I am using is:
function plotEllipse(a,b,C)
% range to plot over
%------------------------------------
N = 50;
theta = 0:1/N:2*pi+1/N;
% Parametric equation of the ellipse
%
%----------------------------------------
state(1,:) = a*cos(theta);
state(2,:) = b*sin(theta);
% Coordinate transform (since your ellipse is axis aligned)
%----------------------------------------
X = state;
X(1,:) = X(1,:) + C(1);
X(2,:) = X(2,:) + C(2);
% Plot %----------------------------------------
plot(X(1,:),X(2,:));
hold on;
plot(C(1),C(2),'r*');
axis equal;
grid;
end
Any suggestions are welcomed.

 Réponse acceptée

Matt Fig
Matt Fig le 20 Avr 2011

1 vote

Please go back and format your code using the {}Code button.
EDIT Thanks for making your code readable!
Change this line:
plot(X(1,:),X(2,:));
to this:
L = plot(X(1,:),X(2,:));
and return L from your function.
Then from the command line, do:
L = plotEllipse(2,3,[5 9]);
rotate(L,[0 0 1],30) % Rotate the ellipse 30 degrees.

Plus de réponses (0)

Catégories

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by