, - , , .. , S (. 4.8). , , . , : . . 4.8. , (. 4.8,b) (. 4.8,c).
,
h = (b-a)/N; N . , N, h .
a | b | c |
. 4.8. : ) b) ; )
. . , . 4.9. , t = 0 e(t0) 0 1 ( ), R =10, C = 10 , L = 10.
. 4.9. R RL
, C L :
.
,
.
, :
,
,
h . , L :
, (4.1)
. (4.2)
, RC RL ( , , )
uC uL , :
, (4.3)
. (4.4)
h = 0.1RC = 0.1c . , (t = t0 = 0).
(4.5)
. (4.6)
i (t 1) RC RL .
,
.
(4.1, 4.2) uC(t1) uL(t1), (4.3, 4.4) uC(t0) uL(t0), i(t0), , i(t1), i(t2) ..
, RC-, . 4.9, . C. R =10, C = 10 , = 1 4.10.
|
|
// 4.6
#include "stdafx.h"
#include <iostream>
void main(){
double R, C, E, t = 0;
std::cout<<"\nInput R = ";std::cin>>R;
std::cout<<"\n Input C = ";std::cin>>C;
std::cout<<"\n Input a size jump E = ";std::cin>>E;
double Uc0 = 0, Ic0 = E/R, h = 0.1*R*C;
double Uc1, Ic1;
std::cout<<"\n t = "<<t<<" E = "<<E<<" Uc1 = "<<Uc0<<" Ic1 = "<<Ic0;
for(int i = 0; i < 40; i++){
Ic1 = (E - Uc0 - h/(2*C)*Ic0)/(R + h/(2*C));
Uc1 = h/(2*C)*Ic1 + Uc0 + h/(2*C)*Ic0;
t = t+h;
std::cout<<"\nt="<<t<<"E="<<E<<"Uc1="<<Uc1<<"Ic1="<<Ic1;
Uc0 = Uc1; Ic0 = Ic1;
}
getchar();
}
. 4.10. C R =10, C = 10 , = 1
L RL (4.4) (4.6) .