У меня есть полином y = 0.230 + -0.046*x + -0.208*x^2
. Я хочу рассчитать перпендикуляр к этой линии, отрезая другую линию (X, Y).Как вычислить уравнение для перпендикулярной полиномиальной линии
ответ
%Example data
x=0:0.1:10;
y = 0.230 + -0.046*x + -0.208*x.^2 ;
plot(x,y);
%Find the tangent and normals at all points
dy = [0 diff(y)./diff(x)];
py = -1./dy;
%Choose a point
n = 60;
X = x(n);
Y = y(n);
hold on
plot(X, Y, 'or')
%Find the equation of the straight line normal to that point. You can do this in one step (yn = py(n)*(x - X) + Y) but I've done it in two to illustrate where this comes from
c = Y - py(n)*X;
yn = py(n)*x + c;
plot(x, yn, 'g')
Ваши производные потребности fix: 'dx = x (2) -x (1); py = -dx./dy; ' –
@TryHard Спасибо, я исправил его. Теперь 'dy' встречается с помощью' diff (y) ./ diff (x) ' – Dan
Привет, Dan и Try Hard спасибо вам за помощь. Еще один вопрос, чтобы закончить эту запись, вы, например, xy сделали с <1x101 double > horizontal [link] (http://pro.ellip6.com/SebastienForum/Tab1.jpg), а мой - вертикальный [ссылка] (http://pro.ellip6.com/SebastienForum/Tab2.jpg), как я могу конвертировать от моего до твоего или изменить свой код. Спасибо – user2724407
Альтернативой является вычисление аналитического результата, который не является ужасно трудным. (вы можете использовать символический набор инструментов для этого, но NN сидит на голове будет делать):
%Example data
x=0:0.1:10;
y = 0.230 + -0.046*x + -0.208*x.^2 ;
plot(x,y);
%Find the tangent and normals at all points (*edited*)
slope = (-0.046 + -2*0.208*x);
py = -1./slope; % <-- modified from Dan's expression
% to use analytical derivative
%Choose a point
n = 60;
X = x(n);
Y = y(n);
hold on
plot(X, Y, 'or')
% Copying @Dan: Find the equation of the straight line normal to that point. You can do this in one step (yn = py(n)*(x - X) + Y) but I've done it in two to illustrate where this comes from
c = Y - py(n)*X;
yn = py(n)*x + c;
plot(x, yn, 'g')
axis tight equal
Использование axis equal
также является хорошей идеей в этом примере, чтобы увидеть, что у вас действительно есть ортогональные кривые.
спасибо, если мое уравнение имеет более высокий порядок с x.^3 и x.^4, как я могу изменить свой код, который отлично подходит для меня с помощью второго порядка. – user2724407
@ user2724407 вам нужно вычислить * аналитическую производную (наклон) вашего полинома и заменить там, где я отредактировал, введя переменную 'slope'. –
Спасибо, что сделали. С найденным уравнением я хочу найти пересечение с другой кривой, построенной из массива double. – user2724407
- 1. Как вычислить координаты перпендикулярной линии?
- 2. Plane уравнение от линии
- 3. Draw перпендикулярной линии к линии в OpenCV
- 4. Найти точку на линии, перпендикулярной и через середину другой линии
- 5. Вычислить уравнение, заданное строкой
- 6. Получить уравнение линии - JFreeChart
- 7. как я знаю, положение точки, перпендикулярной к линии
- 8. участок полиномиальной регрессии линии с ggplot stat_smooth
- 9. Как вычислить математическое уравнение (BODMAS) в php?
- 10. Как вычислить уравнение в строке, python
- 11. вычислить строку как уравнение в XSL
- 12. Вычислить линии штриховки для многоугольников
- 13. получить уравнение линейной линии регрессии SVM
- 14. перенос перпендикулярной линии на два набора точек в пиксельных координатах?
- 15. Как вычислить размер ломаной линии
- 16. Как указать уравнение для линии регрессии в ggplot2?
- 17. Вычислить точку, перпендикулярную линии
- 18. Вычислить уравнение с matplotlib и numpy
- 19. Как найти координату X точки на линии, заданной другой точкой линии и двумя точками на перпендикулярной линии?
- 20. Вычисление обратной полиномиальной матрицы
- 21. Нужно вычислить уравнение ряда, сходящееся к π
- 22. Уравнение прямой линии между двумя точками
- 23. (Excel) Вычислить уравнение с разными значениями (x)
- 24. отображение уравнения кривой в уравнение звездной линии
- 25. Показать уравнение регрессионной линии в FusionCharts
- 26. Преобразование полиномиальной переменной в Numpy
- 27. полиномиальной Наивный байесовский для OpenCV
- 28. Вычислить координаты точки в линии
- 29. Вычислить расстояние до сглаженной линии
- 30. Как вычислить точку зеркала вдоль линии?
Возможный дубликат [Как рассчитать нормальный вектор отрезка?] (Http://stackoverflow.com/questions/1243614/how-do-i-calculate-the-normal-vector-of-a -line-segment) – Schorsch
или возможный дубликат [Как найти нормальный вектор в точке на кривой в Matlab] (http://stackoverflow.com/questions/17324936/how-to-find-the-normal- vector-at-a-point-on-a-curve-in-matlab) – Schorsch
@Schorsch это, по общему признанию, основная математическая проблема, но эти ссылки не предоставляют полного решения, только половину этого ... –