본문 바로가기
반응형

전체 글196

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.
Python NumPy 행렬의 원소 접근하여 작업하기: trace 이번에는 python에서 행렬의 원소에 접근하여 연산을 하는 방법을 알아보겠습니다. Python에서 행렬을 생성하기 위해 NumPy 배열을 이용할 것인데요, python에서 인덱스를 써서 리스트의 원소에 접근하는 방법과 유사하게 행렬의 원소에 접근할 수 있습니다. 1. 행렬의 원소 인덱싱(색인) Python에서는 기본적으로 리스트형 데이터를 만들 수 있는데, 이는 배열과 같이 여러 원소로 이루어진 형태입니다. 리스트에서는 각 원소를 순서대로 0, 1, 2, … 와 같은 인덱스를 부여하여 각 원소에 접근할 수 있습니다. 0부터 시작하는 것을 주의하세요. 예를 들면 아래 코드는 리스트 list_a의 첫 번째 원소를 출력합니다. list_a = [1, 2, 3, 4, 5] print(list_a[0]) 사용법.. 2022. 12. 6.
Python 브로드캐스트: 크기가 다른 배열의 곱셈 Python에서 NumPy모듈을 이용하면 배열에 대한 연산을 할 수 있습니다. 크기가 같은 배열들의 곱은 같은 위치의 원소들을 곱해주는데, 배열들의 크기가 다르면 크기가 작은 배열을 확장하여 크기를 같게 하여 곱셈을 합니다. 이러한 방법을 브로드캐스트(broadcast)라고 합니다. Python에서 크기가 다른 배열들의 곱: 브로드캐스트 전에 python에서 행렬의 곱을 배웠는데 이번 내용은 행렬의 연산과는 관계가 없습니다. NumPy를 이용해 만들어진 배열들은 곱하기 기호(*)를 이용하여 곱셈을 할 수 있습니다. 만약 배열들의 크기가 같으면, 두 배열의 곱은 같은 위치의 원소들을 곱해줍니다. 그리고 만약 배열들의 크기가 다르면, 한 배열이 다른 배열보다 (모든 차원에서) 작으면, 그 작은 배열의 원소들.. 2022. 12. 6.
Python numpy를 이용한 행렬 연산 앞서 Python 외부 라이브러리 NumPy를 이용한 벡터 연산을 배웠습니다. 이번에는 python에서 행렬을 생성하고 기본적인 연산을 해보겠습니다. 1. Numpy 배열(array)을 이용하여 행렬 생성하기 벡터와 마찬가지로 먼저 python의 외부 라이브러리인 NumPy를 import를 해야 합니다. NumPy 설치 방법은 아래 링크를 참조하세요. 아주 쉬운 Python 설치 및 시작 (윈도우에서 PIP 사용) 그리고 다음과 같이 배열을 사용하여 행렬을 생성할 수 있습니다. import numpy as np matrix_A = np.array([[1, 2], [3, 4]]) print(matrix_A.shape) 여기서 shape 은 배열의 형태를 알려주는 특성입니다. 위 코드에서는 (2, 2)를 출.. 2022. 12. 6.
Python과 선형대수: NumPy를 이용한 벡터 연산 Python의 외부 라이브러리 NumPy를 이용하면 배열에 대한 연산을 할 수 있습니다. 또한 벡터는 숫자로 된 성분들의 1차원 배열로 볼 수 있기 때문에 NumPy를 사용하여 벡터들의 연산을 계산할 수 있습니다. 이번 포스팅에서는 python으로 기본적인 벡터 연산을 해보겠습니다. 1. 배열(array)을 이용하여 벡터 생성하기 먼저 python의 외부 라이브러리인 NumPy를 이용하기 위해선 import를 해야 합니다. 저는 다음과 같이 numpy를 np라는 이름으로 import 하겠습니다. import numpy as np 이렇게 하면 numpy의 메소드 등을 사용할 때 numpy 대신 np라고 짧게 쓸 수 있습니다. NumPy를 사용하기 위해서는 이 모듈을 설치해야 합니다. PIP를 이용한 Num.. 2022. 12. 5.
리눅스 설치 USB 만들기: rufus이용 이번 포스팅에서는 rufus라는 프로그램을 이용해서 리눅스 설치 USB를 만드는 방법을 알아보겠습니다. 1. 리눅스 iso 파일과 rufus 다운로드하기 먼저 설치하려는 리눅스를 다운로드합니다. 저는 CentOS stream을 다운로드하였습니다. 필요하시면 아래 링크에서 받으세요. https://www.centos.org/centos-stream/ 아마도 거의 모든 리눅스 공식 홈페이지를 가면 ISO 파일을 다운로드할 수 있을 것입니다. ISO는 시디 구울 때 쓰던 파일이죠. 이 ISO 파일로 설치 USB를 만들 것인데요. 윈도우의 경우는 ISO 받을 필요 없이 자동으로 설치 USB 만들어 주는 프로그램이 있지만, 리눅스는 rufus라는 소프트웨어가 필요합니다. rufus는 마이크로소프트 스토어에 앱이 .. 2022. 11. 22.
반응형