본문 바로가기

matlab215

MATLAB 집합 관련 함수들 오늘은 MATLAB의 집합 관련 함수들에 대해 알아보겠습니다. 다음과 같은 벡터 A,B 에 대하여 교집합은 intersect()라는 함수를 이용합니다. 합집합은 union() 함수를 이용합니다. 차집합은 setdiff() 함수를 이용합니다. 위 결과에서 A-B 를 하므로 교집합 [1 2] 를 제외하고 [3 4 5 6] 이 출력되게 됩니다. 벡터 내의 유일한 원소에 대해 찾고 싶을 때는 unique() 함수를 이용합니다. 위 예에서 1, 2, 3 은 중복이 되 있으므로, 한번씩만 나타내게 되는 겁니다. 2011. 6. 13.
MATLAB plot tools 아래 포스팅에서 MATLAB의 graphic handle 에 대해 간단하게 설명 드렸는데요. 2011/05/25 - [MATLAB] - MATLAB Graphic handle 오늘은 GUI 로 각 property 들을 바꾸는 방법과 그래프 설정을 함수화 해서 재 사용하는 방법에 대해 알아보겠습니다. 일단 다음과 같은 코드로 그래프를 하나 띄우죠. x=1:10; y=1:10; plot(x,y); 위 코드를 실행해서 나온 아래 그림과 같은 그래프에서 빨간색 네모 칸 부분을 클릭 합니다. 그럼 창이 최대화 되면서 그림 창이 아래 그림과 같이 바뀌게 됩니다. 회색인 바탕 화면을 하얀색으로 만들고 싶으면 Figure Color 부분을 선택해서 원하는 색상으로 변경 하시면 됩니다. 그럼 다음과 같이 변하게 되죠. .. 2011. 5. 26.
MATLAB Graphic handle MATLAB 그래프를 좀 더 효율적으로 또는 다양하게 변화 시키고 싶다면, graphic handle 에 대해 아셔야 합니다. 일단 다음과 같은 y = x 그래프를 하나 그려보죠. x=1:10; y=1:10; h_graphic=plot(x,y); 다음과 같은 그래프가 나오죠. 위 코드의 h_graphic 이 바로 이 그래프 선의 handle 입니다. h_graphic 에는 그래프에 대한 다양한 property 들이 들어 있고 현재의 설정 상태를 확인 할 때는 get(h_graphic) 명령어를 통해 확인 할 수 있습니다. command 창에 다음과 같이 설정 상태가 나옵니다. 그럼 간단하게 set() 명령어를 이용하여 YData 를 다음 코드처럼 변경해 보죠. set(h_graphic, 'Ydata',[.. 2011. 5. 25.
MATLAB Dependency Report MATLAB 을 이용하여 다음과 같은 간단한 m 파일을 작성해 보겠습니다. 위 Editor 의 왼쪽 창은 test_file.m 파일이며 오른쪽에 있는 파일은 test_file.m 파일에서 이용한 MySin.m 함수 파일 입니다. 위 test_file.m 파일을 다른 사람에서 전달 한다면 당연히 test_file.m 파일과 MySin.m 함수 파일을 같이 전달해야 합니다. 위 예와 같이 함수가 하나인 경우에는 MySin.m 함수 파일을 빼 놓고 전달하는 경우가 없겠지만, 여러 사람이 같이 작업을 한다거나 또는 자신만의 library 를 작성하여 path 를 추가하여 이용하는 경우에는 주요한 함수들을 빼 놓고 전달해서 m 파일이 제대로 실행이 안 되는 경우가 종종 있습니다. 이런 경우에 Dependency .. 2011. 5. 21.
MATLAB ordinary differential equations 를 풀어보자~ dsolve() MATLAB Symbolic math toolbox 를 이용하면 공대생이라면 흔히 접하게 되는 상미분방정식(ordinary differential equations) 문제들을 굉장히 쉽게 풀 수 있습니다. dsolve() 명령어를 이용하여 아래 ordinary differential equations 문제를 풀어 보도록 하죠. dsolve() 함수를 이용하여 ordinary differential equation 을 풀 때 1차 미분은 D 로 표현을 합니다. 2차 미분은 D2로 표현을 하고 3차는 D3 로 표현을 하죠~ 위 식에 대해 MATLAB 의 dsolve() 함수를 이용하여 풀 때는 다음과 같이 합니다. S=dsolve('Dy+6*y=3*exp(-t)', 'y(0)=0') 그럼 다음과 같은 해가 .. 2011. 5. 15.
MATLAB symbolic math toolbox 를 이용한 합성 함수, 역함수 MATLAB 의 symbolic math toolbox를 이용하면 합성 함수나 역함수 등을 매우 쉽게 구할 수 있습니다. 합성 함수를 구해주는 함수로는 compose()라는 함수가 있습니다. 다음 식에 대해 간단히 합성 함수를 구해 보죠. , 위 식에 대한 합성 함수f(g(x)) 는 다음과 같습니다. syms x f= x^2+2*x+3; % f(x) g= sin(x); % g(x) fg=compose(f,g) % f(g(x)) ezplot(fg), grid on % f(g(x)) 그래프 결과는 다음과 같습니다. fg = sin(x)^2 + 2*sin(x) + 3 다음으로 역함수를 구해주는 함수인 finverse() 함수에 대해 알아보죠. 위 식에 대한 역 함수를 구하려면 다음과 같이 코딩 하시면 됩니다... 2011. 4. 29.
MATLAB function handle 추가 오늘의 포스팅에서는 function handle 사용법의 추가 적인 내용들에 대하여 정리하겠습니다. 여러 함수에 대해 똑 같은 값을 적용할 때에는 function handle 을 struct class 나 cell class 의 형태로 만들어서 이용할 수가 있습니다. 다음 수식에 대하여 struct 의 형태로 function handle 을 구성하고 그에 따른 값을 알아보죠. 다음과 같이 struct 의 형태로 표현 할 수 있고, x=-1:0.5:1 에 대한 각 수식의 값을 한번에 구할 수가 있습니다. struct 에 한번에 똑 같은 값 또는 함수 등을 적용 할 때는 structfun() 함수를 이용 합니다. 위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다. ans = f: [1 0.2500 0.. 2011. 4. 25.
MATLAB nargin, nargout MATLAB 의 함수는 종종 입력과 출력 argument 의 수가 가변적인 경우가 많습니다. x=magic(3) 위에서 선언한 변수 x 에 대하여 다음과 같이 max() 함수를 이용할 수 있습니다. s=max(x) s1=max(x, 3) [s2 n]=max(x) 위 코드를 보면 max() 함수를 이용하는데 x 라는 입력 하나만 줄 수도 있고, x,3 이라는 두 가지 입력을 줄 수도 있고, [s2 n]이라는 2개의 인자가 출력이 되게 할 수도 있습니다. MATLAB 에서 함수의 가변적인 입출력을 가능하게 하는 keyword 가 nargin, nargout 입니다. nargin 은 함수에 입력되는 인자의 수를 말하며, nargout은 함수의 출력의 수를 말 합니다. 그럼 예를 들어 설명해 보도록 하죠. 다음.. 2011. 4. 24.
MATLAB laplace, inverse laplace transform 오늘의 포스팅에서는 선형 시스템 해석에 주로 사용되는 Laplace transform 에 대해 알아 보겠습니다. 임의의 함수 f(x)에 대한 Laplace transform 의 정의는 다음과 같습니다. 그리고 inverse Laplace transform 은 다음과 같죠. MATLAB symbolic math toolbox 를 이용하면 위 식과 같은 Laplace transform 또는 inverse Laplace transform 을 매우 쉽게 할 수 있습니다. Laplace transform 은 laplace() 라는 함수를 이용하고, inverse Laplace transform 은 ilaplace() 라는 함수를 이용합니다. 간단하게 몇 가지 예를 들어 보죠. 가장 기본적인 위 식에 대해 Lapl.. 2011. 4. 24.
MATLAB 변수를 저장 하자~ mat file MATLAB 을 사용하다 보면 특정 변수를 파일로 저장하고 싶은 경우가 있습니다. 다음과 같은 경우를 보죠. 이라는 함수 f 를 function handle 로 정의 하고 x=1:10 에 따른 y 값을 구했습니다. 위 함수 f 와 , y 값을 파일로 저장해서 나중에 다시 사용하고 싶다면 다음과 같이 save 명령어를 이용하여 mat 파일로 저장 하시면 됩니다. 확인을 위해 clear 명령을 통해 workspace 에서 변수를 지운 다음에 load fy.mat 이라는 명령어를 통해 파일을 읽어 들이면 f, y 라는 변수가 그대로 workspace 에 load 되는 것을 확인 할 수 있습니다. 2011. 4. 21.
MATLAB NaN MATLAB 의 NaN키워드는 Not-a-Number 의 약자입니다. 즉 숫자가 아니라는 뜻입니다. 0/0 이나 ∞/∞ 와 같은 경우 NaN 이 출력 되게 되는데, 보통은 쓸모가 없다라고 생각하곤 합니다. 하지만 이런 NaN 키워드는 그래프를 그릴 때 매우 유용하게 사용할 수 있습니다. 그래프에서 특정 부분을 그래프에 나타내고 싶지 않을 때는 NaN 을 이용해서 표현을 하면 됩니다. 다음과 같은 경우를 보죠. x=1:10; y=x*2; figure, plot(x,y), grid on y2=y; y2(y>10)=nan; % y 의 값중 10 보다 큰 값들은 nan 으로 설정 figure, plot(x,y2), grid on 위 코드는 y 의 값 중에서 10 보다 큰 값들은 NaN 을 이용하여 그래프에서 제.. 2011. 4. 20.
MATLAB 파일 출력 MATLAB 에서 txt 파일을 출력하는 경우 다음 과정에 따라 처리 한다. fopen() 함수를 이용하여 파일을 쓰기 모드('w')로 연다. fprintf() 함수를 이용하여 파일에 내용을 쓴다. fclose() 를 이용하여 file handle 을 닫아 준다. 다음과 같은 데이터를 이용하여 위 과정 대로 test_file.txt 파일에 저장해 보자. 저장하는 과정은 다음 코드와 같다. 저장된 파일 test_file.txt 을 열어서 확인해 보면 다음과 같다. 7 8 3 7 7 1 1 5 위 결과를 보면 정상적으로 저장이 안 된 것을 확인 할 수 있다. 이는 fprintf 함수에서 %d %d 를 써서 10진수 숫자를 저장할 때 각 열 벡터 별로 즉 MATLAB 이 일반적으로 처리하는 행 순서대로 저장하.. 2011. 4. 19.
GNU Octave 를 이용해 보자 MATLAB 을 대체 할 만한 공학 프로그램으로 이전에 scilab 을 소개한 적이 있습니다. 2011/03/11 - [MATLAB] - SCILAB 오늘은 또 다른 오픈소스 프로그램으로서 MATLAB 과 문법이 굉장히 유사한 GNU Octave 에 대해 소개 합니다. 일단 다음 페이지에서 다운로드 가능 합니다. http://www.gnu.org/software/octave/download.html 위 주소에 가 보시면 GNU 프로그램이니 만큼 source code 뿐만이 아니라 Binary 파일을 제공해 주는군요. Linux , Mac OS X, Windows , Sun Solaris …. 와 같이 널리 사용되는 운영 체제에 대해서는 binary 파일을 제공해 주니깐 자신의 운영 체제에 맞게 다운로드 .. 2011. 4. 17.
MATLAB binomial r.v. generation 지난 포스팅에서 bernoulli r.v. generation 에 대해 설명 드린 바 있습니다. 2011/04/06 - [MATLAB] - MATLAB Bernoulli random variable generation 오늘은 그 연장선상으로 binomial r.v. generation에 대해 설명 드리겠습니다. binomial distribution은 이항 분포라고 하는데, 한번의 시행에서의 성공 확률이 p 인 경우 n 번의 시행에서 k 번 성공할 확률을 의미 합니다. 이렇게 말하니깐 잘 이해 못하시겠다면, 주사위의 예를 들면 이해 하기 편하실 것 같습니다. 주사위를 던져서 숫자 1이 나올 확률은 1/6 이죠. 10 번 던져서 k 번 만큼 숫자 1이 나올 확률이 이항 분포로 다음 식과 같이 표현 됩니다... 2011. 4. 17.
MATLAB cell class MATLAB 에는 약간 독특한 cell 이라는 class 가 존재 합니다. cell class 는 타입을 안 가리고 다 저장 하거든요. 숫자 문자를 가리지 않고 하나의 변수로 관리 할 수 있습니다. struct class 처럼 field 로 구분하는 것도 아닌 게 한 변수에 막 집어 넣으니깐 처음에는 참 신기하더군요. perl 을 접하신 분은 '당연한 거 아냐?' 하실 지도 ….. 아무튼 이 cell 타입이라는 게 나중에는 참 쓸모가 많아 지니깐, 알아 두시면 도움이 됩니다. 아!! 여담으로 MATLAB 에서 perl script 도 실행이 가능 합니다. MATLAB 에서 perl() 함수를 찾아 보시길~ 이런 것도 되? 하면서 좋아하실 분들도 있을 거라 생각 됩니다. 아닌가? ㅡㅡ; cell class.. 2011. 4. 11.
MATLAB 그래프에 값 넣기 추가, gtext() 이전 포스팅에서 text() 함수를 이용하여 원하는 좌표에 텍스트를 넣는 방법을 알아 봤습니다. 2011/04/09 - [MATLAB] - MATLAB 그래프에 값 넣기 오늘의 포스팅에서는 그래프의 좌표를 마우스로 클릭하면 값이 입력되는 gtext() 함수에 대해 알아 보겠습니다. 먼저 다음 명령어를 통해 그래프를 하나 띄워 보죠. x=1:10; plot(x,x,'r:.'), grid on 이제 다음 명령어를 통해 input 1 이라는 글자를 그래프에 넣어 보겠습니다. gtext('input 1') 위 명령어를 실행하고 그래프 위에 커서를 올리면 다음과 같이 십자선이 나타납니다. 원하는 위치에 클릭을 하면 아래 그림 처럼 글자가 입력이 됩니다. 다음으로 여러 글자를 한 지점에 입력해 보죠. 여러 글자를 .. 2011. 4. 9.
MATLAB 그래프에 값 넣기 MATLAB 이 굉장히 많은 장점 중 첫 번째가 그래프 기능이라고 생각된다. C/C++ 와 같은 언어를 이용해 계산을 하더라도 그 결과에 대해 그래프 출력을 하려면 참~ 어려움이 많다. MATLAB 은 단 몇 줄로 그래프 표현이 가능하다. 이번 포스팅에서는 이렇게 생성된 그래프에 값을 입력하는 방법에 대해 설명하려 한다. 일단 간단한 그래프를 하나 그려보자. x=1:10 x = 1 2 3 4 5 6 7 8 9 10 y=1:10 y = 1 2 3 4 5 6 7 8 9 10 figure, plot(x,y,'r:.'), grid on 위 그래프의 x=3, y=3 지점에 'x=3, y=3' 이라고 글자를 넣어 보자. 그래프에 글자를 넣는 함수는 text() 라는 함수가 있다. text(x,y,'string') .. 2011. 4. 9.
MATLAB Symbolic math toolbox 를 이용한 latex 변환과 수식 입력 이전 포스팅에서 Symbolic math toolbox 에 대해 간단하게 설명 드린 적이 있습니다. 2011/04/04 - [MATLAB] - MATLAB 수학이 쉬워지는 symbolic math toolbox 오늘은 symbolic math toolbox 를 이용한 latex code 변환과 MathType 이라는 수식입력 프로그램을 이용한 워드프로세서에서의 수식입력에 대해 설명 드리겠습니다. 간단하게 다음과 같은 등차수열의 합을 symbolic math 를 이용하여 계산하고 그 결과를 MathType 을 이용하여 워드에 입력해 보죠. 아래 코드는 symbolic math 를 이용하여 위 수식에 대해 계산한 것입니다. latex() 함수를 통해 결과를 latex code 로 표현해 줬습니다. 위 결과에.. 2011. 4. 7.
MATLAB Bernoulli random variable generation Random Variable을 생성하기 위해서는 r.v. 의 CDF 값을 알고 있어야 한다. CDF 값을 알고 있으면, 대부분의 컴퓨터 언어에서 기본적으로 제공하는 uniform r.v. 을 생성한 후 CDF 의 inverse 를 통해 r.v. 을 생성한다. 오늘의 포스팅에서는 MATLAB 을 이용하여 Bernoulli r.v. 를 생성해 보고 그 PMF(Probability Mass Function)와 CDF 를 확인한다. bernoulli r.v. 은 k=0, 1 에 대하여 다음과 같은 PMF 및 CDF 값을 갖는다. PMF: CDF: 그럼 이제 MATLAB을 이용하여 Bernoulli r.v. generation 을 생성해 보자. 코드는 다음과 같다. 위 코드는 p = 0.3 인 경우의 Bernou.. 2011. 4. 6.
MATLAB Symbolic math 미적분, diff(), int() MATLAB math toolbox 를 이용한 미분은 diff() 함수를 통해 구할 수 있습니다. 다음 식에 대하여 diff() 함수를 이용하여 미분을 수행해 보죠. syms x f = x^4+3*x^2+x+2 f = x^4 + 3*x^2 + x + 2 diff(f, x) % f 값을 x 에 대하여 미분 ans = 4*x^3 + 6*x + 1 diff(f, x, 2) % f 값을 x 에 대하여 2번 미분 ans = 12*x^2 + 6 Symbolic 식에 대한 적분은 int() 함수를 통해 이루어 집니다. 정적분 뿐만이 아니라 부정 적분도 수행 합니다. int(f,x) % 부정 적분 ans = x^5/5 + x^3 + x^2/2 + 2*x int(f, x, 1, 5) % 1~5 구간에 대한 적분 ans .. 2011. 4. 5.
MATLAB 누적합 cumsum(), 누적곱 cumprod(), 누적 사다리꼴 수치 적분 cumtrapz() cumsum() 함수를 이용하면 vector 또는 matrix 에 대한 누적 합을 아주 쉽게 구할 수가 있다. 사용법은 다음과 같으며, 행 또는 열 별로 이전 값과 누적이 되는 것을 확인 할 수 있다. cumprod() 함수는 누적 곱을 할 때 이용한다. cumtrapz() 함수는 누적 사다리꼴 수치 적분을 할 때 이용한다. 위 결과에서 trapz() 함수를 이용한 것과 cumtrapz() 함수의 마지막 값이 같음을 알 수 있다. 2011. 4. 4.
MATLAB 수학이 쉬워지는 symbolic math toolbox MATLAB 은 기본적으로 수치 연산을 수행합니다. 즉 , 1+2=3 이런 식으로 말이죠. 하지만 MATLAB Symbolic math toolbox 를 이용하면 symbolic 변수들을 이용한 계산도 가능합니다. symbolic math 란 c=a+b 형태로 문자를 이용한 수학 계산을 하는 것을 말합니다. symbolic math 를 이용하기 위해서는 첫 번째로 변수를 symbolic 형태로 선언 해 줘야 합니다. symbolic 선언은 sym() 함수를 이용합니다. x=sym('x') 하면 x 를 complex symbolic 변수로 선언합니다. default 로 complex 타입으로 선언하는 거죠 x=sym('x','real') 하면 x 를 real 변수로 선언합니다. x = sym('x', 'p.. 2011. 4. 4.
MATLAB Bisection method(이분법) 오늘의 포스팅에서는 MATLAB 을 이용하여 간단한 수치해석 기법인 bisection method(이분법) 에 대해 알아 보겠습니다. bisection method 는 특정 구간의 중간 값의 부호 판단을 통해 수치적으로 해를 구하는 방식입니다. 에 대하여 상대오차 10-8 이하가 되도록 [-10, 10] 구간에서 해를 구해 보겠습니다. command 창에서 결과를 확인하면 Bisection method 를 이용한 결과와 roots() 함수를 이용한 결과가 근사적으로 일치함을 확인 할 수 있습니다. 2011. 4. 3.
MATLAB rot90(), triu(), transpose, hermitian transpose, upper(), lower() MATLAB 의 rot90() 함수는 matrix 를 시계 반대방향으로 돌리는 기능을 하는 함수입니다. x=magic(4) x = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 위 x 에 대하여 다음과 같이 하면 시계 방대방향으로 90 도 돌리게 됩니다. x1=rot90(x) x1 = 13 8 12 1 3 10 6 15 2 11 7 14 16 5 9 4 위 x 에 90 도씩 3번 시계 방대방향으로 돌리고 싶다면 다음과 같이 하면 됩니다. x2=rot90(x,3) x2 = 4 9 5 16 14 7 11 2 15 6 10 3 1 12 8 13 다음으로 설명한 명령어는 triu(), tril() 함수 입니다. triu() 함수는 upper triangular 부분을 구하는 함수이며 tr.. 2011. 4. 3.
MATLAB diff(), sortrows(), 오늘의 포스팅에서는 MATLAB 기본 함수 몇 가지에 대해 설명해 보려 합니다. diff(X, n) 함수는 인자간의 차이를 구하는 함수 입니다. n 값은 차이를 구하는 횟수를 의미 합니다. 아래 예를 보면 쉽게 이해하실 겁니다. diff(x, 2) 는 차이를 두 번 구하는 거죠. diff(x) 의 결과를 보면 [2 2 2 2] 니까 이 벡터에 대해 차이를 구하면 [0 0 0]이 나오게 되는 겁니다. sortrows(X, n) 은 X matrix 를 n column index 기준으로 정렬하는 함수 입니다. default 는 오름차순입니다. 다음 예를 보죠. 1열을 기준으로 오름차순 정렬하는 예입니다. 2열을 기준으로 오름차순 정렬하는 예입니다. 다음 예는 1열을 기준으로 오름차순 정렬한 후에 1열에 같은.. 2011. 4. 3.
MATLAB .* ./ .^ 연산 MATLAB 은 matrix 연산을 기본으로 한다. 즉 다음과 같이 A*B 의 경우 matrix 곱셈을 수행한다는 것이다. 그런데 저 곱하기에 아래와 같이 .(점)만 하나 더 찍어 주면 각 인자간의 곱이 된다. 이처럼 인자간의 연산을 할 때는 당연히 두 벡터 또는 매트릭스의 size 가 같아야 한다. /, ^ 등의 연산자도 마찬가지다. ./, .^ 연산을 하게 되면 각 인자간의 연산을 수행하게 된다. 2011. 4. 1.
MATLAB index 이번 포스팅에서는 MATLAB 인덱스에 대해 설명한다. 다음 matrix A 에 대한 각 인덱스의 접근 방법에 대해 알아보자. : (콜론) 의 사용법에 대해 알아보자. : 은 a:b 와 같은 형태로 쓰이면 a~ b 까지라는 뜻이다. 인덱스에 접근하는 용도로 : 을 쓸 때 a,b 값은 1보다 큰 양의 정수 여야 한다. : 을 이용하여 A 의 3행 1열부터 4열 까지의 값을 B 라는변수에 입력해 보자. 행, 열을 구분하지 않고 다음과 같이 접근할 수도 있다. MATLAB 은 기본적으로 행 벡터 즉 열을 기준으로 연산을 하는 특징이 있다. A 의 5행 모든 열을 D 라는 변수에 입력해 보자. 콜론을 이용하여 인덱스에 접근을 할 때 콜론만 단독으로 쓰일때는 '모든 것' 을 의미 한다. 다음으로 인덱스 접근시의 .. 2011. 4. 1.
MATLAB shortcut, 단축키 설정 오늘은 MATLAB 단축키 설정 방법에 대해 알아 본다. MATLAB desktop 에서 File 메뉴 à 그 다음에 Preferences 메뉴에 들어간다. 그럼 다음과 같은 창이 뜬다. 1번 부분을 선택하여 shortcut 설정 탭으로 들어간다. 2 번 부분에 설정하고자 하는 주제를 입력한다. 위 예에서는 cell 에 대한 단축키를 설정하기 위해서 cell 을 썼다. 3번 부분에 나온 단축키 설정 가능한 리스트들 중에서 설정 하고자 하는 동작을 선택한다. 기존에 단축키가 있었다면 4 번 부분에서 원하는 단축키를 설정한다. 기존에 단축키가 없는 동작에 대해 단축키를 설정하기 위해서는 5번 부분에 있는 + 를 누르고 4번 부분에서 단축키를 설정한다. 마지막으로 다 설정을 했으면 Apply à OK 를 누른다. 2011. 4. 1.
MATLAB 최대공약수 gcd(), 최소공배수lcm() 오늘의 포스팅에서는 최대 공약수와 최소 공배수 관련 함수에 대해 살펴 본다. MATLAB 내장 함수로 gcd() 함수는 최대 공약수를 계산해 주는 함수이다. scalar 뿐만이 아니라 벡터에 대해서도 최대 공약수를 계산해 준다. 사용법은 다음 예와 같다. 다음으로 최소 공배수를 계산해주는 함수는 lcm() 이다. lcm() 함수 역시 scalar 뿐만이 아니라 벡터에 대해서도 최소 공배수를 계산해 준다. 2011. 3. 30.
MATLAB 소수 관련 함수 primes(), isprime() 이번 포스팅에서는 MATLAB 의 내장 함수 중 primes(), isprime()에 대해 알아보고, 소수인지 판별해주는 함수를 직접 작성해 보겠습니다. 내장 함수 중 소수를 생성해주는 함수로는 primes(n) 라는 함수가 있습니다. 이 함수는 n 보다 작은 소수를 생성해 줍니다. 아래 예는 primes() 함수를 사용하여 30보다 작은 소수들을 생성한 것입니다. 소수인지 판별하는 함수는 isprime(K) 라는 함수가 있습니다. 이 함수는 K 가 소수면 1 아니면 0을 반환하게 됩니다. 사용법은 다음과 같습니다. 그럼 이제 소수인지 판별하는 함수를 직접 코딩 해 보죠. 함수 이름은 My_isprime() 이라 해 보죠. 제가 짠 함수는 아래와 같습니다. 일단 벡터나 매트릭스 입력에 대해서도 동작하게 .. 2011. 3. 30.