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


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

x0 = 1
# Epsilon qiymati
epsilon = 0.0001
# Iteratsiyalar soni
iterations = 0
# Tenglam yechimi
while True:
# Yangi taxmin hisoblanadi
x1 = f(x0)
# Yechimliroq bo'lish uchun epsilon ni qo'llab-quvvatlaymiz
if abs(x1 - x0) < epsilon:
break
# Natijani konsolga chiqaramiz
print("Iteration {}: x = {}".format(iterations, x1))
# Yangi taxminni o'zgartiramiz
x0 = x1
iterations += 1
return x1


# Funktsiyani tekshirish
print("f(1) = ", f(1))


# Tenglam yechimini topish
root = transzendental_tenglama_yechim()


# Natijani chiqarish
print("Tenglam yechimi:", root)


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 transsendent tenglamani Nyuton va Vatarlar usuli yordamida yechimini aniqlovchi dastur tuzing:
1. 2x3-2x-1=0


Ma'lumot uchun, transsendent tenglamalar (transcendental equations) boshqacha metoddan foydalanish kerak bo'ladi, chunki ular verguldan keyin qandaydir kutubdan ko'proq turishiga yo'l qo'yishadi. Nyuton usuli (Newton's method) esa bu xususiyatni hisoblash uchun yaxshi usul bo'lib, chunki uni qulay va aniqligi yuqori bo'lib chiqadi.


Dastur quyidagicha bo'ladi:


def f(x):
return 2*x**3 - 2*x - 1


def df(x):
return 6*x**2 - 2


def newton_method(x0, eps):

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