找回密码
 注册
关于网站域名变更的通知
查看: 512|回复: 3
打印 上一主题 下一主题

lsqcurvefit 拟合

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-2-22 11:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
对于代码画出来的图如何使用lsqcurvefit 拟合?代码中c为X轴,FF为y轴
3 C  c. {' m8 q# d) _8 v function FF0dian_TDdyTC9 z3 P5 a8 u6 c
clc
7 f8 x& I2 }; s8 H* pTC=283:367;
' u1 }/ c  z" j# b( [% 0.025<vaDaRE<14  0.3<eps<0.55  0.29<dtad0<0.7  32<活化能<42  Co=UDa/eps  A3 s1 ~- c, T/ q$ |; {& x1 H
VADARE=14;0 M. E% [% u6 w* x8 y! e
EPS=0.55;dtad0=0.29;UDA=10*EPS;7 W  P* Z  Z2 i7 v2 ?% N
RH=1;Y=36;& G* ?% u! O. ?+ Z8 Z3 a" t
TR=300;TD=TC;
9 y( e: _# p0 c' M4 \+ hYD=TD/TR;3 D: t$ t, u; B# J
for i=1:85( y1 H2 x3 P$ T* T7 j6 Y
start_t=0;end_t=2;
0 w* q0 K! T$ K0 i0 j& zoptions=odeset('RelTol',1e-8,'AbsTol',[1e-9 1e-9]);1 l. |/ b0 h' e) Y+ T2 n/ i
[T,y]=ode45(@SBR1,[start_t end_t],[0,277/300],options,TC(i));
+ R5 B$ j2 H- Y4 Y1 A! ]a=max(y(:,2));
* ]: B7 B, K$ Y  m" }6 q0 [b=y(:,2)==a;
6 M0 U/ z6 J# Jc=TC(i)./TR;
: M  ^$ l' g# Y7 U; c; TT(b);
& Z1 `, S# I8 }' v if T(b)<=1
' X6 n* ]- m+ Z; p. i. x2 x) B     YTA=c+1.05*dtad0/(UDA*(1+EPS*T(b))+EPS*RH);
+ ?' q1 U, N# t: {     FF(i)=a-YTA;
, B3 |/ v1 s- J" [* v, f5 \ else: o# j6 L8 V2 w6 T1 w) i3 i
     YTA=c+1.05*dtad0/(UDA*(1+EPS)+EPS*RH);
- _2 U! c, `8 v# y: z, w& K     FF(i)=a-YTA;3 s3 o, ], M0 m- C5 M' {
end+ i7 U: a2 H7 z
end4 e$ P; Q5 K& O3 m
figure;
. Y3 }1 `/ ?! X* E. g5 Xplot(TC/TR,FF,'.');hold on) b0 F) j* E, u9 [' Z9 x
end
" Z  f5 S' X/ T9 X: G5 G+ T6 d
. I& v5 j% x2 K& r' m" y1 |5 l1 yfunction dy= SBR1(t,y,TC)
3 q; j4 |" B0 J7 mdy=zeros(2,1);8 d7 d6 T$ T& {
VADARE=14;
8 F7 r  {' g5 }* u" S# G# y0 \: GEPS=0.55;dtad0=0.29;UDA=10*EPS;; Y* k* c  G3 e# @3 ?$ x9 }
RH=1;Y=36;8 L4 u$ ~1 |+ x& ^, c" l" v
TR=300;TD=TC; YD=TD/TR;) j# x$ O0 E9 \6 n/ |6 b
if t<=1; a7 N: ?7 e: Y8 w: t' r
    YCE=((UDA*(1+EPS*t)*TC+RH*EPS*TD)/(UDA*(1+EPS*t)+RH*EPS))/TR;: e. q$ M' L6 T- l: B4 R( f
    dy(1) = VADARE*(t-y(1))*(1-y(1))*exp(Y*(1-1/y(2)));
" ]' s" U9 x& J6 R    dy(2) = ((dtad0*dy(1)-(UDA*(1+EPS*t)+RH*EPS)*(y(2)-YCE)))/(1+RH*EPS*t);! f: F. }, E% V/ @
end
1 J- M6 j& b( Y: \+ g  Pif t>1
+ S  v& `, ]! E8 R0 s   YCE=((UDA*(1+EPS)*TC+RH*EPS*TD)/(UDA*(1+EPS)+RH*EPS))/TR;
" L1 ~# q) ~) }  y6 Q   dy(1) = VADARE*(1-y(1))*(1-y(1))*exp(Y*(1-1/y(2)));  J2 B& `1 c% a- t( W; w; S6 b
   dy(2) = ((dtad0*dy(1)-(UDA*(1+EPS)+RH*EPS)*(y(2)-YCE)))/(1+RH*EPS);1 ^; e* R4 p6 ]+ ~  @- L
end
7 m2 y% {0 S1 ^4 h- Oend
+ E# G% w9 o1 s0 D! s2 ?; M: r! g) z+ Z! G4 m5 f

4 Q4 g& v1 q0 }* A

该用户从未签到

2#
发表于 2021-2-22 13:02 | 只看该作者
帮你顶一下

该用户从未签到

3#
发表于 2021-2-22 13:04 | 只看该作者
请把待拟合的数据、哪些是待拟合参数等等都给出

该用户从未签到

4#
发表于 2021-2-22 13:15 | 只看该作者
所谓拟合,指的是已知形如 Output_Y = Function( Input_X, Parameters_C ) 这样的函数关系(其中Input_X为实验的若干控制变量,同时也是函数的输入;Parameters_C为待拟合参数;Output_Y为实验结果,同时也是函数的输出),给出Input_X与Output_Y 作为已知,求一组合适的Parameters_C数值使模型Function产生的误差最小。' t8 z! b% z/ A
9 N7 w$ Y% R! B
最简单的例子,已知模型:电压U = 电阻R * 电流I,且不知道接在某简单电路上的电阻到底是多大。那么通过若干组实验,以电流I为输入(比如调整滑动变阻器来控制该电路中的电流数值),同时测量这个电阻两端的电压U作为输出,通过这若干组U与I的数值,可以估计出一个满足模型的电阻R值。控制输入I、测量输出U、以此二者来估计参数R。1 j& N4 X# x+ G! W" w# \; W
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 00:59 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表