Info

此问题已关闭。 请重新打开它进行编辑或回答。

How can I non linear fit this equation?

1 次查看(过去 30 天)
Pengju
Pengju 2016-4-19
关闭: MATLAB Answer Bot 2021-8-20
Dear all,
I know the equation which is used for fitting already,something like:
y=E-109736.623./[x1.*(x-p1).^2+x2.*(x-p2).^2+x3.*(x-p3).^2]
I have x value, y value, x1, x2, x3 value, respectively, they are corresponding to fit.txt file column1, column2, column3, column4, column5, respectively.
How can I get E, p1, p2, p3 by using this equation?
Thanks

回答(1 个)

Walter Roberson
Walter Roberson 2016-4-19
The easiest way is the Curvefitting Toolbox
  14 个评论
Pengju
Pengju 2016-4-22
Dear Walter, I am sorry, I still can not figure out the minima.
Best
Walter Roberson
Walter Roberson 2016-4-22
minidx = min(residues(:));
min_is_near = [gE(minidx), gp1(minidx), gp2(minidx), gp3(minidx)];
The larger the matrix you use originally, the more likely it is that you will find a good minima.
The code that I posted does make copies of these arrays, so you end up with about 6 arrays that are 84 by (19 x 19 x 19 x 19). The copies themselves add up, so when you do not have a lot of memory, you might want to break the grid up into sections to search and find the best of the results. For example, if you used 20 x 20 x 20 x 20 then you could search first on (1:5, :, :, :, :) then on (6:10, :, :, :, :) and so on.

此问题已关闭。

标签

Community Treasure Hunt

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

Start Hunting!

Translated by