본문 바로가기
반응형

Python/python 응용: 수학 및 과학12

Matplotlib을 이용해서 다중 그래프 그리기: subplot 파이썬의 라이브러리 모듈인 Matplotlib에는 여러 쌍의 데이터 셋을 한 번에 그릴 수 있는 subplot 기능이 있습니다. 이 기능을 이용하면 여러 데이터를 하나의 그림 안에 시각화하여 비교할 수 있어 특히 공대생들에게 유용합니다. 이번 글에서는 subplot의 사용법을 알아보겠습니다. 1. Matplotlib의 subplot 함수 Matplotlib은 파이썬에서 그래프를 그리기 위한 라이브러리입니다. 여기에는 여러 종류의 그래프를 그리기 위한 다양한 함수와 클래스가 포함되어 있습니다. Matplotlib은 NumPy와 함께 사용되며, 데이터를 그래프로 시각화하는데 매우 유용합니다. 그리고 오늘의 주제인 subplot()은 Matplotlib에서 제공하는 함수 중 하나입니다. subplot() 함수.. 2023. 4. 27.
python append 메소드로 계산 결과 기록하기 컴퓨터 시뮬레이션이나 데이터 분석을 할 때 반복적인 계산을 해야 하는 경우가 많습니다. 그래서 계산 결과들을 기록해야 할 때도 있고요. python에서는 이런 경우 append 메소드를 써서 계산 결과들을 리스트 데이터 형태로 기록할 수 있습니다. append 메소드는 영어 뜻 그대로 리스트에 새로운 데이터를 추가할 수 있습니다. 이 글에서는 append 메소드를 예제들을 가지고 알아보겠습니다. 1. append의 기본적인 사용법 append 메소드는 다음과 같이 객체 뒤에 .append(데이터)를 붙이면 됩니다. eg_list = [] eg_list.append(1) eg_list.append(2) eg_list.append('3') print(eg_list) print(eg_list[0] + eg_l.. 2023. 4. 19.
함수의 경사도(gradient) 구하기 이번에는 함수의 경사도를 수치적으로 계산하는 python 코드를 만들어 보겠습니다. 이 코드에서는 수치 미분을 위해 중앙 차분 (미분값을 구하는 x의 전후의 차분, 즉 x − h와 x + h)을 이용합니다. 1. gradient 함수 만들기 먼저 만들어진 python 코드를 보겠습니다. import numpy as np def numerical_gradient(f, x): h = 1e-4 #차분(difference)의 크기 grad = np.zeros_like(x) for idx in range(x.size): tmp_value = x[idx] #계산을 위한 임시값 x[idx] = tmp_value + h fxh1 = f(x) x[idx] = tmp_value - h fxh2 = f(x) grad[idx.. 2023. 4. 18.
python에서 세 점으로 이뤄진 삼각형의 넓이 구하기 이번 포스팅은 세 점이 주어졌을 때, 그 세 점으로 이뤄진 삼각형의 넓이를 python에서 구해보겠습니다. 여기서는 NumPy 라이브러리의 행렬식을 구하는 함수를 이용할 것입니다. 1. Numpy linalg.det() 함수를 이용해 행렬식 구하기 linalg.det()는 NumPy 라이브러리에서 제공하는 함수로, 인자로 받은 2차원 배열의 행렬식을 계산하여 반환합니다. 행렬식은 선형대수학에서 배우는 개념 중 하나로, 정방행렬(square matrix)에서 정의됩니다. 행렬 $A$가 $n {\times} n$ 이면, 행렬식 det($A$)는 다음과 같이 여인수(cofactor)를 이용하여 계산합니다. det($A$) = $a_{11}C_{11}$ + $a_{12}C_{12}$ + ... + $a_{1n}.. 2023. 4. 14.
불리언 배열이 numpy.sum 함수에서 어떻게 더해지나? 불리언 배열은 참(True) 또는 거짓(False) 값을 가지는 1차원 배열입니다. 그리고 numpy.sum은 배열의 원소들을 더해주는 함수인데, 불리언 배열을 numpy.sum 함수에 인자로 전달하면 어떻게 될까요? 이번 글에서는 예제를 통해서 불리언의 수학적 연산에 대해 알아보겠습니다. 불리언에 대한 기본적인 내용은 아래 링크를 참조하세요. Python 기초: 불리언(Boolean)과 비교 연산자 Python 기초: 불리언(Boolean)과 비교 연산자 불리언은 참(True)과 거짓(False) 둘 중 하나의 값을 갖는 데이터 형태입니다. 비교 연산을 하여 참이면 True, 거짓이면 False의 불리언 값을 반환합니다. 이번 포스팅은 불리언과 비교 연산에 대해 알 er5030000.tistory.co.. 2023. 4. 13.
Python NumPy 배열 만들기: arange()와 linspace()의 차이 때로는 1부터 100까지 정수의 배열과 같이 많은 원소를 가지면서 규칙적으로 증가하는 배열이 필요할 수 있습니다. 이 경우 원소가 많기 때문에 일일이 입력하는 것은 번거로운 일입니다. 이럴 때 Python의 NumPy 모듈을 이용하여 원하는 배열을 만들 수 있습니다. 이번 포스팅은 NumPy의 arange()와 linspace() 함수들을 이용해서 배열을 만들어 보겠습니다. NumPy의 arange() & linspace()함수 Python의 NumPy모듈은 일정한 간격의 값들을 원소로 하는 배열을 만들 수 있는 함수들을 제공합니다. 첫 번째는 arange() 함수로 보통 다음과 같이 세 개의 인자를 입력합니다. import numpy as np ar = np.arange(0, 5, 1) 여기서 인자들은.. 2022. 12. 28.
Numpy 복소수 계산하기: 근의 공식 Python의 수치계산 모듈인 NumPy는 복소수 $i$를 $j$로 표현하여 계산할 수 있습니다. 하지만 NumPy의 루트 함수인 sqrt()에서 실제로 계산을 하다 음수가 나오면 에러가 발생하여 복소수를 계산하지 못하는데요. 이번 포스팅은 근에 공식을 예로 하여 NumPy에서 복소수를 계산하는 방법을 알아보겠습니다. 1. Python에서 복소수 i의 표현 복소수 $i$ = $\sqrt{-1}$은 파이썬에서는 $j$로 표현됩니다. 다음 예를 실행하면 결과가 “(-1+0$j$)”로 나옵니다. comp_num = 1j print(comp_num**2) 괄호로 복소수를 나타내며, $i$의 제곱은 그냥 –1이지만 –1 + 0$j$로 표현됩니다. 그런데 NumPy를 이용해 실제로 루트 계산을 해보면, 루트 내에 .. 2022. 12. 21.
Python matplotlib 그래프 그리기 Matplotlib은 python에서 수학적 그래프를 그릴 수 있는 외부 라이브러리입니다. 이번 포스팅에서는 matplotlib의 pyplot을 사용해서 그래프를 그려보겠습니다. 1. Matplotlib.pyplot으로 기본적인 2차원 그래프 그리기 먼저 다음 예로 시작하겠습니다. import matplotlib.pyplot as plt plt.plot([1, 3, 5, 7]) plt.xlabel("X axis") plt.ylabel("Y axis") plt.show() 위 코드의 첫 줄은 matplotlib.pyplot을 plt라는 이름으로 import 합니다. 두 번째 줄의 plot()은 pyplot에서 그래프를 그려주는 함수입니다. plot()의 괄호 안에는 리스트 데이터를 입력하는데, 위 예처럼 .. 2022. 12. 7.
반응형