ilerror is a relationship that includes t and dt, Now I assume a value of error=0.005, and I want to find the maximum value of dt for ilerror without exceeding error. What method can I use?
I attempted to solve using the following code, but MMA was unable to calculate the result.
{r = 22, l = 2 10^-1, c = 1 10^-4, vi = 24, initvalueil = 0,
initvaluevc = 0, tstart = 0, tend = 0.008, limitdt = 0.0001,
error = 0.005};
\[CapitalDelta]vi = 0;
A = {{0, -1/l}, {1/c, -1/(r c)}};
G = Inverse[A];
B = {1/l, 0};
S1 = Inverse[DiagonalMatrix[{1, 1}] - dt*A + 1/2*dt*dt*A . A];
S2 = Inverse[DiagonalMatrix[{1, 1}] - dt*A];
STAR1 = S1 . G . (B*vi + G . B*\[CapitalDelta]vi/dt) -
G . (B*(vi + \[CapitalDelta]vi) + G . B*\[CapitalDelta]vi/dt);
STAR2 = S2 . G . (B*vi + G . B*\[CapitalDelta]vi/dt) -
G . (B*(vi + \[CapitalDelta]vi) + G . B*\[CapitalDelta]vi/dt);
X0 = {0, 0};
X[t_] :=
Simplify[(MatrixPower[S1, i] - MatrixPower[S2, i]) .
X0 + (DiagonalMatrix[{1, 1}] . (DiagonalMatrix[{1, 1}] -
MatrixPower[S1, i]) .
Inverse[DiagonalMatrix[{1, 1}] - S1]) .
STAR1 - (DiagonalMatrix[{1, 1}] . (DiagonalMatrix[{1, 1}] -
MatrixPower[S2, i]) .
Inverse[DiagonalMatrix[{1, 1}] - S2]) . STAR2] /. {i ->
t/dt};
ilerror = X[t][[1]];
condequal = Abs[ilerror] == error;
maxil = NMinimize[{dt, condequal, tstart <= t <= tend,
0 <= dt <= limitdt}, {t, dt}]