비교

2012-05-10 3 views
0

가능한 중복 :비교

[a,b,c,d] = getVal(x); 

것은이 제공됩니다
how to compare array with matlab

다음

이의 예 나는 무엇을 찾고 있어요 :

a = 
    a 

b= 
    0 

c = 
    10 

d = 
    [] 

그리고 내가 가진 :

expected = {'a','0','10',[]}; 

내가 [a,b,c,d]과 기대 사이의 비교를 만들 수 있습니까? 난 단지 getVal(x)를 호출 할 때 , 그것은 나에게 첫 번째 값을 제공 내가 쓸 때 :

[a,b,c,d] = getVal(x) 

는 다음 나는 로그에 모든 값을 얻었다. 전화 할 때 왜 이런 경우가 아닙니까?
getVal(x)? 비교를 위해 나는 시도 :

isequal([a,b,c,d], expected {1:end}) 

하지만이 작동하지 않는, 어떤 생각이 어떻게 내 문제를 해결하기 위해?

+0

등의 작업을 수행하면 방금 이전 질문을 편집하여 계속 진행할 수 있습니다. http://stackoverflow.com/questions/10533761/how-to -compare-array-with-matlab –

답변

0

a, b, c, d을 행렬에 넣지 마십시오. 그러면 공간이 추가됩니다. 단순히 getVal(x) 모든 값을 제공하지 않습니다 호출 왜

>> a='a'; b='0'; c='10'; d=[]; 
>> expected = {'a','0','10',[]}; 
>> isequaln({a,b,c,d}, expected) 

ans = 

    1 

당신은 또한 질문 : 대신, expected 위해 가지고처럼 셀 배열을 사용합니다. 이는 MATLAB에서 함수가 출력 매개 변수의 수, 즉 할당의 왼쪽에있는 변수의 수에 반응 할 수 있기 때문입니다. getVal 함수는 네 개의 출력 매개 변수와 함께 호출되는 경우 네 개의 값을 반환합니다. 특별한 일을하지 않으면 0 또는 하나의 출력 매개 변수로 호출하면 'a'의 예제에서이 값 중 첫 번째 값만 반환됩니다. 위의 네 가지 값을 모두 포함하는 셀 배열을 원할 경우

[a, b, c, d] = getVal(x) 
{a, b, c, d} 
+0

getVal (x) 마녀가 [a, b, c, d]를 반환하는 함수를 사용하고 있는데이를 예상과 비교하고 싶습니다. – lola

+0

그래서요? 비교 단계는 값을 얻은 방법에 영향을받지 않습니다. (그냥 "안전한"상태에있게하십시오 : "비교"는 "두 가지를 가져 와서 그들이 동등한 지 확인하십시오.") –

+0

제안 된 솔루션에서 기대 한 값을 construncting하는 반면 기대 한 값을 함수가 반환 한 실제 값과 비교하려고합니다 – lola