How can i determine a point of intersection in a curve ?

1 view (last 30 days)
Hi
How can i determine the point of intersection in this curve ?
x=[0;5.00E-05;1.00E-04;1.50E-04;2.00E-04;2.50E-04;3.00E-04;3.50E-04;4.00E-04;4.50E-04;5.00E-04;5.50E-04;6.00E-04;6.50E-04;7.00E-04;7.50E-04;8e-4];
w1_6=[2.06E+02;2.03E+02;1.99E+02;1.96E+02;1.93E+02;1.90E+02;1.87E+02;1.84E+02;1.81E+02;1.79E+02;1.77E+02;1.74E+02;1.72E+02;1.70E+02;1.68E+02;1.66E+02;1.64E+02];
wstable=[185.11; 185.11; 185.11; 185.11; 185.11; 185.11; 185.11;185.11;185.11;185.11;185.11;185.11;185.11;185.11;185.11;185.11;185.11];
plot(x*1e3,wstable,'r',x*1e3,w1_6,'b'),legend('h1','h=1.6*h1')
xlabel('tip mass thickness (mm)')
ylabel(' First mode frequency(Hz)')

Accepted Answer

Torsten
Torsten on 10 Feb 2017
pp=spline(x,w1_6);
fun=@(x)ppval(pp,x)-185.11;
x0=0;
x=fzero(fun,x0)
Best wishes
Torsten.
  2 Comments
Torsten
Torsten on 10 Feb 2017
Edited: Torsten on 10 Feb 2017
pp=spline(x,w1_6);
fun=@(x)ppval(pp,x)-185.11;
x0=[x(1) x(end)];
y=fzero(fun,x0)
Best wishes
Torsten.

Sign in to comment.

More Answers (1)

Rik
Rik on 10 Feb 2017
This FEX submission will do what you need with the following line of code.
[x0,y0] = intersections(x*1e3,wstable,x*1e3,w1_6);

Community Treasure Hunt

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

Start Hunting!