2017-11-14 26 views
0

본질적으로 2 개의 인수를 입력 할 수있는 swap 함수를 가질 수 있기를 원합니다. 첫 번째 점은 중심점, 반전 점, 두 번째 점은 점을 기준으로 반대 위치를 찾고 싶습니다.선택한 숫자 점을 중심으로 정수를 반전하는 방법

따라서 swap(5,2)에 넣으면 8을 반환합니다.
아이디어는 5-2=3이고 5+3=8입니다.

답변

1

기능 형태 (자체 .m 파일이나 다른 함수 파일에)

function out = swap(x, y) 
    out = x + (x-y); 
end 

% Then in another file/command window 
swap(5,2) % >> 8 

익명 기능 (이 사용되는 범위 내에서 어디서나 정의 할 수 있습니다)

swap = @(x,y) x + (x-y); 
% Then in same function/script 
swap(5,2) % >> 8 
2

그냥에서 아래로 쓰기 논문 :

function out = swap(in1,in2) 
% pivot = in1 - in2; 
% out = in1 + pivot = in1 + (in1 - in2) = 2*in1 - in2 
out = 2*in1 - in2;