반응형

전체 글 209

병합정렬 오류 해결

https://knowledgeforengineers.tistory.com/22 병합정렬 예제 #병합정렬 예제이다. #내가 먼저 만들어본 코드 오류가 있어서 잡아내야한다.... #문제가 있는 모듈 def mergesort(lst): l = int(len(lst)/2 - len(lst)%2) lst1 = lst[:l] lst2 = lst[l:] if l>1: mergesort(lst.. knowledgeforengineers.tistory.com 전에 병합정렬 예제를 올렸었다. 당시 내가 스스로 작성했던 소스코드가 이랬었다. def mergesort(lst): l = int(len(lst)/2 - len(lst)%2) lst1 = lst[:l] lst2 = lst[l:] if l>1: mergesort(l..

병합정렬 예제

#병합정렬 예제이다. #내가 먼저 만들어본 코드 오류가 있어서 잡아내야한다.... #문제가 있는 모듈 def mergesort(lst): l = int(len(lst)/2 - len(lst)%2) lst1 = lst[:l] lst2 = lst[l:] if l>1: mergesort(lst1) mergesort(lst2) return mergesort_sub(lst1, lst2) # 병합하는 모듈 def mergesort_sub(lst1, lst2): new_lst = [] n1 = len(lst1) n2 = len(lst2) i = 0 j = 0 while n1>0 and n2>0: if lst1[i] > lst2[j]: new_lst.append(lst2[j]) j += 1 n2 -= 1 else: n..

삽입정렬 예제

#삽입정렬 예제이다. #먼저 연습 def insert_sort(lst): l = len(lst) i = 0 lst_sort = [] lst_sort.append(lst[i]) for i in range(0,l): m = len(lst_sort) for j in range(0, m): if lst[i] < lst_sort[j]: lst_sort.insert(j, lst[i]) break #맨 뒤까지 다 찾아봤으나 안보이는 경우 맨 뒤에 쳐박아야한다. if (j == (m-1)) and (lst[i] not in lst_sort) : lst_sort.append(lst[i]) return lst_sort d = [3,1,5,2,4] print(insert_sort(d)) # 책에서 제시하는 삽입정렬 예시이다..

공업수학 요점정리 & 공업수학 문제 #4 - 오일러 상미분방정식(Euler's Differential Equation)

수식이 깨져서 보일 경우 PC 버전으로 봐주시길 바랍니다. 자세한 증명은 전공서나 강의를 참고하시길 바랍니다. 이전 글 : knowledgeforengineers.tistory.com/9?category=883600 공업수학 요점정리 & 공업수학 문제 #3 - 2차 상미분 방정식 (2st order Ordinary Differential Equation) 수식이 깨져서 나오면 PC버전으로 봐주세요. 증명은 생략하고 주요 사항만 정리하니, 증명은 대학 강의나 교재를 참고하길 바랍니다. 이어서 Non-Homogeneous Case의 경우는 $$y''+p(x)y'+q(x)y=f(x), f(x) \neq knowledgeforengineers.tistory.com 이전 글의 주제였던 2차 상미분 방정식 풀이에 ..

공업수학 요점정리 & 공업수학 문제 #3 - 2차 상미분 방정식 (2st order Ordinary Differential Equation)

수식이 깨져서 나오면 PC버전으로 봐주세요. 증명은 생략하고 주요 사항만 정리하니, 증명은 대학 강의나 교재를 참고하길 바랍니다. 이어서 Non-Homogeneous Case의 경우는 $$y''+p(x)y'+q(x)y=f(x), f(x) \neq 0$$ 인 경우를 얘기한다. 이때 Non-Homogeneous Case의 general solution는 다음과 같다. $$y(x)=c_1y_1+c_2y_2+Y_p(x)$$ 여기서 $c_1y_1 + c_2y_2$ 의 경우는 Non-Homogeneous case에서 \(f(x)=0\) 으로 두고 봤을 때(이를 associated homogeneous equation이라고 한다.) 그 식의 general solution이므로 공업수학 #2에서의 식을 이용해서 풀면 ..

공업수학 요점정리 & 공업수학 문제 #2 - 2차 상미분 방정식 (2st order Ordinary Differential Equation)

수식이 깨져서 나오면 PC버전으로 봐주세요. 증명은 생략하고 주요 사항만 정리하니, 증명은 대학 강의나 교재를 참고하길 바랍니다. 2차 선형미분방정식의 해법은 다음 세 가지 정도를 살펴보면 된다. 1. Homogeneous Case 2. Non-Homogeneous Case 3. Euler Differential Equation 1. Homogeneous Case의 general solution $$y''+p(x)y'+q(x)y=0$$ 형태로 우변이 0인 2차 미분방정식을 homogeneous 하다고 한다. 여기서 2차 미분방정식은 근이 $y_1, y_2$로 두 개가 나오는데, 서로 linearly independent하면 $c_1y_1 + c_2y_2$를 general solution으로 가진다. 이를..

공업수학 요점정리 & 공업수학 문제 #1 - 1차 상미분 방정식 (1st order Ordinary Differential Equation, 1st order ODE)

Ordinary Differential Equation은 번역하면 상미분 방정식이다. 보통 줄여서 ODE라고 표현하기도 한다. ODE는 방정식 중 도함수가 포함된 방정식을 말한다. 예를들면 $$y''+xy=0$$ 이런 것이다. 이번에는 그 중에서도 1차 상미분 방정식을 풀 것이다. 1차 상미분 방정식은 크게 4가지 풀이법으로 분류할 수 있다. 1. Separable Equation 2. Linear Equation 3. Exact Differential Equation 4. 기타... 제멋대로 분류하기는 했지만 경험상 가장 많이 사용하게 되는 풀이법 3개를 알아보도록 하자. Case1 : Separable Equation $y'=F(x)G(y)$형태로, 변수 분리해서, ${1 \over\ G(y)}dy=..

반응형