오늘은 함수의 그래프를 그릴 때 유용하게 사용되는 함수인 linspace를 소개시켜 드리려고 합니다. 함수의 그래프를 매트랩을 이용해서 그리려고 한다면, 구간을 정해줘야합니다. "x의 값이 얼마에서 얼마일 때까지 그에 해당하는 그래프를 그리겠다."
그러면
$y = x^2 + 2x + 1$
에 대한 그래프를 그려보도록 하겠습니다. 구간을 linspace 함수를 이용해서 만들어줄 것입니다. -10이상 10이하의 구간에 대해서 그래프를 그리겠습니다.
1
2
3
4
5
6
7
|
clc, clear, close all
x = linspace(-10, 10);
y = x.^2 + 2.*x + 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)
'Dev > matlab' 카테고리의 다른 글
[MATLAB] table의 cell 안에 있는 char 형 데이터 접근하기 (0) | 2020.08.13 |
---|---|
[MATLAB] csv 파일을 readtable 함수로 읽기 (0) | 2020.08.13 |
[MATLAB] python의 넘파이 배열을 담은 .npy 파일을 matlab에서 읽기 (0) | 2020.08.11 |
[MATLAB] 그래프를 그릴 때 축의 눈금 또는 값을 지우려면? (0) | 2020.07.09 |
[MATLAB] 데이터 정렬하기, sort 함수 (응용: 학점 부여 프로그램) (0) | 2020.06.04 |
[MATLAB] 이미지 크기 조정하기, imresize 함수 (0) | 2020.05.29 |
[MATLAB] 숫자와 문자의 조합으로 구성된 문자열에서 숫자와 문자를 각각 추출하려면? (질문에 대한 답변) (2) | 2020.05.22 |
[MATLAB] 영상 좌우 반전, 상하 반전, 회전하기, fliplr, flipud, rot90 함수 (1) | 2019.12.17 |