用电压V=10伏的电池给电容器充电,电容器上t时刻的电压为 ,其中V0是电容器的初始电压, 是充电常数。试由下面一组t,V数据确定V0, 。

用电压V=10伏的电池给电容器充电,电容器上t时刻的电压为 ,其中V0是电容器的初始电压, 是充电常数。试由下面一组t,V数据确定V0, 。

1.用命令lsqcurvefit

1)编写M文件voltage1.m

function V = voltage(x,t)
V = 10 - (10 - x(1))*exp(-t/x(2))

2)主程序nihe1.m

t = [0.5,1,2,3,4,5,7,9];
v = [6.36,6.48,7.26,8.22,8.66,8.99,9.43,9.63];
x0 = [0,0.1];
x = lsqcurvefit(‘voltage1’,x0,t,v)
v = voltage1(x,t)

2.用命令lsqnonlin

1)编写M文件voltage2.m

function V = voltage(x,t)
t = [0.5,1,2,3,4,5,7,9];
v = [6.36,6.48,7.26,8.22,8.66,8.99,9.43,9.63];
v = 10 - (10 - x(1))*exp(-t/x(2))

2)主程序nihe2.m

x0 = [0,0.1];
x = lsqnonlin('votage2',x0)
v = voltage2(x,t)

3.用命令polyfit

1)将非线性函数转化为线性函数

v(t) = V - (V - V0)e^(-t/T) => ln(V-v) = ln(V - V0) - t/T
y = ln(V - v),x1 = -1/T,x2 = ln(V-V0)
y = x1t + x2
T = -1/x1,V0 = V - e^x2

2)主程序nihe3.m

V = 10;
t = [0.5,1,2,3,4,5,7,9];
v = [6.36,6.48,7.26,8.22,8.66,8.99,9.43,9.63];
y = log(V - v);
x = polyfit(t,y,1)
T = 1/x(1)
V0 = V - exp(x(2))

4.利用三次样条插值估计给定值

编写M文件chazhi.m

t = [0.5,1,2,3,4,5,7,9];
v = [6.36,6.48,7.26,8.22,8.66,8.99,9.43,9.63]; 
T = interp1(t,v,[0.8,1.5,2.5,3.5,4.5,6.8],'spline')

你可能感兴趣的:(用电压V=10伏的电池给电容器充电,电容器上t时刻的电压为 ,其中V0是电容器的初始电压, 是充电常数。试由下面一组t,V数据确定V0, 。)