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

공머씨의 블로그

내가 공부한 옥타브 9- 2D그래프 그리기1 (1~6) 본문

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

내가 공부한 옥타브 9- 2D그래프 그리기1 (1~6)

공머씨 2020. 3. 11. 23:07
반응형

1. 정의역을 설정하는 문법 알아보기

 

>> x=x_min:step_size:x_max;

어떤 의미냐 하면

정의역의 집합을 x집합이라고 정했으면

정의역의 최솟값: 일정한 증가분: 정의역의 최댓값

이라는 의미입니다.

예시를 보여드리겠습니다.

어떤 함수인지는 모르지만 정의역이 1부터 10까지 2씩 증가하는 것임을 표현한 것입니다.

그냥 행 벡터(행이 하나인 행렬) 표현 방법과 같은 것을 알 수 있습니다.

어! x옆의 _는 어디 갔나요???

원래 없어야 합니다...

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

개인적으로 문법이 이렇게 표기되어 있다면 좋았을 텐데 하는 아쉬움이 있습니다.

>> x= min of x : increment of x : max of x;

y=f(x);

plot(x, y)

grid % 그래프를 그려준다%

 

 

 

 

2. 그래프 그려보기

 

다음과 같은 코드를 입력합니다.

>> y=(-3:3).^3;

>> plot(y);

첫 번째 줄에서 정의역의 값(여기서는 정의역을 y라는 집합으로 표현)이 하나씩 더 해질 때마다 세제곱 된다는 코드이다..^3이 아닌 그냥 ^3을 하면 통째로 곱해진다.

이해가 안 된다면 내공옥7의 '18.요소별 연산자' 를 다시 공부하시기 바랍니다

 

 

저는 Editor에서 코드를 입력한 뒤 m파일로 저장해서 comand window에서 실행시켜 보았습니다.

이때 주의할 점은

내장 함수의 이름을 파일명으로 하면 위와 같은 오류 메시지 가 생깁니다.

파일 명을 바꿔 주면 아래와 같이 정상적으로 실행됩니다.

(comand window창에서 보이다시피 hi라는 이름으로 저장해주었고 comand window에 불러서 그래프까지 저절로 그려짐을 볼 수가 있습니다. )

 

 

이때 가로축에 있는 숫자 1 2 3 4 5 6 은 정의역 y의 값이 아닌 index값입니다.

그림으로 표현하면 다음과 같은 의미입니다.

 

우리가 수학 시간에 그리는 x축이 정의역이고 y축이 치역인 함수의 그래프와 조금 다릅니다.

 

 

 

 

그림이 잘 안 보이실 수도 있을 것 같아 확대해 보았습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. 증분을 더욱 촘촘하게 해 보자

 

>> y=(-3:0.1:3).^3;

>> plot(y);

% x가 0.1씩 증가하는 세제곱의 그래프 위의 그래프보다 더 부드럽게 그려짐을 알 수가 있다.%

 

이번에도 m파일에 저장하고 실행시켜주었습니다.

파일명은 four이라고 호출했고 위와 같이 실행됨을 알 수 있습니다.

정의역이 1행인 행 벡터이지만 comand window창에 대표기 할 수 없어서

column 1 through 17 이런 식으로 표기되어서 나타남을 알 수가 있습니다.

(1열부터 17열이라는 뜻입니다.)

 

 

 

 

 

 

 

 

 

 

4. 삼각함수의 그래프를 그려보자

 

editor창에 위와 같이 입력하였습니다.

x= 0 : 0.1 : 2*pi

y=sin(x)

plot(x, y)

참고로 m파일에서 줄 1에서 줄 2로 넘어갈 때 " ; "을 사용한 뒤 저장하고 실행하면 실행되지 않습니다.

이유는 " ; "의 의미를 생각해보시면 금방 아실 수 있을 것 같습니다.

복잡해 보이니 코드를 먼저 해석한 뒤에 실행시켜 보겠습니다.

일단 세 번째 줄을 보면 plot(가로축, 세로축)이므로

가로축에 행렬 x의 데이터를 입력시키고 세로축에 함수 y를 입력시킨다는 뜻입니다.

일단 집합 x로 표현된 정의역을 보면 0부터 2파이 까지

함수 y로 표현된 치역은 x의 값에 따라 값이 변하는 sin함수 임을 알 수가 있습니다.

어! 근데 여기서 정의역 범위가 0부터 2파이 까지니까 한 주기 가 반복되는 그림이 나오겠구나!!라고 생각하시면 됩니다.

m파일을 사용해서 코딩하고 있습니다.

m파일의 이름을 five라고 지정한 뒤 실행시켜 주었습니다.

(사진에서는 보이지 않는 current directory를 자신이 m파일을 저장해 둔 곳으로 클릭해주는 것 잊지 마시고요.)

맨 첫 줄에 five라고 쳐서 아래와 같이 실행되었습니다.

 

 

 

 

 

 

5. 지수함수의 그래프를 그려보자.

지수함수에서 자연상수 e는 영어로 expotential이라고 합니다.

옥타브에서는 "함숫값 = exp(정의역)"이라는 내장 함수로 설정되어있습니다.

"y=exp(x)"

(y가 함숫값이고 x가 정의역일 때)

아래의 그림을 참고해 주세요

왼쪽의 1번은 옥타브(매틀랩)에서 밑이 e인 지수함수를 표현하는 방법이고

오른쪽의 2번은 우리가 수학 시간에 사용하던 지수함수 표기 방법입니다!!

실행시키기 전에 코드를 분석해 보겠습니다.

x=-2:5

y=exp(x)

plot(x, y)

밑이 e인 함수를 지수함수로 한다는 것을 알고 있다고 가정하고 설명하겠습니다.

3번 줄에 그래프의 모양새를 보면 x가 정의역이고 y가 치역인 그래프를 그리라고 코딩되어 있음을 알 수 있습니다.

1번 줄을 보면 x는 -2부터 5까지 1씩 증가하는 행 벡터 임을 알 수 있습니다.

2번 줄에서 보면 치역으로 설정된 y값은 (1번 줄의 x를 정의역으로 하는) 지수함수의 함숫값임을 알 수 있습니다.

이 또한 알기 쉽게 그림으로 표현해 보겠습니다.

아래는 코드를 (six라는 이름을 가진 m파일로 저장한 뒤) 실행시킨 모습입니다.

 

 

 

 

 

 

 

 

 

 

6. 좀 더 부드러운 지수함수 그리기

위 5번에서의 지수함수는 증가분이 1이어서 그래프가 부드럽지는 않았습니다. 증가분을 1에서 0.1로 더 촘촘하게 설정하면 어떤 그래프가 나타나는 지를 확인해 보도록 하겠습니다.

x=-2 :0.1 : 5

y=exp(x)

plot(x, y)

 

 

위와 같이 좀 더 부드러운 곡선으로 그려짐을 볼 수가 있습니다.

 

​이번 포스팅은 여기서 마치겠습니다. 
읽어 주셔서 감사합니다! 

공감과 덧글은 큰 힘이 됩니다 

Q 삼각함수끼리의 곱을 나타내는 함수는 어떻게 입력할지 생각해보시오.

 

반응형
Comments