Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

라이브 스크립트에 대화형 방식 컨트롤 추가하기

라이브 스크립트에 슬라이더, 드롭다운, 체크박스, 편집 필드, 버튼을 추가하여 대화형 방식으로 변수 값을 제어할 수 있습니다. 스크립트에 대화형 방식 컨트롤을 추가하면 스크립트를 다른 사람과 공유할 때 유용합니다. 대화형 방식 컨트롤을 사용하면 라이브 스크립트에서 친숙한 사용자 인터페이스 구성요소를 사용해 변수의 값을 설정하고 변경할 수 있습니다.

컨트롤 삽입하기

라이브 스크립트에 컨트롤을 삽입하려면 라이브 편집기 탭으로 이동한 후 코드 섹션에서 컨트롤을 클릭하십시오. 그런 다음 사용 가능한 옵션 중에서 선택하십시오. 기존 값을 컨트롤로 바꾸려면 값을 선택한 다음 컨트롤을 삽입하십시오. 컨트롤 메뉴에는 선택한 값에 대해 사용 가능한 옵션만 표시됩니다.

아래 표에 사용 가능한 컨트롤 목록이 나와 있습니다.

컨트롤설명구성 세부 정보

숫자 슬라이더

숫자 슬라이더를 사용하면 슬라이더 핸들을 원하는 숫자 값으로 이동하여 변수의 값을 대화형 방식으로 변경할 수 있습니다.

슬라이더 왼쪽의 값이 현재 값입니다.

섹션에서 최소, 최대, 간격 값을 지정하거나 드롭다운 목록에서 작업 공간 변수를 선택하십시오.

변수를 사용하여 슬라이더 값을 지정하는 방법에 대한 자세한 내용은 컨트롤에 변수 연결하기 항목을 참조하십시오.

드롭다운 목록

드롭다운 목록을 사용하면 값 목록에서 선택하여 변수의 값을 대화형 방식으로 변경할 수 있습니다.

드롭다운 목록에 표시된 텍스트에 커서를 올려놓으면 현재 값이 표시됩니다.

항목 > 항목 레이블 필드에서 드롭다운 목록 내 각 항목에 대해 표시할 텍스트를 지정하십시오.

항목 > 항목 값 필드에서 드롭다운 라인의 각 항목에 대한 값을 지정하십시오. 라이브 편집기는 목록의 각 항목을 코드로 해석하므로 텍스트 값은 작은따옴표나 큰따옴표로 묶으십시오.

변수에 저장된 값을 사용하여 드롭다운 목록의 항목을 채울 수도 있습니다. 자세한 내용은 컨트롤에 변수 연결하기 항목을 참조하십시오.

체크박스

체크박스를 사용하면 대화형 방식으로 변수 값을 논리값 1(true) 또는 논리값 0(false)으로 설정할 수 있습니다.

체크박스의 표시 상태(선택 또는 미선택)에 따라 현재 값이 결정됩니다.

N/A

편집 필드

편집 필드를 사용하면 대화형 방식으로 변수 값을 지정된 유형의 입력값으로 설정할 수 있습니다.

편집 필드에 표시된 텍스트와 선택한 데이터형에 따라 현재 값이 결정됩니다.

편집 필드에 텍스트의 데이터형을 지정하려면 유형 섹션의 데이터형 필드에서, 사용 가능한 옵션 중에서 선택하십시오.

버튼

버튼 컨트롤을 사용하면 버튼을 클릭할 때 코드를 대화형 방식으로 실행할 수 있습니다.

버튼 컨트롤을 사용할 경우 라이브 스크립트의 다른 모든 컨트롤에 대한 실행 필드를 안 함으로 설정하는 것이 좋습니다. 그러면 사용자가 버튼 컨트롤을 클릭할 때만 코드가 실행됩니다. 이는 코드를 실행하기 전에 라이브 스크립트에 여러 개의 컨트롤 값을 설정해야 하는 경우에 유용합니다.

버튼에 표시되는 레이블을 변경하려면 레이블 섹션에서 레이블 이름을 입력하십시오.

컨트롤 레이블 수정하기

라이브 스크립트에서 코드를 숨겨 서식 지정된 텍스트, 레이블이 지정된 컨트롤, 라이브 편집기 작업 및 출력값만 표시할 수 있습니다. 코드를 숨기면 라이브 스크립트를 공유하고 내보낼 때 유용합니다. 코드를 숨기려면 라이브 스크립트 오른쪽에 있는 코드 숨기기 버튼 을 클릭하십시오. 또는 보기 탭으로 이동한 다음 보기 섹션에서 코드 숨기기 를 클릭해도 됩니다. 코드를 다시 표시하려면 출력값을 인라인으로 표시 버튼 또는 출력값을 오른쪽에 표시 버튼 을 클릭하십시오.

코드가 숨겨져 있을 때는 컨트롤 옆에 레이블이 표시됩니다. 컨트롤의 레이블을 수정하려면 컨트롤을 마우스 오른쪽 버튼으로 클릭하고 컨트롤 구성을 선택하십시오. 그런 다음, 레이블 섹션에서 레이블 이름을 입력하십시오. 이 텍스트는 또한 모든 보기의 버튼 컨트롤에도 표시됩니다. 라이브 스크립트로 돌아오려면 Tab 키 또는 Enter 키를 누르거나 컨트롤 구성 메뉴 외부를 클릭하십시오.

컨트롤에 변수 연결하기

슬라이더 값 및 드롭다운 항목에 변수를 연결하여 동적 컨트롤을 생성할 수 있습니다.

변수를 사용하여 슬라이더의 최솟값, 최댓값, 간격 값을 지정하려면 컨트롤을 마우스 오른쪽 버튼으로 클릭하고 컨트롤 구성을 선택하십시오. 그런 다음 섹션에서 최소, 최대, 간격에 대한 작업 공간 변수를 선택합니다. 숫자형 값을 갖는 변수만 드롭다운 목록에 표시됩니다. 선택하려는 변수가 목록에 없는 경우 먼저 라이브 스크립트를 실행하여 변수를 생성하고 작업 공간에 추가해 보십시오. 변수에 대한 변경 사항은 숫자 슬라이더에 자동으로 반영됩니다.

변수에 저장된 값을 사용하여 드롭다운 목록의 항목을 채우려면 컨트롤을 마우스 오른쪽 버튼으로 클릭하고 컨트롤 구성을 선택하십시오. 그런 다음 항목 섹션의 변수 목록에서 작업 공간 변수를 선택합니다. 변수가 목록에 표시되려면 string형 배열 또는 string형 스칼라여야 합니다. 선택하려는 변수가 목록에 없는 경우 먼저 라이브 스크립트를 실행하여 변수를 생성하고 작업 공간에 추가해 보십시오. 변수에 대한 변경 사항은 드롭다운 목록에 자동으로 반영됩니다.

예를 들어, 라이브 스크립트를 만들고 성 목록을 포함하는 변수 lastnames를 정의해 보겠습니다.

lastnames = ["Houston","Vega","Obrien","Potter","Rivera","Hanson","Fowler","Tran","Briggs"];

라이브 스크립트를 실행하여 lastnames를 만들고 이 변수를 작업 공간에 추가합니다. 그런 다음 라이브 편집기 탭으로 이동하여 코드 섹션에서 컨트롤 > 드롭다운을 선택합니다. 컨트롤 구성 메뉴의 항목 섹션에서 변수lastnames를 선택합니다.

Drop-down list configuration menu with the lastnames variable selected and the lists of item labels and item values populated with the variable values

구성 메뉴를 닫아 라이브 스크립트로 돌아갑니다. 드롭다운 목록에는 이제 lastnames에 정의된 성이 포함되어 있습니다.

Drop-down list containing 9 last names

lastnames의 값을 추가하거나 제거하거나 편집하면 MATLAB®은 그에 따라 드롭다운 목록의 항목을 업데이트합니다.

참고

드롭다운 목록의 항목이 한 변수에 연결되어 있고 MATLAB이 실행 중인 동안 이 변수의 값 중 하나 이상이 삭제되는 경우, 삭제된 값 중 하나가 선택된 목록 항목이면 오류가 발생할 수 있습니다. 오류가 발생하지 않도록 방지하려면 라이브 스크립트가 실행되는 동안 연결된 변수의 값을 삭제하지 마십시오.

디폴트 값 지정하기

라이브 스크립트에서 슬라이더, 드롭다운 목록, 체크박스의 디폴트 값을 설정하고 필드를 편집할 수 있습니다.

컨트롤의 디폴트 값을 설정하려면 컨트롤을 마우스 오른쪽 버튼으로 클릭하고 컨트롤 구성을 선택하십시오. 그런 다음 디폴트 값 섹션에서, 값을 입력하거나 목록에서 작업 공간 변수를 선택하여 디폴트 값을 지정합니다. 해당 컨트롤에 유효한 변수만 목록에 표시됩니다. 드롭다운 목록의 경우, 항목 목록에서 디폴트 값을 선택하십시오.

컨트롤의 디폴트 값을 복원하려면 컨트롤을 마우스 오른쪽 버튼으로 클릭하고 디폴트 값 복원을 선택하십시오.

컨트롤의 값을 작업 공간 변수에 연결하려면 컨트롤의 디폴트 값을 해당 변수로 설정하십시오. 컨트롤 값이 디폴트 값으로 설정되며 디폴트 값이 변경되면 컨트롤 값도 변경됩니다. 컨트롤 값이 수동으로 변경되기 전까지 (예를 들어 숫자 슬라이더의 핸들을 움직여 값을 변경하기 전까지) 컨트롤 값은 디폴트 값에 연결된 상태로 유지됩니다.

컨트롤 실행 수정하기

컨트롤의 값이 변경될 때 언제 어떠한 코드를 실행할지를 수정할 수 있습니다. 기본적으로 컨트롤의 값이 변경되면 라이브 편집기는 현재 섹션의 코드를 실행합니다. 이 동작을 구성하려면 컨트롤을 마우스 오른쪽 버튼으로 클릭하고 컨트롤 구성을 선택하십시오. 그런 다음, 실행 섹션에서 아래 표에 설명된 필드의 값을 수정합니다. 라이브 스크립트로 돌아오려면 Tab 키 또는 Enter 키를 누르거나 컨트롤 구성 메뉴 외부를 클릭하십시오.

필드옵션
실행 지점(슬라이더 컨트롤만 해당)

다음 옵션 중 하나를 선택하여 코드를 언제 실행할지를 지정합니다.

  • 변경되는 값 — 슬라이더 값이 변경되는 동안 코드를 실행합니다.

  • 변경된 값 — 슬라이더 값 변경이 완료된 후(사용자가 슬라이더 핸들에서 손을 뗀 후) 코드를 실행합니다.

실행

다음 옵션 중 하나를 선택하여 컨트롤 값이 변경될 때 어떠한 코드를 실행할지를 지정합니다.

  • 현재 섹션 (디폴트 값) — 컨트롤이 포함된 섹션을 실행합니다.

  • 현재 섹션 및 위에서 수정되었거나 아직 실행되지 않은 섹션 — 컨트롤 값이 변경될 때 현재 섹션과 그 위에 있는 모든 미실행 코드를 실행합니다. 라이브 스크립트가 아직 실행되지 않은 경우 컨트롤 값을 변경하면 현재 섹션과 그 앞에 있는 모든 섹션이 실행됩니다.

  • 현재 섹션부터 끝까지 — 컨트롤이 포함된 섹션과 그 이후의 모든 섹션을 실행합니다.

  • 모든 섹션 — 라이브 스크립트에 있는 모든 섹션을 실행합니다.

  • 실행 안 함 — 어떠한 코드도 실행하지 않습니다.

라이브 스크립트에서 버튼 컨트롤을 사용할 경우 라이브 스크립트의 다른 모든 컨트롤에 대한 실행 필드를 실행 안 함으로 설정하는 것이 좋습니다. 그러면 사용자가 버튼 컨트롤을 클릭할 때만 코드가 실행됩니다. 이는 코드를 실행하기 전에 라이브 스크립트에 여러 개의 컨트롤 값을 설정해야 하는 경우에 유용합니다.

여러 대화형 방식 컨트롤을 사용하여 라이브 스크립트 만들기

이 예제에서는 MATLAB®에서 대화형 방식 컨트롤을 사용하여 환자 데이터를 시각화하고 조사할 수 있는 방법을 보여줍니다. 이 예제는 지정된 위치에 있는 환자의 연령과 수축기 혈압을 플로팅하고 지정된 혈압보다 높은 환자를 강조 표시합니다.

플로팅할 환자의 위치를 지정하려면 드롭다운 목록을 삽입하고 목록의 항목을 채우기 위해 locationStrings 변수를 선택하십시오. 수축기 혈압에 대한 임계값을 지정하려면 숫자 슬라이더를 삽입하고 minPressure 변수 및 maxPressure 변수를 최소최대 값으로 선택하십시오.

컨트롤을 살펴보고 사용해보려면 브라우저나 MATLAB에서 이 예제를 여십시오.

load patients
locationStrings = ["County General Hospital", "VA Hospital","St. Mary's Medical Center"];

selectedLocation = locationStrings(1);

minPressure = min(Systolic);
maxPressure = max(Systolic);

thresholdPressure = 132;

overThresholdAges = Age(Location==selectedLocation & Systolic>=thresholdPressure);
overThresholdPressures = Systolic(Location==selectedLocation & Systolic>=thresholdPressure);

sp1 = scatter(Age(Location==selectedLocation),Systolic(Location==selectedLocation),'blue');
hold on

sp2 = scatter(overThresholdAges, overThresholdPressures,'red');
hold off

title("Age vs. Systolic Blood Pressure of Patients at " + selectedLocation);
xlabel("Age")
ylabel("Systolic Blood Pressure")

legendText = sprintf("Patients with systolic pressure over %d mmHg.",thresholdPressure);
legend(sp2,legendText,Location="southoutside")

Figure contains an axes object. The axes object with title Age vs. Systolic Blood Pressure of Patients at County General Hospital contains 2 objects of type scatter. This object represents Patients with systolic pressure over 132 mmHg..

라이브 스크립트 공유하기

라이브 스크립트가 완료되면 다른 사람과 공유할 수 있습니다. 사용자들은 MATLAB에서 라이브 스크립트를 열고 대화형 방식으로 컨트롤을 사용해 볼 수 있습니다.

라이브 스크립트 자체를 대화형 문서로 공유할 경우 공유 전에 라이브 스크립트에서 코드를 숨기는 것이 좋습니다. 코드를 숨기면 라이브 편집기에는 서식 지정된 텍스트, 레이블이 지정된 컨트롤, 라이브 편집기 작업 및 출력값만 표시됩니다. 코드를 숨기려면 라이브 스크립트 오른쪽에 있는 코드 숨기기 버튼 을 클릭하십시오. 또는 보기 탭으로 이동한 다음 보기 섹션에서 코드 숨기기 를 클릭해도 됩니다.

라이브 스크립트를 정적 PDF, Microsoft® Word, HTML 또는 LaTeX 문서로 공유하면 라이브 편집기는 컨트롤을 코드로 저장합니다. 예를 들어, 이 라이브 스크립트를 HTML로 내보내면 드롭다운 목록은 현재 선택된 값(locationStrings(1))으로 대체되고 슬라이드 컨트롤도 현재 선택된 값(132)으로 대체됩니다.

Live script exported to HTML with the drop-down list and slider replaced by their values at export time

참고 항목

관련 항목