Help!!! Least square fitting

8 Ansichten (letzte 30 Tage)
Moza Salem
Moza Salem am 20 Mär. 2021
Bearbeitet: Moza Salem am 20 Mär. 2021
I have a set of values P and D :
P = [175.2582 150.9053 103.9622 69.9965 48.6696]
D = [0 31.3300 61.3200 91.3800 121.4000]
and i want to use the following equation to find a and b
D = a * (P- b)^2
but I have to satisfy the following conditions
if P <= b then D=a * (P- b)^2
else D=0
How can i do this and fit the data?

Akzeptierte Antwort

Matt J
Matt J am 20 Mär. 2021
Bearbeitet: Matt J am 20 Mär. 2021
Using fminspleas from the File Exchange,
P = flip([175.2582 150.9053 103.9622 69.9965 48.6696]).';
D = flip([0 31.3300 61.3200 91.3800 121.4000]).';
funlist={@(b,P) (P<=b).*(P-b).^2};
[b,a]=fminspleas(funlist,P(end), P,D),
b = 230.0623
a = 0.0037
fn=@(P) a*funlist{1}(b,P); %fitted function
plot(P,D,'x',P,fn(P));
  1 Kommentar
Moza Salem
Moza Salem am 20 Mär. 2021
Bearbeitet: Moza Salem am 20 Mär. 2021
Thank you very much !!! without your help I wouldn't be able to get my beam imprint

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Interpolation 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