Finding intersection of polyfit and line
9 views (last 30 days)
Show older comments
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 Comments
Answers (2)
dpb
on 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 Comments
Walter Roberson
on 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 Comment
Jan Ulbrich
on 18 Sep 2020
I think there is a typo and it should be "LOneReal = LOne(imag(LOne)==0);"
See Also
Categories
Find more on Regression in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!