How to formulate and use non linier curve-fitting

1 visualizzazione (ultimi 30 giorni)
I have a dependent variabke Xd and three independent variabel X1, X2 and depth.
I want to formulate new equation using exponential function. I assume the equation is like this Xd = exp(b1 + b2* -dpth *(X1/X2)
Is there any one can help

Risposta accettata

Star Strider
Star Strider il 2 Dic 2019
Try this:
D = dlmread('Example.txt', '\t', 1, 0);
objfcn = @(b,x) exp(b(1) - b(2).*x(:,1).*x(:,2)./x(:,3)); % Objective Function
[B,rnrm] = fminsearch(@(b) norm(D(:,4) - objfcn(b,D(:,1:3))), rand(2,1)) % Estimate PArameters
Xdfit = objfcn(B,D(:,1:3)); % Results
Compare = [D(:,4), Xdfit, D(:,4)-Xdfit]; % Results
figure
plot(D(:,4), Xdfit, '-*')
grid
The independent variable matrix is created as:
[Depth X1 X2] = D(:,1:3)
with ‘Xd’ being ‘D(::,4)’.
The plot is of the actual ‘Xd’ and ‘Xdfit’, the modeled ‘Xd’.
  8 Commenti
Skydriver
Skydriver il 2 Dic 2019
Thank you, I will try to a test with several models as your suggestion

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Linear and Nonlinear Regression 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