Find Coefficients of an equation
    7 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
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 Commenti
  Torsten
      
      
 il 18 Feb 2024
				Why three columns and not two ? Do you have two independent variables in your equation: 
column3 = f(column1,column2) 
?
Risposta accettata
  Star Strider
      
      
 il 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 Commenti
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Fit Postprocessing 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!
