"Kompyuter injiniring" kafedrasi at-servis yo’nalishi 21-07 gurh talabasi Abdiqobilov Jamolning


= s-1/2-(1/3-1/2 + 1/4-1/3 + ... + 1/(n+1) - 1/n)


Download 63.82 Kb.
bet4/7
Sana19.06.2023
Hajmi63.82 Kb.
#1601158
1   2   3   4   5   6   7
Bog'liq
1-amaliy mashq

= s-1/2-(1/3-1/2 + 1/4-1/3 + ... + 1/(n+1) - 1/n)


= s-1/2 - 1/(n+1)


Keltirilgan shaklda bo'lgan yig'indining qiymati = s-1/2 - 1/(n+1).


2-topshiriq
Quyidagi masalalar uchun algoritm va dastur kodini yozing. Har bir talaba o’zining jurnaldagi raqami bo’yicha bittadan masalani yechadi. Masalalar kam bo’lganda sanoq tartib boshidan boshlanadi. Masalan, 20 masala bo’lsa, 21-o’rindagi talaba 1-masalani, 22-o’rindagi talaba 2-masalani yechadi.


Quyidagi funksiyani to’rtburchaklar, Trapetsiya va Simpson formulalari yordamida taqribiy hisoblash dasturini tuzing. Har bir talaba guruh jurnalidagi raqami bo’yicha bitta masala uchun dastur tuzadi.



Ma'lumot uchun, bu masalani to'g'ri hisoblash uchun antiderivativani topish juda qiyin ekanligi sababli, integralni yaxshi hisoblash uchun, Simpson formulasi va trapetsiya formulasi qo'llanadi. Dastur Quyidagicha bo'ladi:

# Trapetsiya formulasi
def trapezoid(a, b, n):
h = (b - a) / n
I = (math.sin(a)/(1+a**2) + math.sin(b)/(1+b**2))/2
for i in range(1, n):
x = a + i*h
I += math.sin(x)/(1+x**2)
return I*h

# Simpson formulasi
def simpson(a, b, n):
if n % 2 != 0:
raise ValueError("n katta bo'lishi kerak")
h = (b - a) / n
x_even = a + 2*h
x_odd = a + h
sum_even = 0
sum_odd = math.sin(x_odd)/(1+x_odd**2)
for i in range(1, int(n/2)):
x_odd += 2*h
x_even += 2*h
sum_odd += math.sin(x_odd)/(1+x_odd**2)
sum_even += math.sin(x_even)/(1+x_even**2)
I = (math.sin(a)/(1+a**2) + math.sin(b)/(1+b**2) + 4*sum_odd + 2*sum_even)/3
return I*h

# Integralni hisoblash

Download 63.82 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling