def main(): # 적분 구간 == 단면의 위 끝과 아래 끝 y_min = 0.0 y_max = 0.12 #적분 구간을 나눌 갯수 n = 120 # 단면의 면적을 1차 적분으로 구함 area = num_int.trapezoid1(f, y_min, y_max, n) moment_first = num_int.trapezoid1(g, y_min, y_max, n) centroid = moment_first / area print "area =", area print "moment =", moment_first print "centroid =", centroid y_list = pylab.arange(y_min, y_max, 1e-6) w_list = [f(y) for y in y_list] # 단면 표시 pylab.fill_between(y_list, w_list) # 도심 위치에 수직선 표시 pylab.axvline(x=centroid, c="r") # 가로축 세로축 비율을 같게 함 pylab.axis("equal") # 모눈 표시 pylab.grid() pylab.show()
def test_trapezoid(self): """ 1차 적분 함수를 검증 :return: """ # 함수의 정적분을 구함 result = num_int.trapezoid1(f, self.xi_rad, self.xe_rad, 360) self.assertAlmostEqual(self.expected, result, places=6)
def main(): y_min = 0.0 y_max = 0.12 n = 120 area = num_int.trapezoid1(f, y_min, y_max, n) moment_first = num_int.trapezoid1(g, y_min, y_max, n) centroid = moment_first / area print "area =", area print "moment =", moment_first print("centroid = %g" % centroid) y_list = pylab.arange(y_min, y_max, 1e-6) w_list = [f(y) for y in y_list] pylab.fill_between(y_list, w_list) pylab.axvline(x=centroid, c='r') pylab.axis('equal') pylab.grid() pylab.show()
def main(): # 적분 구간 == 단면의 위 끝과 아래 끝 y_min = 0.0 y_max = 0.12 # 적분 구간을 나눌 갯수 n = 120 # 도심 계산 시작 # 단면의 면적을 1차 적분으로 구함 area = num_int.trapezoid1(f, y_min, y_max, n) # 단면의 1차 모멘트를 1차 적분으로 구함 moment_first = num_int.trapezoid1(g, y_min, y_max, n) # 도심을 계산함 centroid = moment_first / area # 도심 계산 끝 # 결과 값 표시 print "area =", area print "moment =", moment_first print("centroid = %g" % centroid) # 그림 준비 시작 y_list = pylab.arange(y_min, y_max, 1e-6) w_list = [f(y) for y in y_list] # 단면 표시 pylab.fill_between(y_list, w_list) #도심 위치에 수직선 표시 axvline pylab.axvline(x=centroid, c='r') # 가로축 세로축 비율을 같게 함 pylab.axis('equal') # 모눈 표시 pylab.grid() # 그림 준비 끝 # 그림 표시 pylab.show()
def main(): # y_min = 0.0 y_max = 0.12 # n = 120 # # area = num_int.trapezoid1(f, y_min, y_max, n) # moment_first = num_int.trapezoid1(g, y_min, y_max, n) # centroid = moment_first / area # 도심 계산 끝 # 결과 값 표시 print "area =", area print "moment =", moment_first print("centroid = %g" % centroid) # 그림 준비 시작 y_list = pylab.arange(y_min, y_max, 1e-6) w_list = [f(y) for y in y_list] # 단면 표시 pylab.fill_between(y_list, w_list) # 도심 위치에 수직선 표시 pylab.axvline(x=centroid, c='r') # pylab.axis('equal') # pylab.grid() # # pylab.show()