2014-05-13 5 views
0

나는 시간 값을 순서대로 포함하는 벡터 배열을 가지고 있습니다. 관계형 표현식을 사용하면 해당 배열에서 부분 집합 값을 얻을 수 있습니다. 그런 다음 새 변수를 만들지 않고 그 부분 집합의 첫 번째 값이 필요합니다. 예를 들면. 시간은 내가 시간의 부분 집합의 값을 얻을 수 Time(something==X)를 사용할 수 열 벡터이다,하지만 난 불행히도 MATLAB와 당신이 필요로하는배열을 사용하여 스칼라 표현식을 얻습니다. Matlab

+4

도 참조 최고 투표 MATLAB 태그가 질문 : http://stackoverflow.com/questions/3627107/how-can -i-index-a-matlab-array-first-assigning-it-by-a-function-by-a-function에 의해 반환됩니다. – David

답변

2

UU 일부 프로그래밍 언어와 같은 Time(something==X)(1)을 사용할 수 없습니다 Time(something==X)의 첫 번째 값이 필요합니다 임시 변수를 사용합니다. 그것은 매우 자연스럽지 만 인덱싱을 지원한다면 나는 좋아할 것이지만 이런 종류의 인덱싱을 지원하지 않습니다.

당신은이 작업을 수행해야합니다 :

x = Time(something==X); 
y = x(1); 

옥타브 그래도 색인이 종류의 일을하는 능력을 가지고있다. 내가 도망 칠 수있는 유일한 방법은 cell arrays을 사용하는 것입니다. 그러나 법선 벡터를 사용하려면 SOL입니다.

편집 : 5 월 13, 2014 - 다윗의 의견을 참조하는, 그것은 는 임시 변수없이이 작업을 수행 할 가능하지만 가독성이 매우 좋지 않습니다. 결국 임시 변수는 가독성과 재현성을위한 더 나은 방법입니다. 다음 사항을 확인하십시오 SO 그가 언급했다고 게시 : SO에