Finding intersection of polyfit and line
14 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (2)
dpb
am 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 Kommentare
Walter Roberson
am 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 Kommentar
Jan Ulbrich
am 18 Sep. 2020
I think there is a typo and it should be "LOneReal = LOne(imag(LOne)==0);"
Siehe auch
Kategorien
Mehr zu Regression finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!