Current location - Training Enrollment Network - Mathematics courses - Matlab math problem?
Matlab math problem?
v(t)=V-(V-V0)*exp(-t/tau)

Move the item, and both sides take the same logarithm.

log(V-V(t))= log(V-V 0)-t/τ

The above v, V(t) and t are known, and V0 and τ are unknown.

Let y=log(V-V(t))

x=t

Then kx+b=y

Where k =- 1/τ and b = log (v-v0).

The above process is to turn nonlinearity into linearity.

Substituting each data into the membership degree, the binary linear equations are obtained.

Equation 6 and variable 2 can be solved by least square method.

The following is the Matlab code:

v = 14;

t=[0.3,0.5, 1.0,2.0,4.0,7.0];

Vt=[5.6873,6. 1434,7. 1633,8.8626, 1 1.0328, 12.6962];

y = log(V-Vt);

A=[t(:),ones(size(t(:)))];

kb = A \ y(:);

τ=- 1/kb( 1)

V0=V-exp(kb(2))

Below%% is the result of fitting.

Vt_fit=V-(V-V0)*exp(-t/tau)

plot(Vt,Vt_fit,' * ',Vt,Vt,' r ')

Xlabel ("vt raw data")

Ylabel ("Ventricular tachycardia fitting data")

%%%%%%%%%%%%%%%

Fill in the blanks:

Methods: The nonlinear problem was transformed into a linear problem.

V0=5.000 1

τ= 3.6 165