How to formulate and use non linier curve-fitting
2 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Star Strider
2019-12-2
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Linear and Nonlinear Regression 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!