Does anyone know how to calculate the slope of elliptical line by using the matlab?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
huazai2020
le 8 Juil 2020
Commenté : huazai2020
le 12 Juil 2020
I have some data of the elliptical line, does anyone know how to calculate the slope of elliptical line by using the matlab?
4 commentaires
James Tursa
le 9 Juil 2020
If you mean the slope of the tangent line at a point on the ellipse, take the differential of both sides:
2*x*dx/4 + 2*y*dy/16 = 0
Then solve for dy/dx, the slope of the tangent line at the point (x,y):
dy/dx = -4*x/y
John D'Errico
le 9 Juil 2020
Or, given that equation, differentiate, recognizing that d/dx applied to x^2 is 2*x. d/dx applied to y^2 is 2*y*dy/dx. Now solve for dy/dx.
Réponse acceptée
Image Analyst
le 8 Juil 2020
Exactly what is an "elliptical line"? That's a new one on me. I know lines, and I know ellipses, but not an elliptical line. What is it?
Anyway, if you have "some data" on a line, you can get the slope of a line fitted through your "some data" from the polyfit() function.
coefficients = polyfit(x, y, 1);
The slope of the line fitted through the x and y points is
slope = coefficients(1);
5 commentaires
Image Analyst
le 9 Juil 2020
Modifié(e) : Image Analyst
le 9 Juil 2020
No, because I didn't know what you meant. So you have an ellipse and you want the slope of a line that's tangent to the ellipse at each points. What I'd probably do is Use John and James code. Untested code
slopeInfo = zeros(length(x), 3); % Col1 = x, col2 = y, col3 = slope
for k = 1 : length(x) % for every (x,y) point on the ellipse (almost)...
slopeInfo(k, 1) = x(k); % Assign x to column 1.
slopeInfo(k, 2) = y(k); % Assign y to column 2.
slopeInfo(k, 3) = -4 * x(k) / y(k); % Assign slope to column 3.
end
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Debugging and Analysis dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!