초급-MATLAB 해양자료처리

MATLAB 시작 - 4 : 실습

Kamanberr 2023. 4. 25. 22:42

 

앞서 올린 글에서 강조하였듯이, 모든 코드에 있어서 무조건 맨 앞에 clc; clear; close all; 을 적어라

 


변수 만들기

변수를 만들어보자. 변수는 어떻게 만들까? 

어렵지 않다.

그냥 적으면 된다.

 

A = 10

 

이걸 실행시키고 작업공간을 확인해보자. 

 

 

A라는 변수에 10이라는 숫자가 할당되었음을 알 수 있다. 

어떤 변수를 만들고 싶다면, 별 다른 작업 없이 이렇게 그냥 적으면 된다. 

 

이때, =은 '같다'는 뜻이 아니라, '대입(할당)'한다는 뜻이다. 

만약 수학적 의미로 '같다'라고 하고 싶다면, '=='을 사용해야 한다. 

 


세미콜론 (;)

편집기에 A=10 을 적은 다음 실행시키면, 명령창에도 A=10이라고 뜬다. 

 

그러고 나서  A=10; 이라고 편집기에 적고 실행시켜보자. 

 

그러면 명령창 A=10이 뜨지 않는다는 것을 확인할 수 있다. 

 

이렇게 세미콜론(;)은 실행한 코드의 변수 값을 명령창에 나타나지 않게 해 주는 기능을 가지고 있다. 

 

물론 세미콜론을 모든 코드 끝에 붙이지 않더라도, 코드가 실행되는 것에는 큰 문제가 없다.

그렇지만, 우리는 명령창에서 경고문을 보아야 한다.

그렇기 때문에 명령창의 내용이 번잡해지는 것은 때로는 곤란해지는 일이다. 

 

그러니 되도록이면 세미콜론을 각 코드줄 끝마다 붙이는 습관을 들이자. 

세미콜론을 문장 마지막에 적으면, 다음과 같이 코드가 원래는 여러 줄이 되어야 할 것을, 한 줄에 적을 수도 있다. 

 

A=10; B=20;

 

왜냐하면 MATLAB이 세미콜론을 기준으로 코드 줄을 구분하기 때문이다. 

 


우리는 MATLAB이 주어진 코드를 어떻게 실행시키는지 기본적인 mechanism에 대해 이해해야 한다. 

 

다음과 같이 코드가 있다고 하자.

 

이를 전체 실행시켰을 때, 작업공간에서 A와 B는 어떤 값일까?

 

A는 10일까, 11일까?

원래 A에는 10이 들어있는데, 11이라는 새로운 값이 들어갈 수 있을까?

 

전체 실행을 시킨 후, 결과를 작업 공간에서 확인해보자.

 

 

A와 B에 둘 다 11이 할당된 것을 확인할 수 있다. 

 

MATLAB은 주어진 코드를 위에서부터 아래로 실행시킨다. 

그렇기 때문에, A는 맨 처음 10이 할당되고, B=A+1 이므로 당연히 B에는 11이 할당된다.

 

무엇보다 명심해야 할 것은, 위에서 A라는 변수가 이미 존재한다고 하더라도,

그 밑에서 A에 대해 다시 정의하는 코드가 앞선 코드의 결과를 덮어씌운다는 것이다. 

 

그렇기 때문에 A=A+1 이라면,

A에는 기존 A값인 10에 1을 더한 값인 11이 다시 할당되면서 이전의 10이라는 값을 덮어 씌운다. 

 


SAVE & LOAD

 

지금은 작업공간에 나온 변수들의 크기가 작고 간단하지만, 앞으로 MATLAB을 계속 다루다보면 상당히 큰 데이터를 다루어야 하는 일이 생긴다. 그럴 경우에는, 실행할 때마다 일일히 데이터를 불러와서 modifying하는 작업에 많은 시간이 걸릴 수 있다. 

 

그래서 이러한 경우에는, 처음에 한번만 실행을 하여 데이터를 modifying하고 save 함수를 사용하여 그 상태로 변수를 저장한다. 그러면 그 이후에는 별다른 작업 없이도, 이미 modifying되어 있는 데이터를 바로 사용할 수 있다. 

 

다음과 같이 코드를 실행해보자. 

 

exmp = A+B;       % A, B 값은 위에서 실행한 코드를 그대로 사용한다.
save exmp;

 

이렇게 하면, 같은 폴더에 exmp.mat 이라는 데이터가 새로 생긴 것을 확인할 수 있다.

(MATLAB의 변수는 확장자가 mat 파일이다.)

 


 

그러면 exmp.mat 에 데이터가 잘 저장되었는지 확인해보도록 하자. 

 

앞선 코드 뒤에, 아래의 코드를 적어서 새로 만들어진 섹션 section 만을 실행시켜보자.

(섹션 실행은 Ctrl + enter )

 

%% 저장된 데이터 확인
clc; clear;              % 작업공간과 명령창 지우기
load exmp.mat      % 불러오기

 

그러면 작업공간에 exmp 이라는 변수가 잘 load 된 것을 확인할 수 있을 것이다.

 

 

 

'초급-MATLAB 해양자료처리' 카테고리의 다른 글

MATLAB - 제어문  (1) 2023.09.16
MATLAB - 배열 Array  (0) 2023.05.17
MATLAB 시작 - 3 : 주석 달기 & 퍼블리시 기능  (0) 2023.04.25
MATLAB 시작 - 2  (0) 2023.04.25
MATLAB 시작 - 1  (0) 2023.04.25