Find Coefficients of an equation
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Learning
am 18 Feb. 2024
Beantwortet: Star Strider
am 18 Feb. 2024
Hi, I have a table containing 3 columns of data. I also have an equation with 4 unknown coefficients. How do I fit/solve the equation using the table data to obtain the unknown coefficients using Matlab?
Thanks!
2 Kommentare
Torsten
am 18 Feb. 2024
Why three columns and not two ? Do you have two independent variables in your equation:
column3 = f(column1,column2)
?
Akzeptierte Antwort
Star Strider
am 18 Feb. 2024
Using two independent variables is relatively straightforward. You need to concatenate them, then refer to them individually inside the objective function.
Data = randn(10,3);
objfcn = @(b, xy) b(1).*exp(-((xy(:,1)-b(2)).^2+(xy(:,2)-b(3)).^2)*b(4));
xy = Data(:,[1 2]);
[B,resnrm] = fminsearch(@(b)norm(Data(:,3) - objfcn(b,xy)), rand(4,1))
N = 25;
x = linspace(min(Data(:,1)), max(Data(:,1)), N);
y = linspace(min(Data(:,2)), max(Data(:,2)), N);
[X,Y] = ndgrid(x,y);
fitfcn = @(b,X,Y) b(1).*exp(-((X-b(2)).^2+(Y-b(3)).^2)*b(4));
Z = fitfcn(B,X,Y);
figure
scatter3(Data(:,1), Data(:,2), Data(:,3), 'filled')
hold on
surf(X, Y, Z, 'FaceAlpha',0.5)
hold off
colormap(turbo)
This is a random example.
.
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Fit Postprocessing 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!