2016-10-22 3 views
0

다음은 기본 설정입니다. 설정 조건이 일정한 허용 오차 이하가 될 때까지 반복하는 while 루프를 작성하려고합니다. 그러나이 루프는 동일한 행렬 내의 여러 값에 대해 일반화되어야합니다. (나는 현재 달성하기 위해 노력하고있어에서 간체) 예 :다중 조건 While 루프 (동일한 변수 내의 다중 조건 포함)

x = [3; 2] 
tolerance = [0,0] 
iter = 0 
while x > tolerance 
x = x - 1; 
iter = iter + 1; 
end 

내가 직면하고 문제는 함수의 값의 1은 허용 오차보다 작은으로 while 루프는 즉시 종료 것입니다. 내가 의도하는 것은 while 루프가 둘 다 원하는 공차보다 낮아질 때까지 두 변수를 반복하는 것입니다. 반복되는 변수의 크기가 2 값으로 설정되지 않기 때문에 두 개의 별도 루프를 가질 수 없습니다.

어떤 종류의 도움이라도 대단히 감사하겠습니다.

답변

2

Matlab에는 이와 비슷한 기능을 수행하는 anyall과 같은 두 가지 기능이 있습니다. 또한

while sum(x>tolerance) > 0 

같은 다른 트릭이 같은 일을 달성하기 위해 할 수있는

while any(x>tolerance) 
    ... 
end 

,하지만 : 요소 중 하나가 truthy 경우 true을 반환

any, 여기에 당신을 도울 것입니다 나는 의미 상으로 명백한 any이 맘에 든다.