Система бо матритса
Системаи
дар шакли матритсавӣ: – коэффитсиентҳои тарафи чап (ҳар сатр – як муодила), – ададҳои озоди тарафи рост. номаълумҳоро якбора медиҳад.
1 соат
Системаи
дар шакли матритсавӣ: – коэффитсиентҳои тарафи чап (ҳар сатр – як муодила), – ададҳои озоди тарафи рост. номаълумҳоро якбора медиҳад.
np.linalg.solve(A, B)Дар кор ҳалли аналитикӣ: муодилаи якумро ба ва дуюмро ба 2 зарб мекунем:
Ҷамъ мекунем: , . Ба муодилаи дуюм мегузорем: , , . Ҷавоб: , .
Мисоли 1. Системаи боло бо барнома.
Натиҷа:
Қимати x ва y бо хатои хурди ададҳои ҳақиқӣ ( ба ҷойи 4) чоп мешавад – ин хусусияти ададҳои ҳақиқӣ аст. Хати охирин санҷиш: np.dot(A, X) – ҳосили зарби матритсаро ба медиҳад; ба баробар аст.
zip(X, ['x =', 'y =']) ҳар як қимати -ро бо номаш ҷуфт мекунад ва даври for ҷуфтҳоро мегузаронад.
Мисоли 2. , .
Натиҷа:
Санҷиш: ва .
Се номаълум. Ҳамон solve барои матритсаи низ кор мекунад: , , .
Натиҷа:
Ҳал: , , .
np.linalg.solve танҳо барои матритсаи квадратӣ () кор мекунад. Агар муодилаҳо ва номаълумҳо баробар набошанд, LinAlgError меояд:
Натиҷа:
1. Барои ҳалли системаи муодилаҳои хаттӣ дар Python кадом китобхонаи функсияҳо пешбинӣ шудааст?
2. Китобхонаи numpy-ро чӣ тавр дар компютер насб кардан мумкин аст?
3. Вазифаи фармони pip install numpy аз чӣ иборат аст?
4. Функсияи linalg.solve() кадом амалҳоро иҷро мекунад?
5. Ҷадвалҳои ададӣ бо андозаи чиро ифода мекунанд?
6. Кай Python хатои LinAlgError-ро нишон медиҳад?
7. Вазифаи A = np.array([[2, -3], [3, 7]]) аз чӣ иборат аст? Ададҳои дохили қавсҳои росткунҷа чиро ифода мекунанд?
8. Функсияи numpy.linalg барои иҷрои кадом амалҳо пешбинӣ шудааст?
9. Вазифаи функсияи zip() дар барнома аз чӣ иборат аст?
10. Кадом реҷаи кори Python барои барномасозии системаҳои муодилаҳои хаттӣ созгортар аст – интерактивӣ ё скрипт?
11. Бо таҳлили барномаҳои овардашуда усулҳои барномасозии системаи муодилаҳои хаттиро фаҳмонед.
12. Барномаҳои мавзуъро дар компютер иҷро кунед.
13. Бо усули барномасозӣ системаҳои зеринро ҳал кунед ва натиҷаро чоп кунед:
а) б)
A – коэффитсиентҳо (сатр = муодила), B – ададҳои озод; X = np.linalg.solve(A, B).LinAlgError.np.linalg.solve ҳал мекунед;LinAlgError меояд.zip([1, 2], ['a', 'b'])?import numpy as np?np ворид мекунад.Агар сатрҳои ба ҳам мутаносиб бошанд (масалан, ва ), система ё ҳал надорад ё беохир ҳал дорад. Дар Python-и оддӣ дар ин ҳол медиҳад; дар лабораторияи ин курс ба ҷойи хато меояд – ин хусусияти лаборатория аст. Дар ҳар сурат ҷавобро бо ҷойгузорӣ санҷед.
numpy бор мешавад (≈ 3 МБ).solve ва чопро менависед. Супориши 3а ва 3б-ро санҷед.LinAlgError-ро бинед.Кадомашро аллакай метавонед ва кадомашро боз машқ мекунед?
np.linalg.solve ҳал мекунам.Нависед: дар кадом ҳолат системаи ду муодила ҳалли ягона надорад?
Санҷиш: , дар чӣ медиҳад?
Системаи , : матритсаи коэффитсиентҳо дар Python чист?
Барои ҳамин система (тарафи рости муодилаҳо) кадом аст?
X = np.linalg.solve(A, B) чиро медиҳад?
Чӣ чоп мешавад? (↵ – гузариш ба сатри нав.)
np.linalg.solve(A, B) кай LinAlgError медиҳад?
solveLinAlgError: Singular matrix[nan nan]x = 4.000000000000001
y = -1.0000000000000002
[11. 5.]
x = 1.0
y = 2.0
[ 5. 3. -2.]
Хато дар сатри 4: Ҳангоми иҷро хато
рух дод.
numpy.linalg.LinAlgError: Last 2
dimensions of the array must be
square
import numpy as np
A = np.array([[2, -3], [3, 7]])
B = np.array([11, 5])
X = np.linalg.solve(A, B)
for t, nom in zip(X, ['x =', 'y =']):
print(nom, t)
print(np.dot(A, X))
import numpy as np
A = np.array([[1, -7], [2, -1]])
B = np.array([-13, 0])
X = np.linalg.solve(A, B)
for t, nom in zip(X, ['x =', 'y =']):
print(nom, t)
import numpy as np
A = np.array([[1, 1, 1],
[0, 2, 5],
[2, 5, -1]])
B = np.array([6, -4, 27])
print(np.linalg.solve(A, B))
import numpy as np
A = np.array([[1, 2, 3], [4, 5, 6]])
B = np.array([1, 2])
X = np.linalg.solve(A, B)
print(X)
x = 4
y = -1
print(3 * x + 7 * y)
for t, nom in zip([4, -1], ['x', 'y']):
print(nom, t)