The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

Физикалық процестерді компьютерлік модельдеу

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by seisenuldana, 2021-05-04 13:01:33

Физикалық процестерді компьютерлік модельдеу

Физикалық процестерді компьютерлік модельдеу

print('t=',round(t,2),'c ' ,'v=',round(v,2), 'м/с '

,'x=', round(x,2),'м') x= 5.27 м
x= 19.5 м
Программалау нәтижесі: x= 41.37 м
Ауада дененің құлауы есебі x= 69.08 м
x= 100.73 м
t= 1.0 c v= 9.47 м/с x= 134.76 м
x= 170.14 м
t= 2.0 c v= 17.93 м/с x= 206.24 м
x= 242.72 м
t= 3.0 c v= 24.82 м/с x= 279.4 м
x= 316.17 м
t= 4.0 c v= 29.78 м/с x= 353.0 м
x= 389.85 м
t= 5.0 c v= 32.93 м/с x= 426.72 м
x= 463.59 м
t= 6.0 c v= 34.77 м/с

t= 7.0 c v= 35.78 м/с

t= 8.0 c v= 36.31 м/с

t= 9.0 c v= 36.59 м/с

t= 10.0 c v= 36.73 м/с

t= 11.0 c v= 36.8 м/с

t= 12.0 c v= 36.84 м/с

t= 13.0 c v= 36.86 м/с

t= 14.0 c v= 36.87 м/с

t= 15.0 c v= 36.87 м/с

Осы нәтижені енді график түрінде бейнелеу қажет. Нәтижелерден
көрініп тұрғандай 11 ...15 с уақыттарда жылдамдық тұрақталған.

Python тілінде программасы

print('Ауада дененің құлауы есебі')
from tkinter import*
root=Tk()
canvas=Canvas(root, width = 500, height = 400, bg = "white")
canvas.create_line(0,250,500,250,width=2,arrow=LAST) #ox
canvas.create_line(50,500,50,0,width=2,arrow=BOTH) #oy
canvas.create_line(80,245,80,260,width=1);
canvas.create_line(40,17,55,17,width=1);
canvas.create_text(80,270,text='1');
canvas.create_line(110,245,110,260,width=1);
canvas.create_line(45,34,55,34,width=1);
canvas.create_text(110,270,text='2')
canvas.create_line(140,245,140,260,width=1);
canvas.create_line(40,51,55,51,width=1);
canvas.create_text(140,270,text='3')
canvas.create_line(170,245,170,260,width=1);
canvas.create_line(45,67,55,67,width=1);
canvas.create_text(170,270,text='4')
canvas.create_line(200,245,200,260,width=1);
canvas.create_line(40,83,55,83,width=1);
canvas.create_text(200,270,text='5')
canvas.create_line(230,245,230,260,width=1);
canvas.create_line(45,100,55,100,width=1);
canvas.create_text(230,270,text='6');
canvas.create_text(35,100,text='29')
canvas.create_line(260,245,260,260,width=1);
canvas.create_line(40,117,55,117,width=1);
canvas.create_text(260,270,text='7')

150

canvas.create_line(290,245,290,260,width=1);

canvas.create_line(45,133,55,133,width=1);

canvas.create_text(290,270,text='8');

canvas.create_line(320,245,320,260,width=1);

canvas.create_line(40,150,55,150,width=1);

canvas.create_text(320,270,text='9');

canvas.create_line(350,245,350,260,width=1);

canvas.create_line(45,166,55,166,width=1);

canvas.create_text(350,270,text='10');

canvas.create_line(380,245,380,260,width=1);

canvas.create_line(40,182,55,182,width=1);

canvas.create_text(380,270,text='11');

canvas.create_line(410,245,410,260,width=1);

canvas.create_line(45,199,55,199,width=1);

canvas.create_text(410,270,text='12');

canvas.create_text(35,199,text='9')

canvas.create_line(440,245,440,260,width=1);

canvas.create_line(40,216,55,216,width=1);

canvas.create_text(440,270,text='13');

canvas.create_line(470,245,470,260,width=1);

canvas.create_line(45,233,55,233,width=1);

canvas.create_text(470,270,text='14');

canvas.create_text(490,270,text='t,c');

canvas.create_text(25,15,text='v,м/с');

t=0; v=0; x=0;A=5;B=10**-2; M=70; g=9.8; t1=0.1;

for j in range(0,15):

for i in range(0,10):

v=v+(g-(A*v+B*v**3)/M)*t1

canvas.create_line(round(30 * t) + 50, 250 - round(5 *

v), round(30 * t) + 50 + 1, 250 - round(5 * v) + 1,

fill='red',width=2)

x=x+v*t1

t=t+t1

print('t=',round(t,2),'c ' ,'v=',round(v,2), 'м/с '

,'x=', round(x,2),'м')

canvas.pack()

root.mainloop()

Программалау нәтижесі:

151

Зертханалық сабақ №12 Серіппелі маятниктің тербелісі . Екінші
реттіНдьиюфтфоненрыенңцІиІ-азлаьңдыыбқойтыеңндшеау:діmсaан=дыFқ әдіспен шешу

F = Fc + Fуйк

мұндағы Fуйк = 0 , десек:

max = Fx және Fx = −kx ,

сонда:

max = −kx (1)
(1)–теңдеу серпімділік күштің әсерінен болған шардың қозғалыс теңдеуі.

ax + k x = 0.
m

d 2x + k x = 0
dt 2 m

x + k x = 0,
m

мұндағы k = 02 -тербелмелі жүйенің циклдік жиілігі.
m

x +  2 = 0 (2)
0

Біртекті екінші ретті дифференциалды теңдеу – серіппелі маятниктің

қозғалыстеңдеуі. Маятник гармониялық тербеліс жасайды, оның тербелісі

x = Acos(0t + 0 )

теңдеуімен сипатталады. (2)-теңдеудің шешімі:

x = Acos(0t + 0 ) (3)

(3)-теңдеудің дұрыстығына көз жетккізейік:

x = − 2 x = − 2 A cos(0 t + 0 )
0 0

 = dx = − A0 sin( 0t + 0 )
dt

a = d = − A02 cos(0t + 0 )
dt

(3)-теңдеу (2)-дифференциалды теңдеуді қанағаттандырады.

Маятниктің тербеліс теңдеуі мына түрде болады:

x +  2 x = 0. (1)
0

Осы теңдеудің шешімі:

x 0==xma0x sin (0t + 0 ) + 0 )
 xmax cos(0t

a x = − 2  xmax sin (0t +0 )
0

152

x,x , ax мәндерін кез келген уақытта мезетінде табу үшін жарты интервал

әдісін қолданамыз.

1. t min  t max уақыт аралығын таңдаймыз. tmin = 0, t = tmax − tmin
n

уақыт осінде қарастырайық.

2. x = dx = lim x  x .
dt t t

мұндағы:

t = t1 − t0 = t2 − t1 = .... = tn − tn−1 немесе t = ti+1 − ti , i=(0,1,2,…..,n)

x = xi+1 − xi

x = d 2 x = dx = lim x  x
dt 2 dt t t

3. Жарты интервалдар әдісінің мәні

1. Жылдамдықтың мәні әрбір t интервалының ортасында

есептеледі, яғни

t1 = t1 − t0 = t ;
2 2 2

= t2 − t1 = 3 t
...t3 2 2 ;
2

t i +1 = ti+1 − ti = (2i + 1)  t ;
2 2 2

...

t n−1 = tn − tn−1 = (2n +1)  t ;
2 2 2

i=0 t0+ 1 = t1 −t 0 = (2  0 +1) t ; t1 = t1 − t0 = 1 t ;
2 2 2 2 2 2

i=1 t1+ = t2 −t 1 = (2 1+1) t ; t3 = t2 − t1 = 3  t ;
2 2 2 2 2
1
2

i=2 t2+ = t3 −t 2 = (2  2 +1) t ; t5 = t3 − t2 = 5  t ;
2 2 2 2 2
1
2

i=3 t3+ = t4 −t 3 = (2  3 +1) t ; t7 = t4 − t3 = 7  t ;
2 2 2 2 2
1
2

1. x координата мәні уақыт интервалының алғанда есептеледі , яғни

t1,t2 ,...ti+1,ti ,...tn уақыт осінде x = x формуласымен табамыз. Сонымен,
t

координата мен жылдақдық мәндері есептелетін нүктелер бір-бірінен жарты

интервалға t шамаға ығысқан х жәнеx мәндері әрбір t интервалында

2

есептеледі .

153

Бірінші интервалдың ортасында жылдамдық проекциясының мәнін
мына шарттан табамыз

(x ) 1 − (x )0  − k x0 ,
2 m
t

2

мұндағы x0 , (x ) 1 , (x )0 индекстері есептелетін уақыт мезетін білдіреді, ал
2

t 2 болуы t0 , t 1 уақыттары бір бірінен t интервалға қалып отыртынын
2

білдіреді, олай болса,

(x ) 1  (x )0 − k x0  t
2 m 2

келесі уақыт мезетінде

(x ) 3  (x ) 1 − k x1  t
2 2 m

(x ) 5  (x ) 3 − k x2  t
2 2 m



(x )i+1  (x ) 1 − k xi  t
2 i− m
2

Сонымен, қандай-да бір уақыт мезетіндегі дененің жылдамдығы

алдыңғы уақыт мезетіндегі координата мен жылдамдықтың мәндерімен

анықталады.

t1 yақыт мезетіндегі дененің координатасын x = x  x шарттарынан
табамыз.Cонда t

(x ) 1  x1 − x0  x1  x0 + (x ) 1  t.
2 t 2

Келесі уақыт мезетінде:

x2  x1 + (x ) 3  t.
2

x3  x2 + (x )5  t.
2
….

xi+1  xi + (x )i+ 1  t.
2

Қорытындылай келе, тербелістің дифференциалдық теңдеуінің шешімін
беретін негізгі теңдеулерді жазайық :

154

( x ) 1  (x ) 0 − k xi  t
 2 m 2

( x ) i + 1  ( x ) i− 1 − k xi  t
 2 2 m

 x i +1  xi + ( x ) 1  t
 i+ 2

мұндағы i=0,1,2,...,n. x(t),(t) тәуелділіктерінің графигін тұрғызуға
Осы формулалар

мүмкіндік береді.

155

Дәріс № 13. Бір белгісізі бар трансцендентті теңдеуді шешу.
Тәуелділіктердің экстремумдарын табу. (Бурсиан Э.В. 78-79 беттер).

4.4. Бір белгісізі бар трансцендентті теңдеуді шешу
Сандық әдістер есептеу техникасымен бірігіп кез келген (жоғары
дәрежелі алгебралық, трансценденттік) теңдеулерді шешуге мүмкіндік
береді.
Бір белгісізі бар кез келген теңдеу мына түрге келтіріледі

F(x) = 0. (4.4.5)

Мұндай теңдеудің түбірі F(x) функциясы нөлден өтетін х мәні болады

(46-сурет). Теңдеудің шешімін екі этапқа бөлеміз: теңдеу түбірін оқшаулау
және оқшауланған түбірдің мәнін белгілі бір дәлдікке дейін анықтау.

Теңдеу түбірін оқшаулау деп теңдеуді қанағаттандыратын түбір бар
болатын [a, b] кесіндісін табуды айтады. Бұл есеп F (x) функциясына талдау

жасаумен немесе программа бойынша бірнеше нүктелерде F(x) функциясын

есептеумен шешіледі. Кейде F(x) функциясын екі қосындыға бөліп

F(x) = f (x) + (x) = 0; f (x) = −(x) (4.4.6)

және f (x) пен − (x) графиктері қиылысатын х − тің жуықталған мәнін
бағалаған ыңғайлы. Мысалы, 3sin x − x = 0 теңдеуін шешу үшін 3sin x пен x

графиктерін көзге елестетіп сызу ыңғайлы (47-сурет), осыдан теңдеудің

түбірі а =  / 2 1,5 мен b =   3,1 арасында екені бірден айқындалады.

Түбірді дәлдікпен анықтауды программа арқылы жүзеге асырады. Әуелі

қарапайым программаны қарастырайық. f (x) пен − (x) функцияларын

таңдап алынған [a, b] кең диапазонда үлкен x қадаммен есептеп, сол
аралықта екі функцияның шамалары жуықтайтын [a, b] аралықты кішірейтіп,

156

x қадамды азайтып есептеуді жалғастырамыз. Сөйтіп, x түбірдің мәнін дәл

анықтаймыз. Бұдан да жетілдірілген әдістер және программалар бар. Ең
бастысы қарапайым әдіс арқылы есептеу маңызын түсіну.

Есеп қарастырайық. (Бурсиан Э.В. 27 бет)
2.10.3. Резисторлардың тізіле жалғануы. Металл сымнан жасалған
резистор мен жартылай өткізгішті резистор тізіле жалғанған. Олардың
кедергілерінің температуралық тәуелділігі мынадай:

Rм = R0 T ; Rп = R0 exp[W / (k T )],

мұндағы R0 =125 Ом; R = 5,86 10−2 Ом;  = 4 10−3 К −1; W = 4,8 10−20 Дж;
0

k =1,38 10−23 Дж / К . Қандай температурада жалпы кедергі ең кіші

болатанын анықтап, программа құрыңыз.

Есептің аналитикалық шешімі:

Есептің берілгені: Шешуі:
Rм = R0  T
Rм Rп
W
Жалпы кедергі (1)
Rп = R0 е kT
R0 = 125 Ом W

R0 = 5,86 10−2 Ом Rж = Rм + Rп = R0  T + R0 е kT .

 = 4 10-3 К −1
W = 4,8 10−20 Дж

k =1,38 10−23 Дж/К
Т −?

Rmin − ?

W

Жалпы кедергі: Rж = Rм + Rп = R0T + R0ekT . (1)

Т температураның қандай мәнінде Rж жалпы кедергі ең кіші (минимум)

мәнге тең болатынын анықтау үшін (1)-теңдеуден Т температура бойынша

туынды алып, нөлге теңестіреміз. Сол теңдеуді қанағаттандыратын

температураның Т1, Т2  аралықтарын тауып, теңдеудің түбірін белгілі бір

дәлдікке дейін анықтаймыз.

dRж = R0 + R0 W W  − 1  = 0. (2)
dT k  Т2 
e kT

R0T 2 − R0 W W = 0,
k
e kT

R0T 2 = R0 W W (3)
k
e kT .

157

Программа жазу үшін белгілеулер енгізейік:

R0 = RO; R0' = R1;  = a; W = W ; k = k;

f 1 = R0T 2 ; f 2 = R0 W W ;
k
e kT

(3) теңдеуін түбірлік еркімізше T = (200  700)К аралығында іздейміз.

1) Түбірді оқшаулау

Python тіліндегі программасы
import math
print('2.10.3. Резисторлардың тізіле жалғануы. ')
R0=125; R1=5.86*10**-2; a=4*10**-3; W=4.8*10**-20; k=1.38*10**-
23;
T=450
while T<=600:

f1=R0*a*T**2
f2=R1*W*math.exp(W/(k*T))/k
print ('T=', T, 'K',' ', 'f1=', round(f1, 8), ' ','f2=',
round(f2, 8) )
T=T+20

Программалау нәтижесі:

2.10.3. Резисторлардың тізіле жалғануы.
T= 450 K f1= 101250.0 f2= 463580.67936904
T= 460 K f1= 105800.0 f2= 391877.19369349
T= 470 K f1= 110450.0 f2= 333641.43819178
T= 480 K f1= 115200.0 f2= 285970.49693813
T= 490 K f1= 120050.0 f2= 246658.15912137
T= 500 K f1= 125000.0 f2= 214012.31829171
T= 510 K f1= 130050.0 f2= 186723.92487623
T= 520 K f1= 135200.0 f2= 163771.97222621
T= 530 K f1= 140450.0 f2= 144353.9390631
T= 540 K f1= 145800.0 f2= 127834.39905034
T= 550 K f1= 151250.0 f2= 113706.72072431
T= 560 K f1= 156800.0 f2= 101564.28630154
T= 570 K f1= 162450.0 f2= 91078.69273986
T= 580 K f1= 168200.0 f2= 81983.11698146
T= 590 K f1= 174050.0 f2= 74059.53097231
T= 600 K f1= 180000.0 f2= 67128.80829668
Process finished with exit code 0

T= 530 K болғанда f1= 140450.0 мен f2= 144353.9390631 мәндері бір-
біріне жуықтайды. Енді түбірді 531÷532 К аралығында f1=f2 болғанша
түбірді іздейміз.

2) Түбірді дәлдікпен анықтау
Python тілінде программасы

import math
print('Резисторлардың тізіле жалғануы.2) түбірді дәлдікпен
анықтау')
R0=125; R1=5.86*10**-2; a=4*10**-3; W=8*10**-20; k=1.38*10**-23;

158

T=531
while T<=532:

f1=R0*a*T**2
f2=R1*W*math.exp(W/(k*T))/k
print ('T=', T, 'K',' ', 'f1=', round(f1, 8), ' ','f2=',
round(f2, 8) )
T=T+0.1

Программалау нәтижесі:

Резисторлардың тізіле жалғануы.2) түбірді дәлдікпен анықтау
T= 531 K f1= 140980.5 f2= 142580.81391759
T= 531.1 K f1= 141033.605 f2= 142405.06825157
T= 531.2 K f1= 141086.72 f2= 142229.60525734
T= 531.3000000000001 K f1= 141139.845 f2= 142054.42438652
T= 531.4000000000001 K f1= 141192.98 f2= 141879.52509194
T= 531.5000000000001 K f1= 141246.125 f2= 141704.90682767
T= 531.6000000000001 K f1= 141299.28 f2= 141530.56904899
T= 531.7000000000002 K f1= 141352.445 f2= 141356.51121244
T= 531.8000000000002 K f1= 141405.62 f2= 141182.73277575
T= 531.9000000000002 K f1= 141458.805 f2= 141009.23319789

Process finished with exit code 0

T= 531.7 K мәнінде f1= 141352.445 мен f2= 141356.51121244 мәндері
теңесті. ЕНді осы мәнде кезергінің минимал мәнін есептейміз.

3) R min анықтау

Python тілінде программасы
import math
print('Резисторлардың тізіле жалғануы. 3) R min анықтау ')
R0=125; R1=5.86*10**-2; a=4*10**-3; W=8*10**-20; k=1.38*10**-23;
T=531.7
Rmin=R0*a*T+R1*math.exp(W/(k*T))
print ('T=', T, 'K',' ', 'Rmin=', round(Rmin, 8) )

Программалау нәтижесі:

'Резисторлардың тізіле жалғануы. 3) R min анықтау
T= 531.7 K Rmin= 306.48999697

4.5. Тәуелділіктердің экстремумдарын табу
Айталық қандай да бір x нүктесінде F(x) функциясының максимумы
бар болсын (48-сурет). F(x) функциясын бір бірінен  x = h қадамына
алшақтаған x бойынша нүктелерде есептейміз, сөйтіп F(x) қисығы бойынша
жылжып отырамыз. Экстремумның бар болуы F өсімшесі таңбасының
өзгеруінен білінеді. х1, х2 , х3 нүктелерінің үштігі максимум немесе минимум
арқылы өткен кезде (F3 − F2 )  (F2 − F1) көбейтіндісі теріс болады (48-суретті
қараңыз).Сол жерде тоқтап және х2 мәнін максимумның (минимумның) x
жуықтау мәніне қабылдау қажет.

159

Практикалық сабақ №13. Резисторлардың параллель жалғануы
есебі

Э.В. Брусианның "Физикадан компьютерге арналған есептер" оқу
құралынан есеп қарастырайық [10]:

Есеп 2.10.4. Резисторлардың параллель жалғануы. Металл сымнан
жасалған резистор мен жартылай өткізгішті резистор параллель жалғанған.
Олардың кедергілерінің температуралық тәуелділігі мынадай:

Rм = R0 T ; Rп = R0 exp[W /(k T )],

мұндағы R0 = 125 Ом; R0 = 5,86 10−2 Ом;  = 4 10−3 К −1; W = 4,8 10−20 Дж;
k =1,38 10−23 Дж / К . Параллель жалғанған екі резистордың кедергісі ең
үлкен (max) мәнге ие бола алатын температураны табыңыздар.

3.5 Тәуелділіктердің экстремумдарын табу

Айталық қандай да бір x нүктесінде F(x) функциясының максимумы
бар болсын (3.9-сурет). F(x) функциясын бір бірінен  x = h қадамына
алшақтаған x бойынша нүктелерде есептейміз, сөйтіп F(x) қисығы бойынша
жылжып отырамыз. Экстремумның бар болуы F өсімшесі таңбасының
өзгеруінен білінеді. х1, х2 , х3 нүктелерінің үштігі максимум немесе минимум
арқылы өткен кезде (F3 − F2 )  (F2 − F1) көбейтіндісі теріс болады (3.9-суретті
қараңыз).Сол жерде тоқтап және х2 мәнін максимумның (минимумның) x
жуықтау мәніне қабылдау қажет.

160

Сурет 3.9. Функцияның экстремумын табу

Есептің аналитикалық шешімі:

Есептің берілгені: Шешуі: Rм
Rм = R0  T
Rп
W
Жалпы кедергі
Rп = R0 е kT 1 = 1 +1,
R0 = 125 Ом Rж Rм Rп
R0 = 5,86 10−2 Ом
 = 4 10-3 К −1 осыдан
W = 4,8 10−20 Дж
Rж = Rм  Rп .
k =1,38 10−23 Дж/К Rм + Rп
Т −?

Rmin − ?

Металл сымнан жасалған резистор мен жартылай өткізгішті резистор
кедергілерінің температуралық тәуелділіктерін формулаға қойып жазатын
болсақ

W

Rж = R0  T  R0 е kT . (1)

W

R0  T + R0 е kT

W

Бұл есепті Rж (T ) = R0  T  R0 е kT деп алып, Rж (T ) функциясының

W

R0  T + R0 е kT

эксремумын іздеуге болады. Ол үшін Rж (T ) функциясын бір-бірінен

Т = 5 К қадамына алшақтаған Т температураларда есептейміз, сөйтіп

161

Rж (T ) қисығы бойынша жылжып отырамыз. Экстремумның бар болуы Rж

өсімшесі таңбасының өзгеруінен білінеді. Т1 ,Т2 ,Т3 нүктелерінің үштігі

максимум немесе минимум арқылы өткен кезде

( Rж3 − Rж2 )  ( Rж2 − Rж1 ) = 0 көбейтіндісі теріс болады (3.9-суретті

қараңыз). Сол жерде тоқтап және Т 2 мәнін максимумның (минимумның) Т

жуықтау мәніне қабылдау қажет.

Rж (T ) функциясын Т = 5 К қадаммен әрбір Т температурада
есептеуге Pytthon тілінде программа жазайық:

Python тілінде программасы

import math
R0=125; R1=5.86*10**-2; a=4*10**-3; W=8*10**-20; k=1.38*10**-23;

T=300
while T<=400:

R=(R0*a*T*R1*math.exp(W/(k*T)))/(R0*a*T+R1*math.exp(W/(k*T)))
print ('T=', T, 'K',' ', 'R=', round(R, 2), 'Ом ' )
T=T+5

Программалау нәтижесі:

T= 300 K R= 150.0 Ом
T= 305 K R= 152.5 Ом
T= 310 K R= 155.0 Ом
T= 315 K R= 157.5 Ом
T= 320 K R= 159.99 Ом
T= 325 K R= 162.49 Ом
T= 330 K R= 164.99 Ом
T= 335 K R= 167.49 Ом
T= 340 K R= 169.98 Ом
T= 345 K R= 172.47 Ом
T= 350 K R= 174.97 Ом
T= 355 K R= 177.46 Ом
T= 360 K R= 179.94 Ом
T= 365 K R= 182.43 Ом
T= 370 K R= 184.91 Ом
T= 375 K R= 187.38 Ом
T= 380 K R= 189.85 Ом
T= 385 K R= 192.32 Ом
T= 390 K R= 194.77 Ом
T= 395 K R= 197.22 Ом
T= 400 K R= 199.65 Ом

Әрі қарай экстремумның бар болуы Rж өсімшесі таңбасының
өзгеруінен білінеді. Т1 ,Т2 ,Т3 нүктелерінің үштігі максимум немесе минимум
арқылы өткен кезде ( Rж3 − Rж2 )  ( Rж2 − Rж1 ) = 0 көбейтіндісі теріс болады
(3.9-суретті қараңыз). Сол жерде тоқтап және Т 2 мәнін максимумның Т
жуықтау мәнін қабылдаймыз. Есептеу нәтижелерінен көрініп тұрғандай,
металл өткізгіш пен жартылай өткізгішті параллель жалғаған кезде,

162

Т = 340 К температурада эквивалентті кедергісінің ең үлкен мәні
Rmax = 153,9 Ом -ға тең.

Бұл есепті шығарудың тағы бір тәсілі: жоғарыда баяндалған бір
белгісізі бар трансцендентті теңдеуді шешу арқылы параллель жалғанған екі
резистордың кедергісі ең үлкен (max) мәнге ие бола алатын температураны
табуға болады. Бұл әдіс бойынша Т температураның қандай мәнінде Rж
жалпы кедергі ең үлкен (максимум) болатынын анықтау үшін Rж жалпы
кедергіден Т температура бойынша туынды алып, нөлге теңестіреміз. Сол

теңдеуді қанағаттандыратын T1 ,T2  аралығын тауып, теңдеудің түбірін

белгілі бір дәлдікке дейін анықтаймыз.

W + R0  T  R0 W е W  − 1    R0  T + W  −
R0   R0е kT k kT  T2   
 R0 е kT
dRж
= ....
dT  W 
 R0 T + R0 
е kT

− R0  T  W  + R0 W W  − 1 
... R0 еkT R0 + k  T2 
еkT

= 0. (2)
 W 
 R0  T R0 е kT 

Туынды нөлге тең болу үшін бөлшектің алымы нөлге тең болса,
жеткілікті. Бөлшектің алымына біршама математикалық түрлендіру
жүргізгеннен кейін алатынымыз

 W − R0  T  R0 W е W    R0  T + W  − R0  T W 
R0  k kT   
 T 2  R0е kT  R0 е kT  R0 е kT

   T 2 − R0 W W  = 0.
R0 k 
 е kT 

W

Алынған теңдеуден еkT көбейтілген мүшесін қысқартып, екі теңдеуге
бөліп теңестіреміз, сонда

R0 T 2 R0 − R0 T  R0 W    R0 T W  = R0 T  R0  R0 T 2 − R0 W W
k     k еkT 
+ R0 е kT 


(3)

Программа жазу үшін белгілеулер енгізейік:

163

R0 = R0 ; R0 = R1;  = a ; W = W ; k = k ;

f1= R0 T 2 R0 − R0 T  R0 W    R0 T + W  ;
k   
R0 е kT

f 2 = R0 T  R0  T 2 − R0 W W 
R0 k .
 е kT 

(3)-теңдеудің түбірін еркімізше Т = (250  450)К аралығында іздейміз.

1) Түбірді оқшаулауға Python тілінде программа жазайық:
Python тіліндегі программасы

import math
R0=125; R1=5.86*10**-2; a=4*10**-3; W=4.8*10**-20; k=1.38*10**-
23;
T=250
while T<=450:

f1 = (R0 * a * T**2 * R1 - R0 * a * T * R1 * W / k) * (R0 *
a * T + R1 * math.exp(W / (k * T)));

f2 = R0 * a * T * R1 * (R0 * a * T**2 - R1 * math.exp(W / (k
* T)) * W / k);

print ('T=', T, 'K',' ', 'f1=', round(f1, 8), ' ','f2=',
round(f2, 8) )

T=T+10

Программалау нәтижесі:

T= 250 K f1= -1530634058.1546757 f2= -1645754319.927487
T= 260 K f1= -930698993.1864898 f2= -1002187062.4964329
T= 270 K f1= -588451622.239391 f2= -633971297.3955573
T= 280 K f1= -385441515.45566046 f2= -414869399.3406336
T= 290 K f1= -260758528.81923655 f2= -279834038.05546916
T= 300 K f1= -181762490.64964813 f2= -193937641.45622584
T= 310 K f1= -130300053.66731723 f2= -137715964.8451275
T= 320 K f1= -95929616.96564436 f2= -99951358.86559184
T= 330 K f1= -72459003.69214122 f2= -73978497.98079674
T= 340 K f1= -56112405.63335656 f2= -55725260.76166592
T= 350 K f1= -44528088.75579593 f2= -42639743.47960661
T= 360 K f1= -36193919.89172096 f2= -33084994.98129354
T= 370 K f1= -30120724.203216 f2= -25988209.47908551
T= 380 K f1= -25648485.63196516 f2= -20632261.8183943
T= 390 K f1= -22328680.27386547 f2= -16528939.95265378
T= 400 K f1= -19851291.82835954 f2= -13340194.74587421
T= 410 K f1= -17998635.44911337 f2= -10828240.51680237
T= 420 K f1= -16615599.21301287 f2= -8823348.90432784
T= 430 K f1= -15590133.64579419 f2= -7202702.49704489
T= 440 K f1= -14840253.22736361 f2= -5876285.90391294
T= 450 K f1= -14305245.3907181 f2= -4777330.00748075

2) Түбірді дәлдікпен анықтауға Python тілінде программа жазайық:
Python тіліндегі программасы

164

import math
R0=125; R1=5.86*10**-2; a=4*10**-3; W=4.8*10**-20; k=1.38*10**-
23;
T=339
while T<=341:

f1 = (R0 * a * (T)**2 * R1 - R0 * a * T * R1 * W / k) * (R0
* a * T + R1 * math.exp(W / (k * T)));

f2 = R0 * a * T * R1 * (R0 * a * (T)**2 - R1 * math.exp(W /
(k * T)) * W / k);

print ('T=', T, 'K',' ', 'f1=', round(f1, 2), ' ','f2=',
round(f2, 2) )

T=T+0.1

Программалау нәтижесі:

T= 339 K f1= -57501834.37 f2= -57284584.28
T= 339.1 K f1= -57360726.12 f2= -57126302.14
T= 339.20000000000005 K f1= -57220104.1 f2= -56968547.62
T= 339.30000000000007 K f1= -57079966.41 f2= -56811318.67
T= 339.4000000000001 K f1= -56940311.16 f2= -56654613.23
T= 339.5000000000001 K f1= -56801136.45 f2= -56498429.27
T= 339.60000000000014 K f1= -56662440.41 f2= -56342764.75
T= 339.70000000000016 K f1= -56524221.16 f2= -56187617.65
T= 339.8000000000002 K f1= -56386476.85 f2= -56032985.95
T= 339.9000000000002 K f1= -56249205.63 f2= -55878867.66
T= 340.0000000000002 K f1= -56112405.63 f2= -55725260.76
T= 340.10000000000025 K f1= -55976075.04 f2= -55572163.28
T= 340.2000000000003 K f1= -55840212.01 f2= -55419573.24
T= 340.3000000000003 K f1= -55704814.73 f2= -55267488.66
T= 340.4000000000003 K f1= -55569881.38 f2= -55115907.58
T= 340.50000000000034 K f1= -55435410.16 f2= -54964828.05
T= 340.60000000000036 K f1= -55301399.27 f2= -54814248.13
T= 340.7000000000004 K f1= -55167846.93 f2= -54664165.87
T= 340.8000000000004 K f1= -55034751.34 f2= -54514579.36
T= 340.90000000000043 K f1= -54902110.73 f2= -54365486.67

3) R max анықтауға Python тілінде программа жазайық:
Python тіліндегі программасы

import math
R0=125; R1=5.86*10**-2; a=4*10**-3; W=4.8*10**-20; k=1.38*10**-
23;
T=339.9
Rmax=(R0*a*T*R1*math.exp(W/(k*T)))/(R0*a*T+R1*math.exp(W/(k*T)))
;
print ('T=', T, 'K',' ', 'Rmax=', round(Rmax, 8),'Ом' )

Программалау нәтижесі:

T= 339.9 K Rmax= 153.90101359 Ом

Өткізгіштерді параллель жалғаған кезде, оның жалпы немесе
эквивалентті кедергісінің шамасы азаятыны белгілі. Олай болса, металл
өткізгіш пен жартылай өткізгішті параллель жалғаған кезде, Т = 339,9 К

температурада эквивалентті кедергісінің ең үлкен мәні Rmax = 153,9 Ом -ға тең
болатынын есептедік.

165

Дәріс № 14. Спектрлік анализ (Фурье қатарына жіктеу)

Фурье теоремасына сәйкес функция мінезіне бір қатар шектеу берген
кезде Т периодты y(t) периодтық функциясы мына түрде, яғни фаза

бойынша бір-бірінен ығыстырылған және түрлі амплитудағы синусоидалар
(косинусоидалар) қосындысы түрінде (52, б – сурет) бейнеленуі мүмкін

a0  a0 
2 2 n=1
(an

n=1
 y(t)
= + cos n1t + bn sin n1t) = + An cos(n1t + n) . (4.8.1)

Бұл синусиодалардың жиіліктері ерікті емес, олар негізгі жиілікке
еселенген. Функцияның спектрі деп  = n1 жиіліктерге сәйкес келетін Аn

амплитудалар жиынтығын айтады. Спектр абцисса өсінде жиілік, ал
ордината өсінде тербеліс амплитудасы салынған график түрінде берілуі
мүмкін (52, в – сурет). Сонда an , bn және An , n коэффициенттері мына

формулалар бойынша табылады.

an= 2 T y(t) cos(n1t)dt; bn = 2 T y(t) sin( n1t)dt;
T 0 T 0

An = an2 + bn2 ; n = arctg(bn / an ) . (4.8.2)

Егер периодты әрқайсысының өлшемі t болатындай N бөлікке бөліп

және әрбір бөлікке период ішінде i нөмірді меншіктесек (53-сурет), онда
an , bn интегралдарын тік бұрыштар әдісімен жуықтап табуға болады:

166

 an2 N yi  2 ni  t; bn  2 N yi sin  2 ni  t;
N t i=1 cos  N  N t i=1  N  (4.8.3)

Айталық y(t) қисығы берілсін (52, а – суретті қараңыз). Спектрлік
анализ жасау қажет, яғни спектрді (52, в – сурет) немесе осы қисық құрылған
синусоидтың амплитудалары мен жиіліктерін (52, б – суретті қараңыз) табу
керек.

Екі жағдай болуы мүмкін:
1) y(t) функциясы аналитикалық, яғни формула түрінде берілуі мүмкін.
Онда осы формула бойынша t уақыттың әрбір мезетіндегі мәнін табу қажет;
2) y(t) 52, а – суреттегідей сандық немесе график түрінде берілуі
мүмкін. Одан нақты жағдайда уақыттың әрбір i − ші мезетінде келесі кестені
алуға болады:

i 1 2 3 4 5…

yi -0,6 -3 -4,6 -4 -2,5 …

1. Алғашқы жағдай үшін программалар 4.8.1 және 4.8.2 кестелерде
берілген.

N санын n -ге қарағанда көп үлкен етіп алу қажет. Басқаша жағдайда
жоғары гармониктер үшін n саны N -мен шамалас болған кезде, нәтижелер
дұрыс емес болады.

4.8.1 кесте
Аналитикалық түрде берілген периодты y(t) функциясына спектрлік анализ

жасауға арналған программа

167

4.8.2 кесте
Аналитикалық түрде берілген периодты y(t) функциясына спектрлік анализ

жасауға арналған «SPECAN» программа

168

Назар аудару керек, программалар физикада кездесетін периодты
сигналдың кез келген спектрін, кез келген периодты функциясын
айтарлықтай жылдам табуға мүмкіндік береді.

2. Кері есеп (синтез, кері фурье түрлендіру):

Айталық, синусоидтың жиынтығы, олардың жиіліктері, амплитудалары

және фазалары берілген, яғни спектр берілген. Қосынды қисықты табу қажет.

Бұл есеп оңай. Жауабын уақыттың берілген i − ші мезетіндегі әрбір
синусоиданың ауытқуларын қосу арқылы табамыз.

Мұндай есептің шешуге арналған программа 4.8.3 және 4.8.4

кестелерінде берілген, егер an , bn белгілі болса (54, а – сурет), онда функция
мына түрде берілген

y=a0 +  + cos n1t + bn sin n1t
2
an

n=1

Ал егер An , n белгілі болса (54, б – сурет), онда функция мына түрде
берілген

y= a0 + 
2
An cos(n1t + n )

n=1

Онда программаны құру қиын болмайды.

169

170

Практикалық жұмыс № 14. Спектрлік анализ теориясына түсініктеме

Берілгені: y(t) қисығы берілген:

 y(t) a0  a0  cos(t
= 2 + n=1 an cost + bn sin t ) = 2 + n=1 An + n) ,

мұндағы  = n1 және 1 = 2 .
T
Табу керек: А n − ?  n −?

Шешуі:

An = an2 + bn2 , n = arctg(bn / an ) ,

мұндағы

=an2 y(t) cos(n1t)dt, an = 2 N yi cos  2 ni  t;
T N t i=1  N 

=bn2 y (t ) sin(n1t )dt bn = 2 N yi sin  2 ni  t;
T N t i=1  N 

1t = 2 t = 2  it = 2 i ,
T N t N

мұндағы n − гармоника нөмірі (номер гармоники);

N = T − периодты бөлетін бөліктердің саны (N>>n) ( число участков, на
t

которые развивается период (N>>n);

an , bn интегралдарын тік бұрыштар әдісімен есептеуге арналған

формула:

an = 2 N yi cos 2 ni ;
N i=1 N

bn= 2 N yi sin 2 ni .
N i=1 N

Екі жағдай болуы мүмкін:

1) y(t) функциясы аналитикалық, яғни формула түрінде берілуі мүмкін.

Онда осы формула бойынша t уақыттың әрбір мезетіндегі мәнін табу қажет;

171

2) y(t) 52, а – суреттегідей сандық немесе график түрінде берілуі
мүмкін. Одан нақты жағдайда уақыттың әрбір i − ші мезетінде келесі кестені
алуға болады:

i 1 2 3 4 5…
yi -0,6 -3 -4,6 -4 -2,5 …

Python тілінде программа жазу үшін белгілеулер енгізейік:

аn = ai, bn = bi, An = An, n = fi.

Бұл программа бойынша 4 гармониканың біріншісінің a1, b1 және
A1, 1 мәндерін береді. 4 гармониканың мәндерін алу үшін цикл ішіне цикл
ұйымдастыру қажет.

Бұл программа бойынша 4 гармониканың біріншісінің a1, b1 және
A1, 1 мәндерін береді. 4 гармониканың мәндерін алу үшін цикл ішіне цикл
ұйымдастыру қажет.

Python тіліндегі программасы

import math
print('Спектрлік анализ есебі Python тілінде')
n=4; N1=10;
(print('число гармоник n=', n ))
(print('число участков N=', N1 ))
for i in range(1,10):

yi=(math.sin((2*math.pi)//N1))**2
ai=ai+(2/N1)*yi*cos(2*math.pi*n*i/N1)
bi =bi + (2/N1)*yi *sin(2*math.pi*n *i/N1)
An=math.sqrt((ai**2)+(bi)**2)
fi=math.atan(bi/ai)
print('ai=', round(ai, 14), ' ','bi=', round(bi, 14),'
','An=', round(An, 14),' ', 'fi=', round(fi, 14))

Программалау нәтижесі:

число гармоник n=4
число участков N=10
ai=-0.000141798384 bi=0.000002088520 An=0.000141813764 fi=-0.014727738116
ai=-0.000283596768 bi=0.000004177041 An=0.000283627528 fi=-0.014727738116
ai=-0.000425395152 bi=0.000006265561 An=0.000425441291 fi=-0.014727738116
ai=-0.000567193536 bi=0.000008354082 An=0.000567255055 fi=-0.014727738116

Зертханалық сабақ № 14. Спектрлік анализ есептеріне график құру
2.7.6. Спектрлік анализ. Спектрлік анализге арналған программаның
жұмыс жасау қабілетін тексеру үшін мысал қарастырайық:

y = 3sin t + cos 3 t функциясының графигін табыңыздар, мұндағы

 = 17,1 c−1. y(t) функциясының графигін дисплей экранында бейнелеңдер.
Өздерің кез келген периодты функцияны беріп және оның спектрін табыңдар.

172

Python тіліндегі программасы

import math
print('Спектрлік анализ есебі Python тілінде')
ai=0; bi=0
n=int(input((print('число гармоник n=', ))))
N1=int(input((print('число участков N=', ))))
for i in range(1,10):

yi=3*(math.sin((2*math.pi)//N1))+math.cos((math.pi*6*i)/N1)
ai=ai+(2/N1)*yi*math.cos(2*math.pi*n*i/N1)
bi =bi + (2/N1)*yi *math.sin(2*math.pi*n *i/N1)
An=math.sqrt((ai**2)+(bi)**2)
fi=math.atan(bi/ai)
print('ai=', round(ai, 14), ' ', 'bi=', round(bi, 14), '
', 'An=', round(An, 14), ' ', 'fi=',

round(fi, 14))

Программалау нәтижесі:
Спектрлік анализ есебі Python тілінде

число гармоник n=

None2

число участков N=

None20

ai= 0.04755282581476 bi= 0.03454915028125 An=

0.05877852522925 fi= 0.62831853071796

ai= 0.03800367553351 bi= 0.00515988766663 An= 0.0383523636141

fi= 0.13494819219569

ai= 0.06739293814813 bi= -0.08529096205212 An=

0.10870306490625 fi= -0.9020883533496

ai= 0.13284378786688 bi= -0.13284378786688 An=

0.18786948647835 fi= -0.78539816339745

ai= 0.13284378786688 bi= -0.13284378786688 An=

0.18786948647835 fi= -0.78539816339745

ai= 0.06739293814813 bi= -0.18039661368163 An=

0.19257400224339 fi= -1.21326936312824

ai= 0.03800367553351 bi= -0.27084746340038 An=

0.27350069064717 fi= -1.43139249061994

ai= 0.04755282581476 bi= -0.300236726015 An= 0.30397921457096

fi= -1.41371669411541

ai= 0.0 bi= -0.26568757573375 An= 0.26568757573375 fi= -

1.5707963267949

173

Дәріс № 15. Бір өлшемді және екі өлшемді қозғалыстың динамикасы

2.4. Бір өлшемді және екі өлшемді қозғалыстың динамикасы
(Бурсиан Э.В. 9 бет.)

1. Ньютонның екінші заңына сәйкес қозғалыстың теңдеуін жазамыз:

m d = m d2x = F (мұнда m = const ) ( 2.4.1)
dt dt 2

Теңдеудің оң жағындағы күш (күштердің қосындысы) тұрақты немесе
координатаға, жылдамдыққа, уақытқа және т.б. тәуелді болады. Бұл
дифференциальдық теңдеу қарапайым жағдайда аналитикалық түрде оңай
шешіледі. Кез келген жағдайға жарамды жалпы сандық әдіс 4.6 және 4.7
бөлімдерде келтірілген. Онда айтылған ұсыныстарды қолдана отырып,
жуықтау теңдеулерін аламыз:

  F(x,,t...)t / m; n+1 = n + F (x,,t,...)t / m; (2.4.2)

x  t; xn+1 = xn + t. (2.4.3)

Егер t = 0 болған кездегі х0 , 0 алғашқы шарттар белгілі болса, онда

(2.4.2), (2.4.3) формулалары t уақыттан кейін х1, 1, одан кейін t

уақыттан кейін х2 , 2 және т.с.с. қандай болатынын табуға мүмкіндік береді.

Осы кезде әрбір келесі хn+1, n+1 жұп мәндері үшін уақыт мынаған тең:

tn+1 = tn + t. (2.4.4)

Әрине, бұл процесс өте ұзақ ( t уақыт аралығы жеткілікті түрде аз болу

қажет) және біркелкі операциялардың үлкен санын тез орындауға қабілетті
есептеу техникасынсыз есептеу мүлде мүмкін емес. Қарапайым есептеу
құрылғысын қолдану, қызықты есептерді, мысалы жылдамдыққа тәуелді
үйкеліс күшін (тұтқыр үйкелісті) ескеретін есептерді, салыстырмалы түрде
оңай шешуге мүмкіндік береді. Жылдамдықтың аз мәндерінде бұл күш оған
пропорционал, үлкен жылдамдықтарда оған тәуелділігі арта түседі және де
жылдамдық артқан сайын, күш те артады (3-сурет). Сызықтық тәуелділіктен
ауытқуды куб мүшенің қосылуымен бейнелеуге болады:

Fтр = A + B3, (2.4.5)

(кейде Fтр = А + В2 + ... деп жазады, бірақ жылдамдықтың таңбасын

ауыстырған кезде екінші қосындының таңбасы өзгермейді, ал бұл шындыққа
сай келмейді, сондықтан Fтр үйкеліс күшін қатарға  − ның тақ

көрсеткіштерімен жіктеу қажет).
Бірқалыпты қозғалыс кезінде (2.4.1) теңдеудің сол бөлігі нөлге тең. Бұл

қарапайым алгебралық теңдеуге әкеледі. Егер теңдеудің көрсеткіші екеуден
көп болса, онда 4.4 бөлімде келтірілген ұсыныстарды қолдану қажет.

174

2. Тартылыс күші мынаған тең:

F = G m1m2 , (2.4.6)
r2
мұндағы

G = 6,7 10−11H  м2 / кг2.

3. Массасы айнымалы М дененің, мысалы, газы u жылдамдықпен
таусылатын және секундына  отыны шығындалатын ракетаның қозғалыс

теңдеуі:

M  +  t u = Ft, (2.4.7)

мұндағы F −сыртқы күш, мысалы тартылыс күші. Таңбалар ережесін сақтау
маңызды. Ол үшін х өсінің оң бағытын таңдап алып, қалған шамаларды

олардың бағытына: х өсінің бойымен немесе қарама-қарсы бағытталуына
байланысты оң немесе теріс деп есептеу қажет (4,а - суретте ракетаның үдеуі,
ал 4,б - суретте – оның тежелуі (ракета тежелген кезде өзінен газ бөліп
шығарады, нәтижесінде оның жылдамдығы кемиді) бейнеленген.

х(t) -ға қатысты Мещерский теңдеуі – бұл да екінші ретті дифференциальдық

теңдеу (  / t  d / dt = d 2x / dt 2 ) және 4.6 және 4.7 бөлімдерде келтірілген
әдістермен шешіледі.

Техникалық мазмұндағы есептерде (2.4.4, 2.4.6, 2.4.10 және басқалар)
мәліметтер СИ жүйесінде емес, практикада, дербес жағдайда транспортта
қолданылатын бірліктермен берілгенін назарға алу қажет. Сонымен,
локомативтың тарту күші және вагондар массасы барлық жерде тоннамен
берілген. Қозғалыс динамикасына арналған есептерді шығару барысында
қайда жерде масса, ал қай жерде күш екенін айыра білу қажет және есеп
шығарудың алдында барлық мәліметтерді СИ жүйесіне ауыстыру қажет

175

(күштің 1 тоннасы =9 800 Н, массаның 1 тоннасы =103 кг). Жер бетіндегі 1
тонна салмақ ( g = 9,8 м/c 2 болған кезде) массаның 1 тоннасына сәйкес келеді.

2.5. Екі өлшемді қозғалыстың динамикасы (Бурсиан Э.В. 14 бет.)

1. Екі өлшемді қозғалыс есебі шешімінің бір өлшемді қозғалыс есебінің
шешімінен түптеп келгенде айырмашылығы жоқ, егер тік бұрышты
координат жүйесі сәтті таңдалып және қозғалыс теңдеулері, 2.4 бөлімде

жасалғандай, дұрыс құрастырылған болса, мысалы, жылдамдыққа
пропорциональ үйкеліс күші жағдайында, алатынымыз

m d2x = Fx − A dx ; m d2y = Fy − A dy . (2.5.1)
dt 2 dt dt 2 dt

Бұл дифференциальдық теңдеулердің шешімі дәл 2.4 бөлімдегідей, 4.6 және

4.7 бөлімдерде келтірілген тәсілдерді қолданып, жүргізіледі.

2. Тартатын массалардың жанындағы космостық траекториялар үшін

F = G mM ; Fx = a − x ; Fy = p − y , (2.5.2)
r2 Fr Fr

r2 = (a − x)2 + ( p − y)2; G = 6,67 10−11H  м2 / кг2.

а арақашықтық пен р нысаналық арақашықтықтың мағынасын 6-сурет

көрсетеді. Космостық траекторияларды модельдеу теориялық механиканың

әдістерімен мүмкін болады. Мысалы, дене орталық күштің өрісінде эллипс,
парабола немесе гипербола бойынша қозғалсын және алғашқы шарттары бар
болса олардың параметрлерін (полярлық координаталар қолданған ыңғайлы)
есептеуге болатыны белгілі. Бірақ та, математикалық анализ және
аналитикалық геометрия меңгергенмен тек қарапайым мысалы, үйкеліссіз,
есептерді ғана шығара аламыз. Осы жерде баяндалған әдіс егер күштің

шамасы белгілі болып немесе оны қалай да есептеуге болатын болса, онда
кез келген күштің әсерінен қозғалатын кез келген қозғалыс үшін жарамды.

176

Практикалық сабақ №15. Анимация. Тұтқыр ортада қозғалған
денеге әсер ететін күштер

Тұтқыр сұйық ішінде қозғалған денеге үш күш әсер етеді:

- Төмен қарай бағытталған ауырлық күші P = mg .

- Жоғары қарай бағытталған Архимед күші Fарх = сVс g .

- Жоғары қарай бағытталған тұтқыр сұйықтың кедергі күші Fc = 6 r .
Енді Ньютонның ІІ – заңын жазайық:

F = m a немесе Р + Fарх + Fc = ma . (1)
OY өсін төмен бағыттап, проекцияласақ

OY: m g − сVс g − 6 r = m a (2)

Тұтқыр ортаға түскен дене бастапқыда үдемелі қозғалады да, сәлден

кейін дене жылдамдығы тұрақталып, бірқалыпты қозғалады, яғни  = const ,
олай болса a = d = 0, сонда (2)-теңдеуден

dt
m g − сVс g − 6 r = 0 .

мұндағы m = шVш = ш 4r3 - шариктің массасы.
3

ш 4  r3g − сш 4  r3g = 6 r ,
3 3

4  r 3 g ( ш − c ) 2r 2 g ( ш
3
 = = − c ) .

6 r 9

Python тіліндегі программасы

from tkinter import *
import time
TIMEOUT = 1000
LIMIT = 1910
#окно создавать
root = Tk()
canv = Canvas(root, width=620, height=620, bg="white")

177

#есептің сызбасын салу
canv.create_oval(250, 150,250+150,150+50,outline='blue',width=2)
canv.create_rectangle(250,250,200+200,225+200,outline='blue',wid
th=2,fill='blue')
canv.create_oval(250,
225,250+150,225+50,outline='black',fill='blue',width=2)
canv.create_line(250,170,250,250,fill='blue',width=2)
canv.create_line(250+150,170,250+150,250,fill='blue',width=2)
canv.create_oval(250,
400,250+150,400+50,outline='blue',fill='blue',width=2)
canv.create_text(350,20,text='Тұтқыр ортада қозғалған
дене',font=('Times', 14))
#Доптың қозғалысы
ball1 = canv.create_oval(300,50, 350, 100, fill='yellow')
def coord(i):

x = float(0.03 * i)
y = x+1
x = 325 + 10 * x
y = 325 + 10 * y
return x, y
def move(i):
i = i + 10
x, y = coord(i)
canv.coords(ball1, x - 25, y - 25, x + 25, y + 25)
if i <= 80:

root.after(TIMEOUT, lambda: move(i))
# Доптың қозғалсы
x, y = coord(0)
root.after(TIMEOUT, lambda: move(0))
canv.pack()
root.mainloop()

Программалау нәтижесі:

178

Зертханалық сабақ № 15. Май ішінде шариктің құлауы

2.4.7. Май ішінде шариктің құлауы (Бурсиан Э.В.). Массасы

m = 2,2 г және радиусы r = 4,1 мм шарик кедергі күші 6 r - ға тең май

ішінде құлайды, мұндағы  = 0,95 кг/(м  с)- сұйықтың, яғни майдың

тұтқырлық коэффициенті, ал  − шариктің жылдамдығы. Жылдамдықтың,
үдеудің және жолдың шариктің құлау уақытына тәуелділігін табыңыздар.

Жауабы: (Брусиан Э.В. 118-119 бет)

m d2x = F − A dx (5.19)
dt 2 dt

қозғалыс теңдеуі екінші ретті дифференциальдық теңдеу болып табылады.

Теңдеуді шешудің жалпы тәсілдері 4.6 және 4.7 бөлімдерде берілген.

Теңдеуімізді екі бірінші ретті дифференциальдық теңдеулерге келтіреміз:

dx = ; d = Fт − A  (5.20)
dt dt m m

Осыдан сандық шешімге жарамды жуықтау қатынастары алынады:

xn+1 = xn + nt; n+1 = n + Fт − An t . (5.21)
m

(5.21) формуладағы FT ретінде mg ауырлық күшін алып және одан

Архимед күшін азайтамыз:

Fт = mg − cyVg = g(m − cy 4 r3 ) (5.22)
3

мұндағы Vш − шариктің көлемі, су −судың тығыздығы, ал А ретінде 6 r

деп аламыз.
Әрі қарай тұрақталған бірқалыпты қозғалыстың жылдамдығы мына

қатынастан табуға болады

4 r3 g(ш − с ) = 6 r,
3

Осы формуладан  ~ r 2 . Радиусты 3 есе арттырсақ жылдамдық 10 есеге, ал
(2.4.5) формуладағы бірінші және екінші мүшелері арасындағы қатынас – 100
есеге артады. Олай болса екінші мүшені аластатуға болмайды. Сондықтан

белгілі «Стокс әдісі» атты зертханалық жұмысты тек кішкентай шариктермен
немесе тығыздығы өте аз шариктермен, яғни шекті аз жылдамдықты қолдану
арқылы орындалуға тиіс.

2.4.7. Май ішінде шариктің құлауы есебіне Python тілінде программа
жазайық:

Python тіліндегі программасы

import math
m=2.2*10**-3; r=4.1*10**-3;
etta=0.95; g=9.8; p=1000;

x=0; v=0; t=0; i=1
F=g*(m-(p*4*math.pi*r**3)/3)
A=6*math.pi*r*etta
while t<=0.025:

179

v1=v

v=v+((F-A*v)/m)*t

v2=v

a1=(v2-v1)*1000/i

i=i+1

x=x+v*t

print ('t=', round(t,4),'c ','x=',round(t,4),'м

','v=',round(v,4),'м/c',' ','a=',round(a1,4),'м/c^2' )

t=t+0.001

Программалау нәтижесі
t= 0 c x= 0 м v= 0.0 м/c a= 0.0 м/c^2

t= 0.001 c x= 0.001 м v= 0.0085 м/c a= 4.257 м/c^2

t= 0.002 c x= 0.002 м v= 0.025 м/c a= 5.4866 м/c^2

t= 0.003 c x= 0.003 м v= 0.048 м/c a= 5.7604 м/c^2

t= 0.004 c x= 0.004 м v= 0.0757 м/c a= 5.5293 м/c^2

t= 0.005 c x= 0.005 м v= 0.1056 м/c a= 4.9908 м/c^2

t= 0.006 c x= 0.006 м v= 0.1355 м/c a= 4.2768 м/c^2

t= 0.007 c x= 0.007 м v= 0.1635 м/c a= 3.4917 м/c^2

t= 0.008 c x= 0.008 м v= 0.1879 м/c a= 2.7185 м/c^2

t= 0.009 c x= 0.009 м v= 0.2081 м/c a= 2.0176 м/c^2

t= 0.01 c x= 0.01 м v= 0.2238 м/c a= 1.4259 м/c^2

t= 0.011 c x= 0.011 м v= 0.2353 м/c a= 0.958 м/c^2

t= 0.012 c x= 0.012 м v= 0.2432 м/c a= 0.6105 м/c^2

t= 0.013 c x= 0.013 м v= 0.2484 м/c a= 0.3682 м/c^2

t= 0.014 c x= 0.014 м v= 0.2515 м/c a= 0.2095 м/c^2

t= 0.015 c x= 0.015 м v= 0.2533 м/c a= 0.1121 м/c^2

t= 0.016 c x= 0.016 м v= 0.2543 м/c a= 0.0562 м/c^2

t= 0.017 c x= 0.017 м v= 0.2548 м/c a= 0.0263 м/c^2

t= 0.018 c x= 0.018 м v= 0.255 м/c a= 0.0114 м/c^2

t= 0.019 c x= 0.019 м v= 0.2551 м/c a= 0.0046 м/c^2

t= 0.02 c x= 0.02 м v= 0.2551 м/c a= 0.0017 м/c^2

t= 0.021 c x= 0.021 м v= 0.2551 м/c a= 0.0006 м/c^2

t= 0.022 c x= 0.022 м v= 0.2551 м/c a= 0.0002 м/c^2

t= 0.023 c x= 0.023 м v= 0.2551 м/c a= 0.0 м/c^2

t= 0.024 c x= 0.024 м v= 0.2551 м/c a= 0.0 м/c^2

Есептеу нәтижелерінен көрініп тұрғандай, алғашқыда шарикті тұтқыр
ортаға тастаған кезде қозғалыс үдемелі болады. Тұтқыр ортаның кедергі
күшіне тап болған шариктің қозғалысы біршама t = 0,020 секунд уақыттан

кейін жүрген жолы х = 4,833 см, ал жылдамдығы  = 0,259 м/с болғанда

қозғалыс тұрақталып, үдеуі нөлге тең болып, шарик бірқалыпты қозғала
бастайды.

Май ішінде шариктің құлауы есебіне Python программасында анимация
жасалды. Онда май ішінде құлаған шарикке әсер ететін күштер және үдемелі
қозғалыстың бірқалыпты қозғалысқа айналғаны көрсетілген.

180

ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ

1. Python https://ru.wikipedia.org/wiki/Python/
2. История языка Python https://it-black.ru/istoriya-yazyka-python/
3. Қадырқұлов Р.А., Нұрмұханбетова Г.К. Информатика. Жалпы білім
беретін мектептің 6-сынып оқушыларына арналған оқулық / Р.А.Қадырқұлов,
Г.К. Нұрмұханбетова. –Алматы: «Алматы кітап баспасы», 2020. -136 бет. (73-
74-бет). https://www.almatykitap.kz/catalog/informatika-6-synyp-oushylaryna-

arnalan-ouly-15928/
4. Сысоева М.В., Сысоев И.В. Программирование для .нормальных. с

нуля на языке Python: Учебник. В двух частях. Часть 1 / Ответственный
редактор: В.Л.Черный. – М.: Базальт СПО; МАКС Пресс, 2018. – 176 с. Сайт
книги: http://www.altlinux.org/Books:Python-sysoeva

5. Васильев А. Н. Python на примерах. Практический курс ·по
программированию. – СПб.: Наука и Техника, 2016. – 432 с.

6. Прохоренок Н.А. Дронов В.А. Python 3. Самое необходимое. –2-е
изд., перераб. и доп. – СПб.:БХВ-Петербург, 2019. –608 с.

7. Python 3.8 – Новые возможности языка программирования

https://python-scripts.com/python-3-8-version
8. Стандартные библиотеки Рython https://losst.ru/standartnye-biblioteki-

python
9. Топ-10 основных библиотек на Рython

https://zen.yandex.ru/media/itgap/top10-osnovnyh-bibliotek-na-python-

5db2a6823f548700ac5b1908
10. Мэтиз Эрик. Изучаем Python: программирование игр, визуализация

данных, веб-приложения. 3-е изд. — СПб.: Питер, 2020. — 512 с. (Серия
«Библиотека программиста»)

11. Бурсиан Э.В. Задачи по физике для компьютера. Учеб. пособие для
физ. -мат. фак. пед. ин-тов. – М.: Просвещение, 1991. – 256 с.

12. Задача по физике https://www.liveexpert.ru/topic/view/128403-zadacha-
po-fizike Онлайн консультация экспертов

13. Функция range() в Python. Цикл // https://python-scripts.com/range
14. Графический интерфейс Python с Tkinter //

https://coderslegacy.com/python/python-gui/
15. Модули Tkinter // http://docs.python.org/library/tkinter.html
16. Гэддис Т. Начинаем программировать на Python. – 4-е изд.: Пер. с

англ. – СПб.: БХВ-Петербург, 2019. – 768 с.
17. Цветной вывод текста в Python // https://all-python.ru/osnovy/tsvetnoj-

vyvod-teksta.html
18. Руководство по глобальным переменным //

https://pythonru.com/osnovy/globalnye-peremennye-python
19. Майер Р.В. Компьютерное моделирование физических явлений:

Монография. – Глазов: ГГПИ, 2009. – 112 с.
20. Гулд Х., Тобочник Я. Компьютерное моделирование в физике. 1 том.

181

М.: Мир, 1990. – 350 с. Файл формата PDF размером 6,97 МБ.
21. Гулд Х., Тобочник Я. Компьютерное моделирование в физике. 2 том.

М.: Мир, 1990. – 400 с. Файл формата PDF размером 8,52 МБ.
22. Волькенштейн В.С. Жалпы физика курсы бойынша есептер жинағы.

Алматы, 2004 ж.

182


Click to View FlipBook Version