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 Y
TC=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 G
VADARE=14;
4 [$ ~( v8 t* c+ ~7 b: Z
EPS=0.55;dtad0=0.29;UDA=10*EPS;
' J" Q' q$ r/ s( }! s9 C
RH=1;Y=36;
6 J4 Q+ J: X0 u z
TR=300;TD=TC;
+ M: _* T% a) c- X7 ]; s
YD=TD/TR;
9 \, l% z3 c. t" i
for i=1:85
8 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" R
a=max(y(:,2));
. P5 R" n( x0 j( X4 i8 H7 T1 o
b=y(:,2)==a;
8 _( x/ h; o* [# v! J$ j0 M& E
c=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
else
0 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 p
end
6 b# b9 o( ]& [* v: x( C
figure;
( s0 p+ K' J% D0 P$ Q" D- P
plot(TC/TR,FF,'.');hold on
* q6 ^3 V7 X! ?& U
end
\/ {# \+ 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* K
dy=zeros(2,1);
" O2 c F. Q1 g+ @. t: T
VADARE=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; F
TR=300;TD=TC; YD=TD/TR;
2 s7 k( w; [+ a2 D
if 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% G
end
# l" {1 a+ J* b( } B
if 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