2011-11-14 3 views
0

나는 하나의 매트릭스라는 대상 (1X4000); 열 1에서 2000은 double 값 0을 포함하고 열 2001에서 4000은 double 값을 포함합니다.도움이 필요하십니까 matlab에 숫자 비교

a) 값이 0인지 확인하려는 target_1이라는 행렬을 만들고 싶습니다. 하루의 끝 나는 행렬이 있어야합니다 : 열 1과 2000 값 1과 열 2001 : 4000 값이 0과

b) 위와 같은 상황이지만 이번엔 값이 1인지 확인하고 싶습니다. 항목 1을 만들고 0 인 경우 항목을 0으로 만듭니다. 끝에. 내 새로운 매트릭스 targets_2 값이 포함되어 있습니다 : 값이 0과 열이있는 2000 1 열 및 값이 1 인 4000 :

strcmp 함수를 사용하여 문자열 검사를하는 방법을 알고 있지만 문제는 원래의 행렬이 두 배입니다. 그리고 같은 기능이 있는지 모르겠다.

setosaCmp = strcmp ('setosa', 종);

이중 (숫자)으로 작업 할 수 있습니다. 어떤 도움을 받으실 수 있습니다

+0

숫자 값 strcmp' '의'당량 eq' 또는 단순히'== '비교 연산자이다. (수치가 셀 배열에 있다면, 'cell2mat'가 도움이 될 수도 있고, 익명의 함수와'cellfun'을 사용하여 약간 엉망이 될 수도 있습니다.) –

답변

0

에는 다음과 같은 당신의 설명을 만족시킬 것 같은 소리. 이에서 나는 추측하고있어 그

  1. setosa 널리 통계 도구 상자 데모에 사용 된 피셔 아이리스 데이터 세트에서 홍채의 종이며,
  2. 당신은 클래스 레이블을 포함하는 변수가 있고, 같이, 통계 도구 상자를 가지고 클래스 표시기 변수 (즉, 각 클래스 레이블에 대한 새로운 변수, 각 클래스가 해당 클래스에있을 때 1, 그렇지 않을 때 0)를 구성하려고합니다.

맞습니까? 그렇지 않다면 나를 무시하십시오.

제가 맞다면, 찾고 계신 명령이 Statistics Toolbox의 dummyvar이라고 생각합니다. 이 시도 :

>> classLabels = [1, 2, 1, 2, 3, 1, 3]; 
>> dummyvar(classLabels) 
ans = 
1  0  0 
0  1  0 
1  0  0 
0  1  0 
0  0  1 
1  0  0 
0  0  1 
1

귀하의 질문은 명확하지 않습니다. 난 당신이 setosaCmp = strcmp('setosa', species);을 언급 한 사실에 순전히이 대답을 내놓고있어

targets_1 = 1 - targets; 
targets_2 = targets; 
1
targets1 = double(targets == 0); 
targets2 = targets;