fitting bi-linear equation using fmincon

5 visualizzazioni (ultimi 30 giorni)
Benjamin
Benjamin il 17 Dic 2019
Commentato: Benjamin il 6 Nov 2020
Hello dear all
I am trying to fit a bi-linear equation on a dataset using fmincon command in MATLAB. My objective is to minimize the error in the whole bi-linear curve. My curve looks like the picture bellow:
curve.jpg
and I want to fit a bi-linear model on it having two slopes and the x0 as the the unknown parameters. The whole bi-linear fitted line should give the minimum error ( sum(y-y^)^2 = min ).
bilinear.PNG
in which d1 (or X0 in picture bellow) can have an upper and lower bond of for example [0.01 0.02].
So the final bi-linear fit would be like this:
f.JPG
I found the fmincon command in MATLAB the best way to achieve this goal, but unfortunately I don't know how practically program this.
What I provided in this question was a very simplified version of my actual task wich is tri-linear curve, so if I be able to fit a bi-linear, I will be able to implement it on more complex problems. I also attached my datapoints file.
I do appreciate you kind helps on this. Thank you very much.
  4 Commenti
Matt J
Matt J il 15 Ott 2020
Mattia Pucci's comment moved here:
Hello Benjamin
For my thesis I should do a code as similar as your.
I am attaching the "pushover" curve that I plotted in Matlab. I would like to built a bi-linear curve with the same area of first curve
I know the final poin ant the area.
How could I do?
I appreciate your help.
Benjamin
Benjamin il 6 Nov 2020
Hello, sorry for my late reponse.
Here I modified the files again to be easier for others to read, understand, and use.
Note that the main file is "FitCurve.m" file. This file will read data, and make some modifications to the raw data (to make the rows of X and Y equal, also to make the number of data points for in order to balance the weigth for each bilinear section) to the X and Y datapoints, then assign necessary boundary conditions to make it ready for the fmincon function. then the fmincon will be taken care of in the efun.m file.

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Get Started with Curve Fitting Toolbox in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by