이 예제에서는 진단 특징 디자이너에서 생성하는 코드에 사용되는 몇몇 기본 명령을 보여줍니다. 이 예제는 이러한 명령을 사용하여 테이블에서 작업 공간 앙상블을 만들고, 새 특징에 대해 멤버별로 계산을 수행하고, 작업 공간 앙상블에서 특징 테이블과 앙상블 테이블을 만드는 방법을 보여줍니다.
작업 공간 앙상블과 상호 작용하는 것은 파일 앙상블 데이터저장소 또는 시뮬레이션 앙상블 데이터저장소와 상호 작용하는 것과 비슷합니다. 대다수 명령이 동일합니다. 외부 파일과 상호 작용하는 앙상블 데이터저장소와 달리, 작업 공간 앙상블 데이터저장소는 메모리 내 데이터와 상호 작용합니다.
테이블에서 작업 공간 앙상블 만들기
앙상블 테이블 dataTable을 불러옵니다. 여기에는 16개의 멤버가 포함되어 있으며 각 멤버는 진동 데이터, 회전속도계 데이터와 스칼라 결함 코드를 갖습니다.
dataTable의 변수에 해당하는 데이터 변수와 상태 변수를 지정하여 dataTable에서 작업 공간 앙상블 wensemble을 만듭니다.
wensemble =
workspaceEnsemble with properties:
DataVariables: [2×1 string]
IndependentVariables: [0×0 string]
ConditionVariables: "faultCode"
SelectedVariables: [3×1 string]
ReadSize: 1
NumMembers: 16
LastMemberRead: [0×0 string]
데이터 처리와 특징 추출에는 Vibration과 Tacho만 필요합니다. Vibration과 Tacho를 포함하도록 SelectedVariables를 지정합니다.
첫 번째 앙상블 멤버에서 진동 신호의 평균 계산하기
진동 신호의 평균은 각 멤버의 스칼라 특징을 나타냅니다. 여러 개의 멤버를 처리하는 루프로 스케일링하는 방식을 사용하여, 첫 번째 멤버에 대해 이 특징을 계산합니다.
앙상블을 재설정하고 첫 번째 멤버를 읽습니다.
m=1×2 table
Vibration Tacho
__________________ __________________
{6000×1 timetable} {6000×1 timetable}
멤버 테이블 m에서 진동 데이터를 추출합니다.
진동의 평균값을 계산합니다.
결과를 m에 추가합니다.
m=1×3 table
Vibration Tacho Data_Mean
__________________ __________________ _________
{6000×1 timetable} {6000×1 timetable} 0.021809
앙상블 변수에 새 특징 추가하기
업데이트된 멤버를 wensemble에 통합하려면 먼저 새 Data_Mean 특징을 앙상블 변수로 지정해야 합니다. 점 표기법을 사용하여 앙상블 데이터 변수 dv 세트에 Data_Mean을 추가합니다.
업데이트된 멤버 테이블을 작업 공간 앙상블에 추가하기
writeToLastMemberRead 명령을 사용하여 업데이트된 멤버 테이블을 앙상블에 추가합니다.
남은 앙상블 멤버를 순회하기
남은 앙상블 멤버에도 멤버별로 동일한 단계를 수행합니다.
작업 공간 앙상블에서 특징 테이블 및 앙상블 테이블 만들기
readFeatureTable 명령을 사용하여 wensemble에서 특징 테이블을 추출합니다. 처음 3개 행을 표시합니다.
faultCode Data_Mean
_________ __________
0 0.021809
1 -0.0092964
1 -0.46431
특징 테이블에는 상태 변수 FaultCode와 데이터 변수 Data_Mean이 포함되어 있습니다.
SelectedVariables 속성에 모든 변수가 포함되도록 설정하여 결과 앙상블 테이블에 모든 정보가 포함되도록 합니다.
wensemble =
workspaceEnsemble with properties:
DataVariables: [3×1 string]
IndependentVariables: [0×0 string]
ConditionVariables: "faultCode"
SelectedVariables: [4×1 string]
ReadSize: 1
NumMembers: 16
LastMemberRead: [0×0 string]
데이터저장소 명령 readall을 사용하여 작업 공간 앙상블을 앙상블 테이블로 변환합니다.
tensemble=16×4 table
Vibration Tacho Data_Mean faultCode
__________________ __________________ __________ _________
{6000×1 timetable} {6000×1 timetable} 0.021809 0
{6000×1 timetable} {6000×1 timetable} -0.0092964 1
{6000×1 timetable} {6000×1 timetable} -0.46431 1
{6000×1 timetable} {6000×1 timetable} 0.4922 1
{6000×1 timetable} {6000×1 timetable} 0.3923 1
{6000×1 timetable} {6000×1 timetable} -0.12383 1
{6000×1 timetable} {6000×1 timetable} 0.42548 1
{6000×1 timetable} {6000×1 timetable} -0.4598 1
{6000×1 timetable} {6000×1 timetable} 0.062685 0
{6000×1 timetable} {6000×1 timetable} 0.059155 0
{6000×1 timetable} {6000×1 timetable} 0.037965 0
{6000×1 timetable} {6000×1 timetable} 0.53982 1
{6000×1 timetable} {6000×1 timetable} 0.52377 1
{6000×1 timetable} {6000×1 timetable} 1.0357 1
{6000×1 timetable} {6000×1 timetable} 1.0592 1
{6000×1 timetable} {6000×1 timetable} -0.94084 1
테이블에 원래 신호와 새 특징이 포함되어 있습니다.