저는 매트릭스 A = [1 2 -3; 4 5 -2]. 이제 for 루프를 사용하지 않고 배열을 필터링하여 0보다 작은 모든 값이 0을 반환하도록합니다. 따라서 출력 매트릭스는 RES = [1 2 0; 4 5 0].범위 내의 값을 찾으십시오 : Matlab
문제를 해결할 수있는 링크/샘플 코드는 크게 감사하겠습니다.
저는 매트릭스 A = [1 2 -3; 4 5 -2]. 이제 for 루프를 사용하지 않고 배열을 필터링하여 0보다 작은 모든 값이 0을 반환하도록합니다. 따라서 출력 매트릭스는 RES = [1 2 0; 4 5 0].범위 내의 값을 찾으십시오 : Matlab
문제를 해결할 수있는 링크/샘플 코드는 크게 감사하겠습니다.
RES = A;
RES(RES<0)=0
RES<0
[false false true; false false true]
이 경우에, 논리 어레이를 생성한다. 그런 다음 표기 RES(RES<0)=
을 사용하면 모든 값을 어떤 값에 맞출 수 있습니다.
이것은 매우 일반적이며 유용한 Matlab 관용구입니다.
다른 사람이 보여준 것처럼 여러 가지 방법이 있습니다. 때로는 하나의 해결책이나 다른 것이 가장 좋기 때문에 당신이 느끼는 것은 당신이 가진 선택입니다. 따라서 이것을 시도하십시오 :
RES = max(A,0);
결과에서 각 요소에 대해 더 큰 값 또는 A (i)를 취합니다. 좋은 점은 결과를 미리 할당 할 필요가 없으므로이 솔루션은 단 한 줄만 필요하다는 것입니다.
대단히 고마워. – MKS