我怎么拟合三未知参数模型?

12个视图(30天)
我想适应Vogel-Fulcher-Tammann方程的一组数据。方程有三个未知参数,我想找到答案。eqaution我试图配合如下:
n = Aexp (b / t t))
t和n是已知的。但是我怎么找到这个模型去拟合,b和T ?
欢呼,
约旦

接受的答案

明星黾
明星黾 2021年1月15日
有几个函数可用来估计参数。它使用 fminsearch 因为每个人都有:
VFTfcn = @ (b, b t) (1)。* exp (b(2) /(地震遥测(3)));%目标函数
t = 0:9;%创建数据向量
n =兰德(大小(t));%创建数据向量
B0 =兰德(1、3);%初始参数估计
B = fminsearch (@ (B)规范(n - VFTfcn (B、t)), B0);%估计参数
情节的(t, n,“p”)
持有
情节(t, VFTfcn (B、t),“- r”)
持有
网格
文本(3 0.9 *马克斯(ylim) sprintf (' n = %。1f e^{%.1f/(t-%.1f)}'B),“HorizontalAlignment”,“中心”,“VerticalAlignment”,“底”)
VFTfcn = @ (b, b t) (1)。* exp (b(2) /(地震遥测(3)));%目标函数
t = 0:9;%创建数据向量
n =兰德(大小(t));%创建数据向量
B0 =兰德(1、3);%初始参数估计
B = fminsearch (@ (B)规范(n - VFTfcn (B、t)), B0);%估计参数
情节的(t, n,“p”)
持有
情节(t, VFTfcn (B、t),“- r”)
持有
网格
文本(3 0.9 *马克斯(ylim) sprintf (' n = %。1f e^{%.1f/(t-%.1f)}'B),“HorizontalAlignment”,“中心”,“VerticalAlignment”,“底”)
2的评论
明星黾
明星黾 2021年1月15日
像往常一样,这是我的荣幸!
非线性参数估计和优化程序需要有一组参数初始化例程,本质上给予常规参数空间的地方开始搜索。初始参数估计这些值。
fminsearch 函数使用一个“derivative-free”算法和不使用梯度下降法(如Levenberrg-Marquart)这是不太可能遇到一个局部最小值。然而所有梯度下降算法的选择是很重要的,因为他们最终会在当地最小而不是所需的全球最低,如果选择了错误的初始参数估计,也许不会发现任何最低。全球各种搜索算法(在全球优化工具箱)搜索参数空间的更广泛的区域,因此更容易找到全局最小值。

登录置评。

答案(1)

马修•诺伊
马修•诺伊 2021年1月15日
你好,约旦
请参见下面的例子
x = 0:100;
N =长度(x);
τ= 10;%的时间尺度的放松
x_asym = 4;%相对增加的可观测x t - >无穷
y = x_asym * (1 - exp (- x /τ));%未堕落的寻找信号
sig = 0.25;%噪声强度
%使用AR(1)腐败而不是白噪声信号。
φ= 0.6;% AR coefficeint
ξ1 =团体* randn (1, N);
pert1 =过滤器(1[1φ]ξ1);
y_noisy = y + pert1;
%指数拟合法
%与模板代码是给好的结果方程:% y = . * (1-exp (b。*(得到)));
f = @ (a, b, c, x)。* (1-exp (b。*(得到)));
obj_fun = @ (params)规范(f (params(1),参数个数(2),参数(3),x) -y_noisy);
索尔= fminsearch (obj_fun [y_noisy(结束),0,0));
a_sol =索尔(1);
b_sol =索尔(2);
c_sol =索尔(3);
y_fit = f (a_sol, b_sol c_sol x);
情节(x, y,”——+ b”,x, y_noisy“r”,x, y_fit“对吧”);
传奇(“信号”,“信号+噪声”,实验符合的);

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!