2011-03-01 2 views
12

MATLAB에서이 작업을 수행 할 수 있는지 여부는 알 수 없으며 코드에서 미학을 위해 순수하게 사용하고 싶지만 MATLAB이 동시에 두 개의 변수를 만들 수 있습니까?MATLAB에서 동시에 여러 변수를 정의 하시겠습니까?

x = cell(4,8); 
y = cell(4,8); 

유사한 코드 뭔가 쓸 수있는 방법이 있나요 :

x&y = cell(4,8); 
+1

MATLAB 코드에서 미학을 추구하는 것은 항상 오름이 전투입니다. 하지만 내 대답은 아래 참조하십시오. –

+1

* 다른 * 값을 사용하여 변수를 초기화하려면 [MATLAB에서 다중 할당을 수행하는 방법은 무엇입니까?] (http://stackoverflow.com/questions/2337126/how-do-i- 할 멀티 - 할당 -에서 - matlab) * 같은 * 값으로 그들을 초기화하려는 경우 다음 [앤드류의 제안] (http://stackoverflow.com/questions/5158032/define-multiple-variables-at-the -same-time-in-matlab/5158206 # 5158206)를 사용하는 것이 좋습니다. – gnovice

답변

25

사용 쉼표로 구분 된리스트는 식의 왼쪽에 여러 변수를 얻을 수있는가.

deal()을 사용하여 여러 줄을 한 줄씩 지정할 수 있습니다.

[x,y] = deal(cell(4,8), cell(4,8)); 

단일 입력으로 호출하면 모든 출력이 동일한 값을 얻습니다.

[x,y] = deal(cell(4,8)); 

>> [a,b,c] = deal(42) 
a = 
    42 
b = 
    42 
c = 
    42 
+0

이것은 완벽합니다. 정말 고마워요. – user379362

3

데이터를 생성하는 데 사용하는 기능에 따라 다릅니다. 둘 이상의 출력을 갖는 MATLAB에서 자신 만의 함수를 만들 수 있습니다.

[a, b, c] = foo(); 

많은 내장 함수에도이 옵션이 있습니다. 그러나 이것은 반환 함수에 의해 직접 지원되어야합니다.

+0

예, 지원됩니다. 보시다시피 쉼표 구문이 답입니다. –

+0

확인. 방금 대답에서 마지막 줄을 제거했습니다. –

+0

나는 너의 대답을 더 좋아한다. 매우 자세한 것은 아니지만 "이 값들을 어떻게 형식으로 반환합니까?" 질문에 없습니다. –

관련 문제