분류 전체보기
-
파이썬 | 조건문과 반복문(1): if, while, forProgramming/Python 2025. 4. 4. 18:00
1. 조건문 조건에 따라 실행하고자 하는 명령문이 다를 때 조건문을 사용한다. 비교 연산자나 논리 연산자를 이용해 조건들의 참과 거짓을 판별하고, 이에 따라 어떤 명령문을 실행할지 결정한다. 파이썬에서는 조건문으로 if문을 사용하며, 일반적인 형식은 아래 예시와 같다.number = input('정수값을 입력하세요: ')if number > 0: # 조건식1 print('입력한 값은 양의 정수입니다.') # 명령문1elif number if 명령문에 있는 조건식이 참이면 if 명령문 쌍점 아래로 들여쓰기가 되어 있는 명령문들이 실행되고 조건문을 종료한다. 조건식이 거짓이면 elif 명령문으로 넘어가 조건식을 판별한다. 해당 조건식이 참이면 elif 명령문 아래로 들여쓰기가 되어 있..
-
최적설계 | 비제약조건 문제 수치해법(3): 구간감소법Engineering/Optimum Design 2025. 3. 28. 18:00
1. 구간감소법 목적함수가 간단하면 최적성의 필요조건과 충분조건을 고려하여 이동거리를 해석적으로 결정할 수 있다. 그러나 대부분의 문제는 목적함수가 간단하지 않기 때문에 해석적 풀이가 어려우므로, 이동거리를 수치적으로 결정하는 방법들이 고안되었다. 이때 이동거리를 유일한 변수로 가지고 있는 함수가 일정 구간에서 하나의 최소값이 존재한다고 가정한다. 수치적 방법을 이용하는 구간감소법은 이동거리를 하나의 값이 아닌 불확실 구간으로 결정하며, 해당 구간의 길이가 허용오차보다 작아질 때까지 반복해서 줄여간다. 이는 불확실 구간에서 함수값을 계산하고, 해당 값들을 비교하여 최소값이 없는 구간을 제거함으로써 이루어진다. 불확실 구간의 길이가 허용오차보다 작아지면 상한과 하한의 평균값으로 이동거리를 결정한다. ..
-
최적설계 | 비제약조건 문제 수치해법(2): 공액경사법Engineering/Optimum Design 2025. 3. 21. 18:00
1. 공액경사법 공액경사법(conjugate gradient method)은 최속강하법의 수렴률을 개선한 방법으로, 연속된 두 단계에서 서로 직교하는 최속강하 방향들의 중앙을 가로지르도록 방향을 설정하여 최소점을 탐색한다. 공액경사법에서 탐색 방향은 아래와 같이 정의된다. 식을 살펴보면 이전 단계에서의 정보가 포함되어 있는 것을 알 수 있다. 이와 같이 공액경사법은 이전 단계에서의 경사도 벡터와 탐색 방향, 현재 단계에서의 경사도 벡터를 고려하여 탐색 방향을 결정한다. $$ \begin{align} \textbf{d}^{\left(k\right)} &= -\textbf{c}^{\left(k\right)} + \beta_{k} \textbf{d}^{\left(k-1\right)} \\\\ \beta_{..
-
최적설계 | 비제약조건 문제 수치해법(1): 최속강하법Engineering/Optimum Design 2025. 3. 14. 18:00
1. 경사도 기반 수치해법 비선형·비제약조건 최적설계문제는 해석적인 방법으로 다루기에는 다소 무리가 있어, 이를 풀기 위한 수치적 방법들이 개발되었다. 경사도 기반 수치해법은 이러한 문제를 다루는 수치적 방법들 중 가장 기본적인 방법으로, 초기 설계를 시작으로 최적성 조건을 만족할 때가지 동일한 계산을 되풀이하며 국소적 최소점을 탐색한다. 경사도 기반의 최적화 방법은 k+1번째 연산에서 아래와 같은 형식으로 기술된다. 아래와 같이 기술된 반복법은 최적성 조건들을 만족하거나 종료 판정 기준을 충족할 때까지 계속된다. 이 반복 방법은 비선형·비제약조건 문제뿐만 아니라 제약조건 문제에도 적용 가능하다. $$ \begin{align} \textbf{x}^\left( k + 1 \right) = \textb..
-
파이썬 | 복합자료형(2): 딕셔너리, 세트Programming/Python 2025. 3. 7. 18:00
1. 복합자료형 한 변수에 한 가지 값만을 저장할 수 있는 기본자료형에 비해, 복합자료형은 한 변수에 여러 가지의 값을 저장하고 다룰 수 있다. 이러한 복합자료형에는 리스트와 튜플, 딕셔너리, 세트가 있다. 이번 장에서는 딕셔너리와 세트에 대해 알아보자. 2. 딕셔너리 딕셔너리(dictionary, dict)는 키(key)와 매핑값(value)의 쌍으로 구성된 데이터를 순서 없이 참조하는 자료형이다. 중괄호 안에 키와 매핑값으로 연결된 객체를 쉼표로 구분하여 입력하는 것으로 딕셔너리를 생성할 수 있다. 이때 쌍점을 기준으로 왼쪽에는 키, 오른쪽에는 매핑값을 배치함으로써 하나의 쌍을 이룬다. 딕셔너리의 키는 중복을 허용하지 않으며, 수정 불가능한 자료형인 정수형, 실수형, 문자열, 튜플로만 키를 정..
-
파이썬 | 복합자료형(1): 리스트, 튜플Programming/Python 2025. 2. 28. 18:00
1. 복합자료형 한 변수에 한 가지 값만을 저장할 수 있는 기본자료형에 비해, 복합자료형은 한 변수에 여러 가지의 값을 저장하고 다룰 수 있다. 이러한 복합자료형에는 리스트와 튜플, 딕셔너리, 세트가 있다. 파이썬은 변수에 할당하는 값의 형태에 따라 변수의 복합자료형을 자동으로 할당한다. 이번 장에서는 리스트와 튜플을 먼저 살펴보자. 2. 리스트 리스트(list)는 순서가 있는 형태로 여러 개의 저장 공간을 참조한다. 대괄호 안에 객체를 쉼표로 구분하여 입력하는 것으로 리스트를 생성할 수 있다. 리스트는 어떠한 자료형도 담을 수 있으며, 따라서 기본자료형 외에도 복합자료형 또한 하나의 객체로 취급하여 아래 예시처럼 생성할 수 있다.a = [1, 2, 3, 4, 5]b = ['a', 'b', 'c'..
-
파이썬 | 변수와 기본자료형: 정수형, 실수형, 논리형, 문자열Programming/Python 2025. 2. 21. 18:00
1. 변수 변수는 컴퓨터 메모리에 있는 저장 공간을 참조하기 위해 사용하는 이름이다. 저장 공간에 이름을 붙인 뒤 원하는 값을 저장하거나 불러올 때 사용한다. 프로그래밍 언어에서는 저장 공간에 원하는 값을 저장할 때 등호 기호를 사용하는데, 이를 할당 연산자라고 부른다. 수학에서 등호는 양변에 있는 항이 같은 값을 갖는다는 의미로 사용되지만, 프로그래밍 언어에서는 좌변에 있는 변수에 우변에 있는 값을 할당한다는 의미로 사용된다.date = 250125time = '16:06'AMPM = 'PM' 변수에 할당하지 않고도 숫자나 문자열을 직접 연산할 수 있지만, 아래 예시처럼 변수에 값을 할당한 후 다른 숫자나 문자열과 함께 연산을 수행할 수 있다.date = 250125time = '16:06'A..
-
파이썬 | 기본 기능과 규칙Programming/Python 2025. 2. 14. 18:00
1. 출력 파이썬은 사용자가 연산 결과를 확인할 수 있도록 출력 기능을 제공한다. print 함수 내에 출력하고자 하는 바를 아래 예시와 같이 편집기 창에 입력하여 프로그램을 실행하면 셸 창에 출력된다. 화면에 숫자와 문자열을 출력하는 것 외에도 연산 결과를 파일의 형태로 출력할 수 있다.print(2025)print('Hello World!')print(1, 2, 3, 4, 5)print('a', 'b', 'c', 'd', 'e')print(1, 'A', 2, 'B', 3, 'C') 2. 연산 파이썬은 아래와 같이 숫자의 사칙연산과 두 가지 종류의 문자열 연산을 지원한다. 이때 문자열 연산에서 사용되는 더하기 연산자와 곱하기 연산자는 사칙연산에서 사용되는 연산자와 모양은 같지만 기능이 다르다는 ..