FD는 엑셀 파일이고 A는 FD 열 5의 데이터입니다 (열 5의 각 셀은 1,2 또는 3을 포함합니다)왜 Matlab에서 벡터에 단락 논리 연산자를 사용할 수 없습니까?
FD의 5 열에있는 셀에 2 또는 3이 포함 된 경우 . FD의 컬럼 5의 셀은 1 또는 3 .. 다음 ... 가 ELSEIF 컬럼 5에서 모든 셀이 1 등을 포함 다른 경우에만, 다음 .. ...
A = FD (: 5); = 3 × 3 행렬
If A == 2 || A == 3
Avg = sum(diag(C)./sum(C+eps,2))/2;
elseif A == 1 || A == 3
Avg = sum(diag(C)./sum(C+eps,2))/2;
elseif A == 1 || A == 2
Avg = sum(diag(C)./sum(C+eps,2))/2;
elseif A == 1
Avg = C(1,1)/sum(sum(C));
elseif A == 2
Avg = C(2,2)/sum(sum(C));
elseif A == 3
Avg = C(3,3)/sum(sum(C));
else
Avg = sum(diag(C)./sum(C,2))/3;
end
C 그러나, 전술 한 코드와 함께 오류가있다. ??? || 피연산자 & & 연산자는 논리 스칼라 값으로 변환 할 수 있어야합니다.
누구에게 도움을 줄 수 있습니까?
어떤 오류가 발생합니까? 'A = FD (:, 5)'는 무엇을 의미합니까? (FD는 무엇입니까? 하나의 숫자 또는 벡터입니까?) 또한 첫 번째 2 개로 덮여 있기 때문에 마지막 4 개의 elseif 문에 도달하지 않는 것처럼 보입니다 ('A'가 1,2, 또는 3이면 다음 중 적어도 하나가 true가됩니다 :'A == 2 || A == 3' 및'elseif A == 1 || A == 3', 즉'elseif A == 1 ','elseif A == 2','elseif A == 3'는 절대로 도달하지 않을 것입니다 ... –
@ mathematical.coffee, 그냥 질문을 편집했습니다. 예, elseif A == 1 ...에 도달 할 수 없습니다. ..so.. 어떻게 수정하겠습니까? – rock
'all()'과'any()'를 사용하는 법을 배웁니다. – cyborg