我打算用fit函数估计4参数模型(P B A R ),消息后发生了错误。 我不知道那是什么意思。
错误识别(line 367 )
功能性valueandydatasizesarenotequal。
错误信息(行108 )。
[fitobj,goodness,output,convmsg]=ifit(xdatain,ydatain,fittypeobj,
基本功能是
函数C1=C1 (x、t、p、b、a、r ) )。
if T==0
c1=0;
else
g=@(t ) 0.5*erfc((p./)4*b*r*t ) ).^ 0.5.* (b* r * x-t ) ) .
-1/2* (1p * XP * t/(b * r ) ) exp ) p*x ).*erfc () p./(4*b*r*t ) ).^ 0.5.* (b * r * XT ) ) .
(p * t/(pi * b* r ) ).^0.5.*exp(-p* ) b*r*x-t ).^2./(4*b*r*t ) ) () ) ) )
u=@(t ) a* t/(b* r ); 是%。
v=@(t ) a*(t-t )/(1- b )/R; 是%。
e=@(t )2* (u (t.) u(t ) ) ).^0.5; 是%。
H1=@(T ) exp(-U ) t ) ).* (besseli (0,e ) t )/B besseli(1) 1,E(T ).* (u ) ) (t ) ) ) )。
GH=@(t ) g ) t ).) H1 ) t;
C1=g(t ).* exp (-a* t/(b* r ) ) ) a/r*integral ) GH,0,t ); %int () g*H1 ),0,t );
结束
基于上述函数c1另一个函数是
函数cm=cm (x,time,p,b,a,r,T1 ) )。
Fori=1:长度(时间);
iftime(I ) ) )。
广告(I )=C1 ) x,time(I ),p,b,a,r );
else
cm(I )=C1 ) x、time(I )、p、b、a、r )-C1 ) x、time )-T1、p、b、a、r );
结束
结束
该功能主要将数据分为两个部分进行不同的计算。
我给了任意四个合理的参数运行广告,并尝试获取一组time-c数据。 使用以下代码
x=2;
time=0.1:0.1:10;
T1=2;
c=厘米(x,time,0.8,0.8,0.8,0.8,T1 );
而且效果很好
然后,我们尝试使用fit函数拟合数据集以获取四个参数。 使用以下代码
ft=fittype('cm ) x、time、p、b、a、r、T1 )、' independent '、' time '、' problem '、' x ' ); % independent variable is time,fixed parameter x
[f,GoF ]=fit (时间',c ',ft,' Lower ',[ 0,0,0,1,2 ],' Upper ',[ 1,1,1,1,1,2 ],' problem
那是我遇到错误的时候
错误识别(line 367 )
功能性valueandydatasizesarenotequal。
我检查了从函数cm获取的输入时间-c数据,因为大小相同,所以输入数据没有问题。 这是函数的问题,我认为函数适合不起作用。
谁都能帮我解决这个问题吗? 另外,YDATA是什么意思?
先谢谢你。