반응형
Recent Posts
Recent Comments
Link
관리 메뉴

공머씨의 블로그

내가 공부한 옥타브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