Өмнө нь Python хэлийг ашиглан инженерийн нарийн тооцоог маш
хурдан, амархан гүйцэтгэх боломжтой гэдгийг хэлсэн билээ. Python хэлний инженерийн маш
олон бэлэн сангууд байдаг бөгөөд эдгээрээс хамгийн хүчирхэг өргөн хэрэглэгддэг нь
numpy, pandas, scipy
юм.
Өнөөдөр техник, сансар судлал, физикийн салбарт ажиллаж буй
инженерүүд
Python хэлийг өөрсдийн үйл
ажиллагаанд өргөн хэрэглэж байна.
Өмнөх блогт тайлбарласан баяжуулалтын энгийн схемийг “хамгийн их үнэмшлийн аргаар” сорьцлолтын алдаа
хамгийн бага байх зарчмыг ашиглан Python
хэлны
цөөхөн код бичиж тооцоолох аргыг өмнө нь үзсэн жишээн (2019/01/12-ны пост) дээр үзүүлэв..
Технологийн схемийг болох “хамгийн их үнэмшлийн арга ” нь дараах матрицан системийг бодоход оршино.
G=(XT X)-1 (XTY)
Программын код:
# Баяжуулалтын схемийн тооцоо. Python 3.7. Инженерийн тооцооны Numpy сан
# Г.Даваацэрэн
import numpy as np
# Схемийн матриц ба сорьцлолтын агуулгууд
m=np.array([[1,1,0,-1,-1,0,1],
[-1,0,1,1,0,0,0],
[0,-1,0,0,1,1,0]],float)
cu=np.array([12.6, 0.0567, 17.0, 1.195, 0.55, 0.0062,0.457],float)
mo=np.array([0.375, 0.0041,0.2775, 0.5266, 0.041,0.0041,0.016],float)
#------------------------------------------------------------------
bcu=m*cu
bmo=m*mo
#------- Математикийн "хамгийн vнэмшилтэй аргыг" хэрэглэн гарцыг олно
b=np.insert(m,[3],bcu,axis=0)
b=np.insert(b,[6],bmo,axis=0)
X=b[:9,:6]
X0=b[:,6]
XT=X.transpose()
X1=np.dot(XT,X)
X1=np.linalg.inv(X1)
X2=np.dot(XT,X0)
Y=np.round(100*(np.dot(X1,X2)),2)
# Гарцыг хэвлэж байна.
print('Гарц : ',Y)
Бодолтын хариу᠄
Гарц: [ 3.65 106.95 2.65 0.79 9.82 97.13]