用matlab解决一道数学问题

问题如下图... 问题如下图 展开
wacs5
2010-01-06 · TA获得超过1.6万个赞
知道大有可为答主
回答量:3724
采纳率:82%
帮助的人:2732万
展开全部
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
xdhum
2010-01-06 · TA获得超过477个赞
知道答主
回答量:110
采纳率:0%
帮助的人:0
展开全部
最简单的方法,列方程求解。里面只有两个未知数,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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
怒怒怒沧海
2010-01-06
知道答主
回答量:18
采纳率:0%
帮助的人:0
展开全部
什么问题啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式