How to formulate and use non linier curve-fitting

2 vues (au cours des 30 derniers jours)
Skydriver
Skydriver le 2 Déc 2019
Commenté : Star Strider le 2 Déc 2019
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

Réponse acceptée

Star Strider
Star Strider le 2 Déc 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 commentaires
Skydriver
Skydriver le 2 Déc 2019
Thank you, I will try to a test with several models as your suggestion
Star Strider
Star Strider le 2 Déc 2019
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Linear and Nonlinear Regression dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by