본문 바로가기

[Mathlab] 배열(행렬) Array - 1차원 배열

운동천재 2024. 10. 29.

배열 만들기

배열을 만들기 위해서는 만들고자하는 배열을 []로 감싸야 합니다.

 

선언을 할때에는 []안에 원하는 값을 넣으면 되는데요.

행을 만들때는 띄어쓰기나 ','로 값을 구분해주면 됩니다.

 

 

 

열을 선언할때는 엔터로 직접 구분을 해주거나, ';' 세미콜론을 사용해 나눠주면 됩니다.

 

위처럼 하나의 열이나 행으로 구성된 행렬을 1차원 배열(One - dimensional Array)라고 합니다.

 

1차원 배열을 선언하는 다른 방법도 알아봅시다!

 

A = [1:6] 이와 같이 콜론으로 두 수를 나누면 어떻게 나올까요?

 

1부터 시작해서 6까지 1씩 커지는 것을 볼 수 있습니다.

 

배열에 [a:b] a 그리고 콜론 b를 하게 되면 a에서 b까지 1씩 커지는 행렬을 선언합니다.

 

 

만약 1씩 커지는 것이 아닌 특정 수만큼 커지게 하고 싶으면 어떻게 할까요?

a와 b사이에 c를 포함해주면 됩니다.

[ a:c:b ] 이런식으로 말이죠. 같이 해볼까요?

 

저는 1부터 3까지 0.5씩 늘어나는 배열을 만들어 보겠습니다.

자 그럼 A에는 1에서부터 0.5씩 늘어나는 배열이 저장됩니다.

 

또 다른 방법을 배워볼까요?

30에서 10까지 배열의 크기가 5인 배열을 만들고 싶을 땐 어떻게 할까요?

 

linspace함수

이때는 linspace함수를 사용하면 됩니다.

형태는 linspace(f,l,n)입니다.

여기서 f는 시작할 숫자, l는 마지막 숫자, n은 배열의 크기(갯수)입니다. (알기 쉽게 first의 f, last의 l을 사용했어요!)

 

연습을 해볼까요?

30부터 시작해서 10까지 크기가 5인 배열을 얻고싶다.

그럼 linspace(30,10,5)가 되겠죠?

 

여기서 n을 빼고 f와 l값만 적으면 어떻게 될까요?

 

무려 100개의 열이 만들어 졌습니다!!

n이 없이 f와 l로만 linspace함수를 선언하게 되면 100개로 구성된 행벡터를 반환합니다.

 

그러면 linspace에서 배열을 나누는 기준을 무엇일까요?

랜덤한 수? 아니면 일정한 간격?

정답은 일정한 간격입니다.

 

점과 점사이의 일정한 간격을 가진 배열을 만들때 사용하는 함수는 linspace가 되겠습니다.

 

 

댓글