Main Content

라이브 편집기 소개

이 예제에서는 라이브 편집기를 소개합니다. 라이브 편집기에서는 출력값을 생성한 코드와 출력값을 함께 표시하는 라이브 스크립트를 생성할 수 있습니다. 서식 지정된 텍스트, 수식, 이미지, 하이퍼링크를 추가하여 저작물을 보완하고 다른 사용자와 라이브 스크립트를 대화형 방식 문서로 공유할 수 있습니다.

라이브 편집기에서 라이브 스크립트를 만듭니다. 라이브 스크립트를 만들려면 탭에서 새 라이브 스크립트를 클릭하십시오.

인구 조사 데이터 추가하기

라이브 스크립트를 섹션으로 나누십시오. 각 섹션이 텍스트, 코드, 출력값을 포함할 수 있습니다. MATLAB® 코드는 회색 배경에 표시되고 출력값은 흰색 배경에 표시됩니다. 새로운 섹션을 생성하려면 라이브 편집기 탭으로 이동하여 섹션 나누기 버튼을 클릭하십시오.

1900년부터 2000년까지의 미국 인구 조사 데이터를 추가해 보겠습니다.

years = (1900:10:2000);                                  % Time interval
pop = [75.995 91.972 105.711 123.203 131.669 ...         % Population Data
   150.697 179.323 213.212 228.505 250.633 265.422]
pop = 1×11

   75.9950   91.9720  105.7110  123.2030  131.6690  150.6970  179.3230  213.2120  228.5050  250.6330  265.4220

시간에 따른 인구 변동 시각화하기

섹션은 개별적으로 실행할 수 있습니다. 섹션의 코드를 실행하려면 라이브 편집기 탭으로 이동하여 섹션 실행 버튼을 클릭하십시오. 마우스를 섹션 왼쪽으로 이동할 때 표시되는 파란색 표시줄을 클릭해도 됩니다. 섹션을 실행하면 출력값과 Figure를 생성한 코드와 출력값, Figure가 함께 표시됩니다.

연도에 대해 인구 데이터를 플로팅합니다.

plot(years,pop,'bo');                                    % Plot the population data
axis([1900 2020 0 400]);
title('Population of the U.S. 1900-2000');
ylabel('Millions');
xlabel('Year')
ylim([50 300])

Figure contains an axes object. The axes object with title Population of the U.S. 1900-2000, xlabel Year, ylabel Millions contains a line object which displays its values using only markers.

2010년의 미국 인구를 예측할 수 있을까요?

데이터 피팅하기

텍스트에 수식, 이미지, 하이퍼링크를 비롯한 추가 정보를 제공하십시오.

다항식으로 데이터를 피팅해 보겠습니다. MATLAB polyfit 함수를 사용하여 계수를 구해 보겠습니다.

피팅 수식은 다음과 같습니다.

y=ax+blineary=ax2+bx+cquadraticy=ax3+bx2+cx+d.cubic

x = (years-1900)/50;
coef1 = polyfit(x,pop,1) 
coef1 = 1×2

   98.9924   66.1296

coef2 = polyfit(x,pop,2)
coef2 = 1×3

   15.1014   68.7896   75.1904

coef3 = polyfit(x,pop,3)
coef3 = 1×4

  -17.1908   66.6739   29.4569   80.1414

곡선 플로팅하기

텍스트와 코드 라인이 원하는 만큼 포함된 섹션을 생성하십시오.

데이터에 피팅된 선형 곡선, 2차 곡선, 3차 곡선을 플로팅할 수 있습니다. polyval 함수를 사용하여 x의 점에서 피팅된 다항식을 계산해 보겠습니다.

pred1 = polyval(coef1,x);
pred2 = polyval(coef2,x);
pred3 = polyval(coef3,x);
[pred1; pred2; pred3]
ans = 3×11

   66.1296   85.9281  105.7266  125.5250  145.3235  165.1220  184.9205  204.7190  224.5174  244.3159  264.1144
   75.1904   89.5524  105.1225  121.9007  139.8870  159.0814  179.4840  201.0946  223.9134  247.9403  273.1753
   80.1414   88.5622  101.4918  118.1050  137.5766  159.0814  181.7944  204.8904  227.5441  248.9305  268.2243

이제 각 다항식별로 예측값을 플로팅해 보겠습니다.

hold on
plot(years,pred1)
plot(years,pred2)
plot(years,pred3)
ylim([50 300])
legend({'Data' 'Linear' 'Quadratic' 'Cubic'},'Location', 'NorthWest')
hold off

Figure contains an axes object. The axes object with title Population of the U.S. 1900-2000, xlabel Year, ylabel Millions contains 4 objects of type line. One or more of the lines displays its values using only markers These objects represent Data, Linear, Quadratic, Cubic.

인구 예측하기

결과를 재현하도록 다른 MATLAB 사용자들과 라이브 스크립트를 공유할 수 있습니다. 결과를 PDF, Microsoft® Word 또는 HTML 문서로 퍼블리시할 수도 있습니다. 라이브 스크립트에 컨트롤을 추가하면 사용자에게 파라미터가 분석에 얼마나 중요한 영향을 미치는지를 보여줄 수 있습니다. 컨트롤을 추가하려면 라이브 편집기 탭으로 이동하여 컨트롤 버튼을 클릭한 다음 사용 가능한 옵션 중에서 선택하십시오.

이제 세 개의 수식을 사용하여 특정 연도의 예측 인구를 계산할 수 있습니다.

year = 2018;
xyear = (year-1900)/50;
pred1 = polyval(coef1,xyear);
pred2 = polyval(coef2,xyear);
pred3 = polyval(coef3,xyear);
[pred1 pred2 pred3]
ans = 1×3

  299.7517  321.6427  295.0462

예를 들어, 2010년의 경우 선형 피팅과 3차 피팅은 유사하게 약 2억 8,400만 명을 예측한 반면, 2차 피팅은 훨씬 많은 약 3억명을 예측했습니다.

관련 항목