Finding intersection of polyfit and line
14 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am trying to find the intersection between the polyfit of a line and the line y=1. I have the following code:
polyfit(l,FS,3)
int=roots(polyfit(l)-1)
Essentially, I want the value of length when the Factor of safety is 1:
0 commentaires
Réponses (2)
dpb
le 16 Sep 2015
Doesn't do any good to fit the data but not save the coefficients of the resulting fit...
b=polyfit(l,FS,3); % Get coefficients of polynomial
[~,ix]=min(abs(FS-1)); % Nearest observed point to 1 is
L0=l(ix); % good guess for starting point
LOne=fsolve(@(b,x) polyval(b,x)-1,L0); % Solve for x where == 1
0 commentaires
Walter Roberson
le 16 Sep 2015
b = polyfit(l,FS,3); % Get coefficients of polynomial
LOne = roots(b - [0 0 0 1]);
LOneReal = LOne(imag(LOne==0));
LOneInRange = LOneReal >= min(l) && LOneReal <= max(l);
This would be empty if there are no real roots in the range.
1 commentaire
Jan Ulbrich
le 18 Sep 2020
I think there is a typo and it should be "LOneReal = LOne(imag(LOne)==0);"
Voir également
Catégories
En savoir plus sur Regression dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!