用matlab解决一道数学问题

来源:学生作业帮助网 编辑:作业帮 时间:2024/09/30 18:18:46
用matlab解决一道数学问题
xS]OV+)9G+Un}MBARVJ )A+e[IR$䊿>NFVj}UuWև]e;gr&̲^}''j:Ypm3BZ8kEk5+܃B+OPB*W+NͨV$#>/Y#SiiI,IЅ(buS@(+i3h-}R?+)"r$dW!m"/(Ŕ ;gwr:)V4D߲T}&9 { ^_ë^oO(WBSpBCܕ"wwh{K`q^up5p}RPgs_Fc߈z9<2[r \;(؀'^ogx?sW!oyA෇;RSy+2M3<'â@DY:^E&feAfx0, Bl5nC=M3FՊl*i:Ɨ gυ#(O!SH$xQ&P jۗa_ N0x؍ӿ/:'c\q(aIJ2$g1c{vJj^ǫdra$S&: c x3Y1nt!"qDVtUю"M(L7cF-[_.7u{4Z!(¿47ul?(EhO"$a)Jl{琡Wlw@+$VAڽA4owy}

用matlab解决一道数学问题
用matlab解决一道数学问题

用matlab解决一道数学问题
v(t)=V-(V-V0)*exp(-t/tau)
移项,后两边同取对数
log(V-V(t))=log(V-V0)-t/tau
上面V,V(t),t已知,V0,tau未知.
令y=log(V-V(t))
x=t
那么就有kx+b=y
其中k=-1/tau,b=log(V-V0)
上面的过程就是将非线性化成线性.
将每个数据代入会得到二元一次线性方程组
方程数6,变量数2,可以由最小二乘法求出.
以下是Matlab代码:
V=14;
t=[0.3,0.5,1.0,2.0,4.0,7.0];
Vt=[5.6873,6.1434,7.1633,8.8626,11.0328,12.6962];
y=log(V-Vt);
A=[t(:),ones(size(t(:)))];
kb=A\y(:);
tau=-1/kb(1)
V0=V-exp(kb(2))
%%下面是显示拟合的结果
Vt_fit=V-(V-V0)*exp(-t/tau)
plot(Vt,Vt_fit,'*',Vt,Vt,'r')
xlabel('Vt原始数据')
ylabel('Vt拟合数据')
%%%%%%%%%%%%%%%
填空:
方法:化非线性问题成线性问题
V0=5.0001
tau=3.6165

最简单的方法,列方程求解。里面只有两个未知数,V0和时常数t
7.1633=14-(14-V0)*exp(-1/t) (1)
8.8626=14-(14-V0)*exp(-2/t) (2)
把(1)平方与(2)相比,就可以得到V0=4.9019

什么问题啊?