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

共回答了10个问题采纳率:90%

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=Ay(:);

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

1年前

2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值