如何适应无限级数的功能?

4次观看(最近30天)
QT是一个因变量;t是一个自变量;QE B是未确定的参数。
符号n t;
x = [0 5 10 15 20 30 45 60 75 90 105 120];
y=[0 3.87 4.62 4.98 5.21 5.40 5.45 5.50 5.51 5.52 5.54 5.53];
情节(x,y,'bo');
抓住on
beta0 = [39,0.002];
fun =@(beta,xdata)beta(1)*(1-6/(pi^2)*symsum((1/n^2)*exp(-beta(-beta(2)*(n^2)*t),n,1,inf))
betafit = nlinfit(x,y,fun,beta0);
情节(X,Y,Fun,beta0)
但是,它运行不佳。如何在MATLAB中进行?帮我。非常感谢。

接受的答案

弗拉基米尔·索夫科夫(Vladimir Sovkov)
迭代解决方案而不是象征性的解决方案可能会更有生产力这种情况,例如这种情况
x = [0 5 10 15 20 30 45 60 75 90 105 120];
y=[0 3.87 4.62 4.98 5.21 5.40 5.45 5.50 5.51 5.52 5.54 5.53];
情节(x,y,'bo');
抓住on
pause(0.1);
beta0 = [39,0.002];
% syms n t
%fun =@(beta,t)beta(1)*(1-6/(pi^2)*symsum(((1./n.^ ​​2)。*exp(-beta(-beta(2)*(n。^)2)。*t),n,1,inf));
%betafit = nlinfit(x,y,fun,beta0);
beta1 = beta0;
delta = 1e-8;% desired objective accuracy
R0=Inf;初始目标功能的%
为了k = 1:10000
fun=@(beta,t) beta(1)*(1-6/(pi^2)*sum((1./(1:K)'.^2).*exp(-beta(2)*((1:K)'.^2).*t),1));
[betafit,r] = nlinfit(x,y,fun,beta1);
r = sum(R.^2);
如果ABS(R0-R)
休息;
结尾
beta1 = betafit;
r0 = r;
结尾
情节(X,Fun(Betafit,X),'。-r');
xlabel('X');
ylabel('y');
传奇('实验',,,,'模型');
标题(strcat(strcat)('\beta=[',,,,num2str(betafit),']; ----停在 - - ',,,,'K=',num2str(k)));
5条评论
Qili Hu
Qili Hu on 25 Jan 2021
亲爱的索沃夫,
非常感谢。我解决了这个问题。再次感谢您的帮助。

登录发表评论。

更多答案(0)

社区寻宝

在Matlab Central中找到宝藏,发现社区如何为您提供帮助!

Start Hunting!