我有一個多項式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')
您的衍生產品需求修復:'dx = x(2)-x(1); py = -dx./dy;' –
@TryHard謝謝,我糾正了它。現在'dy'是使用'diff(y)./ diff(x)'找到的。 – Dan
嗨丹和努力謝謝你的幫助。還有更多的問題要完成這篇文章,你的例子xy是用<1x101 double >水平[鏈接](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表示更高的順序,我該如何修改你的代碼,使用seconde命令可以正常工作。 – user2724407
@ user2724407您需要計算多項式的* analytical *導數(斜率),並通過引入變量'slope'來替換我編輯的位置。 –
謝謝你做到了。找到這個公式後,我想找到與另一個從double數組繪製的曲線的交點。 – user2724407
- 1. 計算垂直於另一條線的中點的線
- 2. 計算垂直和水平直方圖
- 3. Java圖像分析 - 計算垂直線
- 4. 垂直計算列
- 5. 計算一條垂直於線條的點
- 6. 如何計算垂直線段的終點?
- 7. 如何以編程方式創建垂直線?
- 8. 如何計算垂直於矢量的圓?
- 9. 找到垂直於給定線的點
- 10. 如何在Google圖表上繪製垂直線到直方圖?
- 11. 以編程方式計算的曲線?
- 12. 計算切線垂直於錨線的三次貝塞爾T值
- 13. 樣式化的垂直線
- 14. 直方圖計算程序
- 15. 如何進行多線程計算Android
- 16. 計算流數據上的直方圖 - 在線直方圖計算
- 17. 直方圖中的垂直線與pyplot
- 18. 垂直於給定線的繪製線
- 19. 如何計算多項式導數?
- 20. 垂直中心多條線
- 21. 如何創建垂直線
- 22. 響應式設計:如何垂直擴展列表項(twitter ticker)?
- 23. 如何繪製垂直於圓弧的直線(Core Graphics)?
- 24. 垂直曲線公式
- 25. 如何以垂直方式列出CheckBoxes?
- 26. 吳的抗鋸齒算法,垂直線
- 27. Vert.x垂直的方式
- 28. 多線程VS單線程計算
- 29. 計算SVG文本的垂直高度
- 30. 如何計算輪廓的直方圖?
可能重複[如何計算線段的法向量?](http://stackoverflow.com/questions/1243614/how-do-i-calculate-the-normal-vector-of-a - 線段) – Schorsch
或可能的副本[如何在Matlab中找到法向量在曲線上的點](http://stackoverflow.com/questions/17324936/how-to-find-the-normal- vector-at-a-point-on-a-curve-in-matlab) – Schorsch
@Schorsch這是一個基本的數學問題,但這些鏈接不提供完整的解決方案,只有它的一半... –