2020-06-30 07:10:52

오늘은 함수의 그래프를 그릴 때 유용하게 사용되는 함수인 linspace를 소개시켜 드리려고 합니다. 함수의 그래프를 매트랩을 이용해서 그리려고 한다면, 구간을 정해줘야합니다. "x의 값이 얼마에서 얼마일 때까지 그에 해당하는 그래프를 그리겠다." 

 

그러면 

 

$y = x^2 + 2x + 1$

 

에 대한 그래프를 그려보도록 하겠습니다. 구간을 linspace 함수를 이용해서 만들어줄 것입니다. -10이상 10이하의 구간에 대해서 그래프를 그리겠습니다. 

 

1
2
3
4
5
6
7
clc, clear, close all
 
= linspace(-10, 10);
= x.^2 + 2.*+ 1;
 
plot(x, y)
grid on
cs

 

이 코드를 실행하면 다음과 같은 그래프가 그려집니다. 

 

 

위 코드에서 linspace(-10, 10)의 의미는 "-10부터 10사이에 100개의 숫자를 균등하게 만들어줘"입니다. 

 

 

보시다시피 -10에서 10까지 항이 100개인 등차수열이 생성되었습니다. 

 

위와 같은 그래프가 그려지는 원리에 대해서 설명드리겠습니다. linspace를 통해 생성된 100개의 숫자들을 함수에 대입시켜서 y값을 모두 구해줍니다. 총 100개의 y값이 생성되겠죠. 즉, 100개 점의 위치를 알게 된 것입니다. 이 점들을 찍은 후에 선으로 이은 결과가 저 그래프인 것입니다. 저 그래프는 엄밀히 따지면 곡선이 아닙니다. 

 

만약에 linspace(-10, 10, 5)과 같이 linspace에 세번째 인수를 넣어주면 -10부터 10까지 5개의 항을 가진 등차수열을 생성하게 됩니다.

 

 

그러면 점들끼리 떨어져있게 되기 때문에, 그래프를 그리면 더 이상 아까처럼 곡선으로 보이지 않습니다. 

 

 

 

bskyvision의 추천글

헷갈리는 코딩용어, 매개변수(parameter)와 인수(argument)