Hi,

This problem is equivalent to finding n-zeros over a given interval.
Matlab function fnzeros uses the following reference, which uses spline 
interpolation:

Mørken K. and Reimers, M. [2007] An unconditionally convergent method for 
computing zeros of splines and polynomials, Math. Comp., 76, 845--865

Regards,
Rafael

-----Original Message-----
From: users [mailto:[email protected]] On Behalf Of Dang Ngoc 
Chan, Christophe
Sent: Friday, January 12, 2018 11:03 AM
To: Users mailing list for Scilab <[email protected]>
Subject: Re: [Scilab-users] {EXT} Find the points of intersection of two curves

Hello Hermes,

If I understand well,, the core of your question :

> De : Hermes
> Envoyé : vendredi 12 janvier 2018 10:47
>
> How could I improve the accuracy of intersection points?

Lies here:

> s=LL(3,:)-LL(1,:);
> ym=s(1:$-1).*s(2:$);
> z=find(ym <= h);

So you have 2 curves which y-values are LL(1,:) and LL(3,:) and you search 
where the sign of the difference changes.
Correct?

So you suppose that both curves are continuous.

The refinement of the solution is more a mathematical topic than a Scilab one 
and I'm afraid I don't have the skill and time to analyze your functions.

There are some general methods you could use:
use a polynomial interpolation instead of a linear interpolation, i.e. choose 
an interval around the z values found above, perform a polynomial regression
- you have an example of such code here : 
https://fr.wikibooks.org/wiki/D%C3%A9couvrir_Scilab/Calcul_num%C3%A9rique#R%C3%A9gression_polynomiale
 - and search the local root of the polynomial.

You can also refine the step of calculation around the z values.

--
Christophe Dang Ngoc Chan
Mechanical calculation engineer
This e-mail may contain confidential and/or privileged information. If you are 
not the intended recipient (or have received this e-mail in error), please 
notify the sender immediately and destroy this e-mail. Any unauthorized 
copying, disclosure or distribution of the material in this e-mail is strictly 
forbidden.
_______________________________________________
users mailing list
[email protected]
http://lists.scilab.org/mailman/listinfo/users
_______________________________________________
users mailing list
[email protected]
http://lists.scilab.org/mailman/listinfo/users

Reply via email to