MATLAB -- how to create a parabolic arc?

조회 수: 42 (최근 30일)
Dominic
Dominic 2013년 4월 15일
답변: Melek Cavlak 2022년 12월 4일
Example, I have three points x1, x2, and x3.
x1 is the start point of the arc; x3 is the end point of the arc; x2 is the critical point of the arc (where the tangent slope is zero).
If x2<x1, then the arc is a U-shaped (smiley); If x2>x1, then the arc is a upside-down-U-shaped (upside smiley).
Any ideas?
  댓글 수: 1
Youssef  Khmou
Youssef Khmou 2013년 4월 15일
편집: Youssef Khmou 2013년 4월 15일
that condition is done automatically by the equation ax²+bx+c

댓글을 달려면 로그인하십시오.

채택된 답변

Youssef  Khmou
Youssef Khmou 2013년 4월 15일
편집: Youssef Khmou 2013년 4월 15일
hi,
The parabola's equation is defined y=ax²+bx+c, you need to set the coefficients a,b,and c so as the line passes through the three points x1,x2 and x3 :
x1=[0,0];
x2=[5,5];
x3=[10,0];
Y=[x1(2);x2(2);x3(2)]
A=[x1(1)^2 x1(1) 1;x2(1)^2 x2(1) 1;x3(1)^2 x3(1) 1]
X=inv(A)*Y
x=x1(1):0.1:x3(1);
Y=X(1)*x.^2+X(2)*x;
figure, plot(x,Y), grid on,
hold on
text(x1(1),x1(2), ' POINT X1')
text(x2(1),x2(2), ' POINT X2')
text(x3(1),x3(2), ' POINT X3')
hold off
  댓글 수: 5
sushant panhale
sushant panhale 2017년 9월 29일
can you tell me, how to find the values of x if you have y values
Tyler Clausen
Tyler Clausen 2018년 2월 15일
how would you do this with the points (-15,2), (1,4), and (3,5)? I keep getting wrong y coordinates when I plot.

댓글을 달려면 로그인하십시오.

추가 답변 (3개)

Jim Riggs
Jim Riggs 2018년 2월 15일
편집: Jim Riggs 2018년 2월 15일
This is a simple polynomial curve fit problem. If you have the curve fitting toolbox, the problem is solved by:
x = [0 5 10];
y = [0 5 0];
fit(x,y,'poly2');
This will give the coefficients for the second order polynomial. With only 3 point, the fitted curve will pass exactly through all three points. This function will work for any three points, as long as they are no colinear.
If you do not have the curve fitting toolbox, its not too hard to build a function which will perform polynomial curve fitting. If you are interested, I will help you work out the equations.

Vetrivel
Vetrivel 2022년 8월 30일
x = [0 5 10];
y = [0 5 0];
fit(x,y,'poly2');

Melek Cavlak
Melek Cavlak 2022년 12월 4일
x = [0 5 10];
y = [0 5 0];
fit(x,y,'poly2');

카테고리

Help CenterFile Exchange에서 Interpolation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by