EDA365电子论坛网

标题: lsqcurvefit 拟合 [打印本页]

作者: kekek    时间: 2021-2-22 11:17
标题: lsqcurvefit 拟合
对于代码画出来的图如何使用lsqcurvefit 拟合?代码中c为X轴,FF为y轴
; I7 n- W6 d$ V9 q' r function FF0dian_TDdyTC: n6 f* Q. Q( H- }7 ]/ L, e
clc
! f& W5 h! R' N0 y" i, ]' S9 YTC=283:367;
3 `8 p; x( f$ ]* V( G% 0.025<vaDaRE<14  0.3<eps<0.55  0.29<dtad0<0.7  32<活化能<42  Co=UDa/eps
3 W+ P$ A+ L* w& O' i& s6 E  GVADARE=14;4 [$ ~( v8 t* c+ ~7 b: Z
EPS=0.55;dtad0=0.29;UDA=10*EPS;
' J" Q' q$ r/ s( }! s9 CRH=1;Y=36;
6 J4 Q+ J: X0 u  zTR=300;TD=TC; + M: _* T% a) c- X7 ]; s
YD=TD/TR;9 \, l% z3 c. t" i
for i=1:858 l$ e: k- i( V/ k/ X
start_t=0;end_t=2;2 D# u/ e/ ^+ Y0 b
options=odeset('RelTol',1e-8,'AbsTol',[1e-9 1e-9]);
6 l1 r. ^  A* e$ z* K& y[T,y]=ode45(@SBR1,[start_t end_t],[0,277/300],options,TC(i));
& p/ r/ F% a; p" Ra=max(y(:,2));
. P5 R" n( x0 j( X4 i8 H7 T1 ob=y(:,2)==a;
8 _( x/ h; o* [# v! J$ j0 M& Ec=TC(i)./TR;0 L  E1 m# I0 h1 O. z, d
T(b);3 W3 B0 w! F2 o. I" f% U" Y
if T(b)<=1; t7 R" V8 h. C8 E
     YTA=c+1.05*dtad0/(UDA*(1+EPS*T(b))+EPS*RH);  w& y1 ?! V- C5 s: e
     FF(i)=a-YTA;  e- F. ?7 M1 o, q
else0 F4 C6 O) L. b2 x  L  H
     YTA=c+1.05*dtad0/(UDA*(1+EPS)+EPS*RH);
6 |6 T! l& W5 Y- _6 x  x$ A3 H$ t     FF(i)=a-YTA;5 ^; Y% n8 d' u4 D
end
2 _0 G$ a: |2 E0 pend
6 b# b9 o( ]& [* v: x( Cfigure;( s0 p+ K' J% D0 P$ Q" D- P
plot(TC/TR,FF,'.');hold on
* q6 ^3 V7 X! ?& Uend
  \/ {# \+ N! N$ M: E1 k1 C: f% G& H5 ~2 I
function dy= SBR1(t,y,TC)
  i( \8 i* Q  c! e7 p" A. F- e+ |6 j* Kdy=zeros(2,1);
" O2 c  F. Q1 g+ @. t: TVADARE=14;
" f, S' O5 w8 A6 ^EPS=0.55;dtad0=0.29;UDA=10*EPS;. R# V' u0 k) X3 _& [1 L
RH=1;Y=36;
% L& C9 a$ A4 r9 `' S; FTR=300;TD=TC; YD=TD/TR;
2 s7 k( w; [+ a2 Dif t<=1
1 R# b" F/ I3 o    YCE=((UDA*(1+EPS*t)*TC+RH*EPS*TD)/(UDA*(1+EPS*t)+RH*EPS))/TR;
7 o, d2 I4 R( n  a" W    dy(1) = VADARE*(t-y(1))*(1-y(1))*exp(Y*(1-1/y(2)));
. r* j3 N: [1 ]9 Y0 y3 `8 _    dy(2) = ((dtad0*dy(1)-(UDA*(1+EPS*t)+RH*EPS)*(y(2)-YCE)))/(1+RH*EPS*t);
" l$ F3 {9 E) q; x# M$ r% Gend
# l" {1 a+ J* b( }  Bif t>1
* ?2 _# q+ k$ x3 w0 v  S   YCE=((UDA*(1+EPS)*TC+RH*EPS*TD)/(UDA*(1+EPS)+RH*EPS))/TR;
, Q' j+ \1 ?2 x; J   dy(1) = VADARE*(1-y(1))*(1-y(1))*exp(Y*(1-1/y(2)));; m8 U2 J8 g5 ]) K) z) M0 E% a& T
   dy(2) = ((dtad0*dy(1)-(UDA*(1+EPS)+RH*EPS)*(y(2)-YCE)))/(1+RH*EPS);* ^* U# s: J1 |6 j
end  Q: B5 @3 o3 d
end
$ P7 W6 n4 U" ?! i$ o; o; ?# B, D( x# ~- A0 r% y

: R  s3 P& J! e  P. {& e1 X
作者: 小白的白    时间: 2021-2-22 13:02
帮你顶一下
作者: Uifhjvv    时间: 2021-2-22 13:04
请把待拟合的数据、哪些是待拟合参数等等都给出
作者: pTDbn25    时间: 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产生的误差最小。
# ]! Z3 d9 i$ k8 n. k, {7 b7 V+ O0 A' m
最简单的例子,已知模型:电压U = 电阻R * 电流I,且不知道接在某简单电路上的电阻到底是多大。那么通过若干组实验,以电流I为输入(比如调整滑动变阻器来控制该电路中的电流数值),同时测量这个电阻两端的电压U作为输出,通过这若干组U与I的数值,可以估计出一个满足模型的电阻R值。控制输入I、测量输出U、以此二者来估计参数R。
+ {# ?% @  j9 ?# K3 L. t




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2