首页 > 编程知识 正文

matlab曲线拟合函数,matlab拟合自定义函数

时间:2023-05-04 17:26:03 阅读:39904 作者:2452

我打算用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是什么意思?

先谢谢你。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。