길이 2의 벡터 값을 여러 변수에 할당하고 싶습니다. size ()의 출력은 다음과 같이 할 수 있습니다.
% works
[m,n] = size([0 0]);
그러나 이것을 두 줄로 나누는 것은 작동하지 않습니다.
sz = size([0 0]);
[m,n] = sz;
% returns:
% ??? Too many output arguments.
변수에 할당 될 때 손실되는 크기의 반환 값에 대해 특별한 점은 무엇입니까?
소개 한 사용자 지정 함수는 상당히 과잉이며 eval
나쁜 습관으로 간주되는 함수를 사용합니다 . 훨씬 더 짧게 할 수 있습니다. 그게 필요한 전부입니다.
function [ varargout ] = split( Vector )
varargout = num2cell( Vector );
end
그리고 varargout
가변 길이 출력 인수 목록이 있기 때문에 더 많은 인수를 위해 함수를 편집 할 필요가 없습니다.
벡터뿐만 아니라 행렬에서도 작동합니다.
[a,b,c,d] = split( [1,2;3,4] )
a = 1
b = 3
c = 2
d = 4
행렬 호환성이 마음에 들지 않으면 조건을 포함하고 입력 벡터의 차원을 확인하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다