예전에 학부생 때는 회로이론 과목을 굉장히 좋아했던 기억이 있는데 오랜만에 저항을 보니 적응이 잘 안되더군요. 역시나 간단한 것이라고 해도 배운 것들은 그때그때 기록을 해놓는게 좋은것 같습니다.

오늘 기록하려고 하는 내용은 병렬저항 계산 공식인데 아시는 바와 같이 저항은 직렬 연결 됐을 경우에는 그냥 더하면 되고 병렬로 연결된 경우 아래와 같이 계산이 됩니다.

R1, R2 병렬 연결

R1, R2, R3 병렬 연결

R1, R2, R3, R4 병렬 연결

R1, R2, R3, R4, R5 병렬 연결

MATLAB 에서 병렬 저항을 조금더 편리하게 계산하기 위해 병렬 저항을 계산하는 MATLAB 코드를 작성했고 아래와 같습니다. 임의의 숫자의 아규먼트에 대해서 처리하기 위하여 아래의 포스팅에서 소개를 했던 varargin 을 사용했습니다.

http://iamaman.tistory.com/372

병렬저항 값을 계산하는 ParallelResistance 함수는 MATLAB 명령창에서 아래와 같이 사용하면 됩니다.

>> ParallelResistance(1,2,7,8)

ans =

0.5657



다른 언어의 함수들과 마찬가지로 MATLAB 함수 역시도 가변 개수의 인자를 받고 가변 개수의 출력이 나오게 할 수 있습니다.

 

함수의 가변 개수 입력 변수varargin 이라는 키워드를 이용하며, 가변 개수의 출력 변수varargout 이라는 키워드를 이용합니다.

 

Varargin, varargout 은 cell 타입의 변수로서 cell 타입에 대해 궁금하신 분들은 아래 링크의 글을 참조 하시기 바랍니다.


 2011/04/11 - [MATLAB] - MATLAB cell class

 
코드를 통해 예를 들어 설명 드리겠습니다.

 

아래 코드는 정말 간단하게 가변 개수의 입력을 받아서 그 수에 100을 곱해서 출력으로 내보내는 함수 입니다.

 

입출력 인자로 함수 선언부분에 varargin, varargout 키워드를 이용한 것을 확인 하시기 바랍니다.

 

 

각 입출력 변수는 cell 타입이므로 중괄호를 이용하여 각 값에 접근해야 합니다.

 

Command 창에서 다음과 같이 실행해 보았습니다.

 

 

입력 벡터의 각 값에 대하여 100 배가 돼서 출력되는 것을 확인 할 수 있습니다.


'programming language > MATLAB' 카테고리의 다른 글

MATLAB Coil Spring  (0) 2012.05.11
MATLAB Euler's formula  (0) 2012.05.01
MATLAB 뫼비우스의 띠  (0) 2012.03.23
MATLAB FFT 처리 속도  (0) 2012.03.19
MATLAB varargin, varargout  (6) 2012.03.12
MATLAB GUI 창 크기 조절  (4) 2012.03.03
MATLAB GUI  (4) 2012.02.24
MATLAB figure ButtonDownFcn  (0) 2012.02.22
Simulink Algebraic Loop  (0) 2012.02.13
  1. p 2014.04.14 21:16

    잘 보고 갑니다!

  2. Kang 2014.06.25 11:13

    덕분에 알고 갑니다!

  3. 성열이 2015.09.02 14:50

    감사합니다ㅋㅋ 이해 짱짱짱 잘 되요

+ Recent posts