# Find Coefficients of an equation

4 ビュー (過去 30 日間)
Learning 2024 年 2 月 18 日

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 件のコメントなしを表示なしを非表示
Torsten 2024 年 2 月 18 日
Why three columns and not two ? Do you have two independent variables in your equation:
column3 = f(column1,column2)
?
Learning 2024 年 2 月 18 日
Thanks for responding. Yes I have 2 independent variables.

サインインしてコメントする。

### 回答 (1 件)

Star Strider 2024 年 2 月 18 日
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))
Exiting: Maximum number of function evaluations has been exceeded - increase MaxFunEvals option. Current function value: 2.628093
B = 4×1
-2.9726 1.7228 0.1193 9.6214
resnrm = 2.6281
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.
.

サインインしてコメントする。

### カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

R2023b

### Community Treasure Hunt

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

Start Hunting!

Translated by