관리 메뉴

공머씨의 블로그

내가 공부한 옥타브3-인터페이스 ,내장함수(Built in function) 소개! 본문

내가 공부한 옥타브(매틀랩)/내가 공부한 옥타브

내가 공부한 옥타브3-인터페이스 ,내장함수(Built in function) 소개!

공머씨 2020. 3. 11. 22:39

 

이번에는 octave에서의 인터페이스 개념과 내장 함수의 개념에 대해서 소개하겠습니다.

 

 

인터페이스란 무엇인가??

 

inter은 상호의.. 상호의 라는 뜻을 가지고 있습니다.

저는 internet을 net상에서 상호작용 한다는 것이라고 생각했습니다.

인터페이스의 사전적 의미는 다음과 같습니다.

' 컴퓨터, 각종 회로나 장치, 시스템의 요소 등 2개 이상으로 구성되는 장치에서 그 접속의 경계로서 생각하는 가상적인 면'

 

 

 

와 닿지가 않아서 유튜버분께 질문을 드려서 얻은 답변입니다. 참고하시면 좋을 것 같아서 가져왔습니다.

인터페이스의 사전적인 의미는 "어떤 것" 들은 연결해 주는 역할을 하는 "장치" 같은 것도 생각해 볼 수 있습니다.

우리가 쓰는 매트랩 (또는 옥타브)는 컴퓨터한테 무언가를 시키려고 쓰는 거다 라고 간단하게 생각해 본다면, 컴퓨터와 대화를 할 수 있게 매트랩이 "인터페이스"를 제공하는 것입니다.

그 인터페이스에는 여러 가지 "창"들로 이루어져 있다고 할 수 있습니다.

예를 들면

* 어떤 변수들이 있는지 보여주는 workspace 창

* 파일들을 열거나 볼 수 있게 해주는 창

* 내가 직접 매트랩을 통해 컴퓨터에게 명령하게 해주는 command 창

* 그 외 등등 창들.. 이런 "장치"들을 제공해 주는 "공간"을 인터페이스라고 생각하면 어떨까 싶습니다.

 

 

즉 사람인 내가 기계어만을 알아듣는 옥타브와 소통하는 법, (종류) 이라고도 할 수 있다.

 

 

comand line

한 줄씩 입력해서 확인하는 방법

m.file (내공 옥 5 참고)

스크립트 전체를 실행하는 방법



comand line

comand line 가 한 줄씩 입력해서 확인하는 방법이라고 하였는데

이게 무슨 말인지는 내공 옥 5에서 m파일을 실행해보게 되면 무슨 말인지 확실히 알게 될 것입니다.

comand window에서

행렬 a를 입력하고 엔터를 치면 (;를 입력하지 않는다는 전제하에) 바로 행렬 a의 생김새를 볼 수가 있습니다.

하지만 m파일을 이용하면 원하는 코드를 선택해서 결과를 볼 수도 있고 코드를 모두 입력한 다음 결과를 보는 방법 또한 있습니다.

이에 대해서는 내공옥 5를 보시면 됩니다.

 

 

 

1. 옥타브에서의 기본 논리 연산자

< 더 작음

<= 작거나 같음

& 그리고 (c언어에서는 &&와 같이 표현된다.)

> 보다 큼

>= 크거나 같음

| 또는 (c언어에서는 ||와 같이 표현된다.)

== 같음

~= 같지 않음 (참고로 c언어에서는!=와 같이 표현한다.)

~ 아님

 

abs()  절댓값을 씌우는 함수

 

A'         A를 전치(transpose)시키고 결합시킨다(conjugate).

A. '       A를 전치시킨다/

 

 

 

 

 

 

 

 

2. octave에서의 내장 함수

 

hlep

 

octave안에서의 기능을 알려준다.

 

clc

comand window 화면을 깨끗하게 해 준다.

clear all

내가 지정한 변수들을 초기화해준다.

close all(내공옥 1 참고)

그래프 화면 등의 화면을 닫아준다.

rand(n, t)

n × t 크기의 행렬을 출력한다.

diag(v, k)

행렬 v 에서 k번째 대각 원소를 추출한다.

magic(k)

k × k 크기의 정방 행렬을 출력한다.

 

 

이것 말고도 매우 많으며 계속 업데이트해나가겠습니다.

 

 

 

*그전에 내장 함수란 무엇이냐면

함수에는 사용자 정의 함수와

내장 함수가 있다.

내장 함수는 프로그래밍 안에 이미 만들어져 있기 때문에 꺼내서 쓰기만 하면 되는 함수이고 사용자 정의 함수는 말 그대로 사용자가 정의해서 사용하는 함수입니다.

c언어에서 사용자 정의 함수를 만드는 방법을 배우게 될 것입니다.

matlab에서도 사용자 정의 함수를 만들 수 있지만 1학년 1학기 과정상 거기까지 다루지 않았기에 블로그에는 나중에 더 공부해서 올릴 예정입니다.(2022년 까지)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2-1. 먼저 help에 대해서 알아보겠습니다.

앞의 포스팅에서 말한 대로

매틀랩(옥타브)은

모든 일반적인 수학 함수 +, -, *, /, ^, sin, cos, exp, acos, abs 등을 가집니다.

이게 무슨 말이냐면 c언어에서는 sin cos과 같은 삼각비를 그냥 문자로 밖에 받아들이지 못하지만

매틀랩은 sin cos exp 등등의 함수를 알고 있습니다.

 

help를 이용해서 매틀랩(옥타브)에게 설명을 요구할 수 있습니다.

 

사진은 업데이트하겠습니다!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. clc에 대해서 알아보겠습니다

 

 

첫 번째 그림-octave를 처음 들어갔을 때의 모습입니다.

clc를 입력한 상태

 

두 번째 그림-clc를 입력한 상태에서 엔터를 누른 화면이다.

comand window 가 깨끗해진 것을 볼 수가 있다.

 

 

 

 

 

 

 

 

 

 

clc를 입력하고 엔터를 누르면 당연히 화면 이 깨끗해지게 됩니다.

 

하지만 a를 입력해보면 행렬 a가 그대로 나옵니다.

clc를 입력하기 전의 행렬 a는 그대로 남아있는 것을 볼 수 있다.

 

 

 

행렬 a가 그대로 남아있다.

 

 

 

 

clc를 치고

 

 

 

 

 

엔터를 쳐도 행렬 a(변수 a)는 그대로 남아있음을 볼 수가 있다.

 

 

 

 

 

 

 

 

 

 

이렇게 clc는 화면만 깨끗하게 할 뿐 초기화와는 성격이 다르다고 할 수 있다.

 

 

빨간 네모 박스와 그아래의 변수들을 봐주세요

 

 

위 그림의 왼쪽의 work space를 보면 행렬 a가 그대로 있고

결괏값 ans 도 그대로 있는 것을 볼 수가 있습니다.

 

 

 

 

 

 

 

 

 

 

3. clear all에 대해서 알아보겠습니다.

 

 

clear all을 했기 때문에 위에서 지정한 변수 a와 b는 초기화된 것이다.

따라서 a+b를 해도 에러만 뜰뿐이다.

참고로 제가 본 강의자료에서는 clear name라고 나와있었습니다.

이는 clear name를 하면 그 이름에 해당하는 행렬이 초기화된다는 뜻입니다.

무식하게 저처럼 clear name 그대로 입력하지 말고 모두 초기화하고 싶다면

clear all를 입력

행렬 a만 초기화하고 싶다면

clear a 이런 식으로 입력하시면 됩니다.

 

 

 

이번 포스팅은 여기서 마치겠습니다.

읽어 주셔서 감사합니다!

 

 

 

Comments