Filter löschen
Filter löschen

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

2 Ansichten (letzte 30 Tage)
Mallouli Marwa
Mallouli Marwa am 10 Feb. 2017
Bearbeitet: Torsten am 10 Feb. 2017
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)')

Akzeptierte Antwort

Torsten
Torsten am 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 Kommentare
Mallouli Marwa
Mallouli Marwa am 10 Feb. 2017
I obtain a wrong value
x =
-0.00013875
Torsten
Torsten am 10 Feb. 2017
Bearbeitet: Torsten am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Rik
Rik am 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);

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by