목록분류 전체보기 (192)
완숙의 블로그
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bNB3ja/btqv4s7SweY/3zllxbeKszytF3TkUrFjjk/img.png)
Static Binding (정적 바인딩) #include #include #include using namespace std; class Base{ public: void f(){cout
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dQZSbV/btqv5Xe0V1f/e22y1HOcxfo99JRuADiquk/img.png)
문제 inputdata1.csv 와 inputdata2.csv 를 입력으로 받아서 sample.csv와 같은 형태로 결과를 만드는 프로그램을 작성해라. myFile 클래스를 만들어서 풀이해라. inputdata1.csv ID,Name 20190001,Apple 20190003,Pear 20190002,Orange inputdata2.csv ID,Class1,Class2,Class3 20190003,90,90,98 20190002,45,12,37 20190009,10,10,10 20190001,89,92,35 sample.csv ID,Name,Course 1,Course 2,Course 3,Average 20190001,Apple,89,92,35,72 20190002,Orange,45,12,37,31 20..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/mYkag/btqv7PtjkHa/6MsqislCsDHCsqve2LZOdK/img.png)
Class 클래스는 c++에서 자세히 다뤘으므로, 해당 내용에 대해 파이썬 문법만 알아보도록 하자. __init__, constructor class Student: def __init__(self, givenID, givenName): self.id = givenID self.name = givenName def setId(self, givenID): self.id = givenID def getId(self): return self.id def setName(self, givenName): self.name = givenName def getName(self): return self.name student1 = Student(20190001, "Harry Potter") student2 = Stude..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dqg0ZH/btqv7hYmDNn/3HxdiGz03BCLlAQqjKNU11/img.png)
지금까지 배운 데이터 타입은 정수, 실수, boolean, 문자열, list 였다. 그런데 정수, 실수는 단순한 데이터 타입이므로, 결국 여러 정보를 넣을 수 있는 것은 String, List이다. 그런데 String은 입력할 때에 숫자와 문자를 섞어 넣을 수 있지만, 요소에 접근해 수정할 수 없으므로 우리가 여러 정보를 넣어 처리할 수 있는 것은 리스트가 전부다. 그런데 파이썬은 목적에 맞는 다양한 데이터 타입을 제공한다. Summary Collection Mutable Ordered Duplication Notation Description Empty Collection string no yes yes [ ] "simple string" s = '' or s = "" list yes yes yes [..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/l6RwI/btqv4sfHyyf/OvvgU4oBljB44iFE2ZbkUk/img.png)
컴퓨터를 통한 문제 해결을 위해서 우리는 정수, 실수, 문자열 등을 프로그램 실행중에 만들어서 사용하였다. 하지만 실제 큰 프로그램들은 수시간 수년동안 쌓여진 데이터를 취급하는 목적으로 사용하며, 이 경우 컴퓨터의 전원이 꺼져도 유지되는 디스크의 화일 사용은 필수적이다. 파일 열기, 닫기 Python과 같은 프로그래밍 언어에서는 화일을 열고 닫는 문법을 제공하는데, 연 화일은 반드시 닫아야 한다. 열기만 하고 닫지 않은 화일은 프로그램의 동작시에 작업한 내용이 제대로 반영이 안되거나, 최악의 경우는 화일에 오류가 생겨서 사용이 불가할 수도 있다. Python에서 화일을 여는 문법은 open() 함수이다. 반대로 닫는 문법은 close() 함수이다. file = open('filename.csv&#..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/xura8/btqvi4kD3lM/s2J2qyJ25JCF27BhY5HHSK/img.png)
Newton Euler Equations Reference point(O^i) 가 강체 i 의 질량중심에 위치해 있다고 생각하자. M은 net Moment, J는 강체의 관성모멘트, F는 net force 이다. 따라서 2차원 공간에서 작용할 수 있는 3가지 자유도에 대한 힘과 모멘트는, 질량 중심에 작용하는 3가지 Term 으로 정리된다. D'Alembert's Principle 여기서 delta r 벡터는 Virtual displacement 라 한다. Virtual Displacement 이 항은 시스템의 무한히 작은 변화를 가정했을 때 변위를 의미한다. 즉, 시간이 constant 일 때, 계의 변위를 측정한 것이다. 우리는 이것을 가상 변위라 부르는데, 실제로 시간이 상수일 때, ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/3hNGd/btqvgHcVqnp/0QKT8gb3NAgkFv1YVOfyO0/img.png)
Computational Algorithm Step 1 특정 시간에 대해서 C 벡터 함수의 해를 추정한다. 즉 초기값을 설정한다. 이 추정치는 발산하지 않도록 잘 선택해야 한다. Step 2 이 추정치를 기반으로 자코비안 행렬 과 C 벡터함수의 해를 구한다. Step 3 를 계산한다. Step 4 를 계산한다. Step 5 Step 2 ~ Step 5 를 사용자가 지정한 임계치보다 작을 때 까지 반복한다. Step 6 속도 벡터를 구한다. Step 7 가속도 벡터 구하기 Step 8 Step 1 ~ Step 7 까지 다른 t를 설정한 뒤 반복한다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pxkGP/btqvibYRJfP/YR5E7kKV95a8RNp5EQzky1/img.png)
Tayler Series 테일러 급수는, 임의의 함수를 무한개의 다항식을 더하여 근사하는 방법이다. 보통 테일러 급수는 1차 함수로 근사할 때 많이 사용한다. Newton-Rahpson method 뉴턴 랍슨 메서드의 핵심은, iterative 접근이다. 1변수 함수에서 Newton-Rahpson method 다음과 같은 함수가 있다고 하자. 우리가 하고 싶은 것은 이 함수의 근 을 찾는 것이다. 그러기 위해서 테일러 시리즈를 사용해보자. 이 함수 f는 1차까지만 근사하면 다음과 같다. 이 때, 이 근사를 시작하는 점, a를 x_i로 주면, 그렇다면 이 x_i로 시작해서 이 함수를 근사했으므로, 근사한 식을 0으로 만드는 것이 답이다. 이 근사된 함수로 나온 solution을 x_(i+1) 이라 하자. ..