์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
MATLAB
๋ฒ„์ „
MATLAB 9.9, R2020b
2020๋…„ 9์›” 17์ผ ์—…๋ฐ์ดํŠธ
์›น์‚ฌ์ดํŠธ
disp( 'Hello, world!' )
'Hello World!'

1. ๊ฐœ์š”2. ์šฉ๋„
2.1. ์ด๊ณต๊ณ„
2.1.1. ๊ณต๋Œ€ ๋Œ€ํ•™์›
2.2. ์ƒ๊ฒฝ ๋ฐ ์ธ๋ฌธ๊ณ„2.3. ํƒ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด์™€์˜ ๋น„๊ต
3. ์—ญ์‚ฌ4. ํŠน์ง•
4.1. ์žฅ์ 4.2. ๋‹จ์ 
5. ๋น„์‹ผ ๊ฐ€๊ฒฉ6. ๊ธฐํƒ€7. ๊ด€๋ จ ๋ฌธ์„œ


1. ๊ฐœ์š”[ํŽธ์ง‘]

๋ณด์Šคํ„ด์— ๋ณธ์‚ฌ๋ฅผ ๋‘๊ณ  ์žˆ๋Š” Mathworks ็คพ์—์„œ ๊ฐœ๋ฐœํ•œ ๊ณตํ•™์šฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€.

์ผ๋ถ€ ์‚ฌ๋žŒ๋“ค์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ดํ•ดํ•˜๊ธฐ๋„ ํ•˜์ง€๋งŒ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ผ๊ธฐ ๋ณด๋‹ค๋Š” ํ•ด๋‹น ์†Œํ”„ํŠธ์›จ์–ด์˜ ์Šคํฌ๋ฆฝํŒ… ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ๋žŒ๋“ค์ด ์–ธ์–ด๋กœ ๋ฐ›์•„๋“ค์ด๋Š” ๊ฒƒ์— ๊ฐ€๊น๋‹ค. ์ด ์‚ฌ์‹ค์€ MATLAB์˜ ์ˆ˜์ต๊ตฌ์กฐ๊ฐ€ ์ปดํŒŒ์ผ๋Ÿฌ ์ž์ฒด์˜ ํŒ๋งค๊ฐ€ ์•„๋‹ˆ๋ผ, ๊ฐ์ข… ํˆด๋ฐ•์Šค/์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜๋“ค์˜ ํŒ๋งค์— ๊ธฐ๋ฐ˜ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ๋‹ค.[1] R2014b๊นŒ์ง€๋Š” 1๊ธฐ๊ฐ€ ๋žจ์„ ์ง€์›ํ•˜๋ฉฐ ๊ทธ ์ดํ›„๋Š” ์ตœ์†Œ 2๊ธฐ๊ฐ€ ๋žจ์ด ํ•„์š”ํ•˜๋‹ค. ์ด๋ฆ„์˜ MAT๋Š” ์ˆ˜ํ•™(mathematics)์ด ์•„๋‹ˆ๋ผ ํ–‰๋ ฌ(matrix)์—์„œ ๋”ฐ์™”๋‹ค. MATLAB ๋กœ๊ณ ๋Š” L์ž ๋ชจ์–‘์˜ Membrane์„ ์ง„๋™์‹œํ‚ฌ ๋•Œ ๋‚˜ํƒ€๋‚˜๋Š” Eigenmode ์ค‘ ํ•˜๋‚˜๋ฅผ ์‹œ๊ฐํ™”ํ•˜๋ฉด ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์— ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด ๋‚˜์™€์žˆ๋‹ค.

๋Œ€๋ถ€๋ถ„์˜ ๋ฏธ๊ตญ ๊ณต๋Œ€์—์„œ ์ฒ˜์Œ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ž…๋ฌธํ•˜๋Š” ํ•™์ƒ๋“ค์ด ์ œ์ผ ๋จผ์ € ๋ฐฐ์šฐ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ผ๊ณ  ๋ณผ ์ˆ˜๋„ ์žˆ๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ๋„ ๋ณผ ์ˆ˜ ์žˆ์œผ๋‚˜[2], ์“ฐ๋Š” ์‚ฌ๋žŒ์˜ ๋ชฉ์ ์— ๋”ฐ๋ผ ๋‘ ๊ฐ€์ง€ ์„ฑ๊ฒฉ์ด ๋ชจ๋‘ ๋‚˜ํƒ€๋‚˜๊ธฐ๋„ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ์„ฑ๊ฒฉ ๋•Œ๋ฌธ์— ์žฅ๋‹จ์ ์ด ๊ฝค๋‚˜ ๊ทน๋‹จ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š”, ๋น›๊ณผ ์–ด๋‘ ์ด ๊ณต์กดํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๊ฒธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ํ•˜๊ณ ์ž ํ•˜๋Š” ์ผ์— ๋”ฐ๋ผ์„œ ํŽธ๋ฆฌํ•  ๋•Œ๋Š” ํ•œ์—†์ด ํŽธ๋ฆฌํ•˜์ง€๋งŒ[3], ๋ถˆํŽธํ•  ๋•Œ๋Š” ํ•œ์—†์ด ๋ถˆํŽธํ•˜๋‹ค.[4]

๊ตญ๋‚ด์—์„œ๋„ ์ด๊ณต๊ณ„์—ด ๋Œ€ํ•™์ƒ/์˜์žฌํ•™๊ต, ๊ณผํ•™๊ณ  ํ•™์ƒ๋“ค์ด ์ œ๋ฒ• ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ๋ฌธ๋ฒ•์€ ์•„์ฃผ ๊ฐ„๋‹จํ•˜๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ „๋ฌธ์ ์ด์ง€ ๋ชปํ•œ ํ•™์ƒ๋“ค์ด ๋…ผ๋ฌธ์„ ์œ„ํ•œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ํ•˜๊ธฐ ์œ„ํ•ด ์ ‘ํ•˜๋Š” ๊ฒฝ์šฐ ๋“ฑ, ๊ธ‰์ž‘์Šค๋Ÿฝ๊ฒŒ ํ•„์š”ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„์„œ ์ •ํ†ตํ•œ ์‚ฌ๋žŒ์ด ๋งŽ์ง€ ์•Š๋‹ค.[5] ๊ทธ ๋•Œ๋ฌธ์ธ์ง€ ์ „๊ณต ์ง€์‹์ด ๋ถ€์กฑํ•ด๋„ ์ด ํ”„๋กœ๊ทธ๋žจ์„ ์ž˜ ๋‹ค๋ฃฌ๋‹ค๋ฉด, ์•„๋‹ˆ, ํฌ๊ธฐํ•˜์ง€ ์•Š๊ณ  ๋ˆ๊ธฐ ์žˆ๊ฒŒ ๋ถ™์žก๊ณ  ๋Š˜์–ด์งˆ ์ˆ˜๋งŒ ์žˆ์–ด๋„ ๋Œ€ํ•™์› ์„ ๋ฐฐ๋“ค์ด๋‚˜ ๊ต์ˆ˜๋“ค๋กœ๋ถ€ํ„ฐ ๊ต‰์žฅํžˆ ์ด์จ๋ฐ›๋Š”๋‹ค.

์–ด์ฐŒ๋ณด๋ฉด ๊ณต๋Œ€ ํ•™๋ถ€/๋Œ€ํ•™์› ์กธ์—… ํ›„์—” ์“ฐ๊ธฐ ํž˜๋“  ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ๋ผ์ด์„ผ์Šค๊ฐ€ ๋น„์‹ธ์„œ ์–ด์ง€๊ฐ„ํ•œ ํšŒ์‚ฌ์—์„œ ๋ชป ์‚ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์–ด์ง€๊ฐ„ํ•œ ์—ฐ๊ตฌ์†Œ/ํšŒ์‚ฌ์—์„œ๋Š” MATLAB ๋ผ์ด์„ผ์Šค๋ฅผ ์‚ฌ์ฃผ๋Š” ๋Œ€์‹ ์— ๊ธฐ์กด์— ๋ณด์œ ํ•˜๊ณ  ์žˆ๋Š” C/C++/FORTRAN ๋“ฑ์˜ ์ฝ”๋“œ์— ๋งž๊ฒŒ ์—ฐ๊ตฌ์ž๊ฐ€ ์ฝ”๋“œ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธธ ๋ฐ”๋ž€๋‹ค. ๊ฐ€๋”์”ฉ, ๋ถ€์œ ํ•œ ํ™˜๊ฒฝ์—์„œ๋Š” ์—…์ฒด/๊ธฐ๊ด€์—์„œ MATLAB์„ ์ œ๊ณตํ•˜๊ธฐ๋Š” ํ•œ๋‹ค.[6] ๋‹ค๋งŒ ์ด ๋•Œ์—๋„ ์ตœ์ข… ๋ชฉํ‘œ๊ฐ€ MATLAB ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๊ธฐ ๋ณด๋‹ค๋Š”, ํ”„๋กœํ† ํƒ€์ดํ•‘์„ MATLAB์œผ๋กœ ํ•ด์„œ ์„ฑ๋Šฅ์„ ๊ฒ€์ฆํ•˜๊ณ  C++ ๋“ฑ์œผ๋กœ ๋ณ€ํ™˜์„ ํ•˜๊ฑฐ๋‚˜, ์‹œ๋ฎฌ๋งํฌ ๊ธฐ๋ฐ˜์˜ ์ž๋™์ฝ”๋“œ ์ƒ์„ฑ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•˜์—ฌ ์‹œ๋ฎฌ๋งํฌ ๋ธ”๋Ÿญ ๋‹ค์ด์–ด๊ทธ๋žจ์œผ๋กœ๋ถ€ํ„ฐ embedded C ์ฝ”๋“œ๋ฅผ ์ƒ์‚ฐํ•ด ๋‚ด๊ธฐ๋„ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์š”์ฆ˜์€ MATLAB ๋ชป์ง€ ์•Š๊ฒŒ ๊ฐ„๋‹จํ•œ ๋ฌธ๋ฒ•์„ ๊ฐ€์ง„ Python์˜ ์ธ๊ธฐ๊ฐ€ ํ•˜๋Š˜ ๋†’์€ ์ค„ ๋ชจ๋ฅด๊ณ  ์น˜์†Ÿ๋Š” ์ค‘์ธ๋ฐ๋‹ค๊ฐ€ ๊ณต์งœ, ์˜คํ”ˆ์†Œ์Šค๋ผ์„œ MATLAB ๋ผ์ด์„ ์Šค ๋น„์šฉ์„ ๋ชป ๋‚ด๋Š” ํšŒ์‚ฌ์—์„œ ๋Œ€์ฒด์šฉ์œผ๋กœ ๋งŽ์ด ์“ฐ์ธ๋‹ค. ํŒŒ์ด์ฌ์ด ๊ณตํ•™์„ ๋…ธ๋ฆฌ๊ณ  ๋งŒ๋“ค์–ด์ง„ ์–ธ์–ด๋Š” ์•„๋‹ˆ์ง€๋งŒ matplotlib, numpy ๋“ฑ ์œ ์šฉํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์ž˜ ๋‹ค๋ฃฐ ์ค„๋งŒ ์•ˆ๋‹ค๋ฉด ๊ฑฐ์˜ ์™ ๋งŒํ•˜๋ฉด MATLAB์˜ ๋Œ€์šฉํ’ˆ์œผ๋กœ ๋”ฑํžˆ ๋ถ€์กฑํ• ๊ฒŒ ์—†๋‹ค. ๋•Œ๋ฌธ์— ๊ณต๋Œ€์—์„œ ๋งคํŠธ๋žฉ ๊ณผ๋ชฉ์„ ํŒŒ์ด์ฌ์œผ๋กœ ๊ฐœํŽธํ•ด๋ฒ„๋ฆฌ๋Š” ๊ฒฝ์šฐ๋„ ์ข…์ข… ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ณผ์ œํ•  ๋•Œ๋Š” ์•Œ์•„์„œ ๋งคํŠธ๋žฉ์„ ์จ์„œ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•˜์ง€

์ฐธ๊ณ ๋กœ MATLAB ํˆด๋ฐ•์Šค๋Š” ๋Œ€๊ฐœ ์„์‚ฌ ์ˆ˜์ค€์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊นŒ์ง€๋Š”[7] ์ƒ๋‹น ๋ถ€๋ถ„ ์ง€์›ํ•˜๊ณ  ์žˆ์ง€๋งŒ Fortran, C ๋“ฑ์—์„œ๋Š” Singular Value Decomposition(SVD) ๊ฐ™์€ ๊ธฐ์ดˆ์ ์ธ ์ˆ˜์น˜ํ•ด์„ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋งŒ ์ˆ˜ํ–‰ํ•˜๋ ค๊ณ  ํ•ด๋„ ์ด๋Ÿฐ ์ €๋Ÿฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ์ฃ„๋‹ค ๋ฐ›๊ฑฐ๋‚˜ ์ฑ…์„ ๋ณด๋ฉด์„œ ์ง์ ‘ ์ฝ”๋”ฉํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ต‰์žฅํžˆ ํ”ผ๊ณคํ•ด์ง„๋‹ค. ๋ฌผ๋ก  ๋ฐ•์‚ฌ๊ธ‰์ด๋ฉด ์—†๋Š” ๊ฒƒ์„ ๋งŒ๋“œ๋Š”๊ฒŒ ๋‹น์—ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํฌ๊ฒŒ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ถ„์•ผ๋„ ๋„˜์ณ ๋‚œ๋‹ค. ๋‹ค์‹œ ๋งํ•˜๋ฉด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ช‡ ๊ฐœ๋ฅผ ์ƒˆ๋กœ ์งœ๋Š” ์…ˆ.

2. ์šฉ๋„[ํŽธ์ง‘]

๊ณตํ•™์šฉ์œผ๋กœ ๊ฐœ๋ฐœ๋œ ๋งŒํผ ๊ณตํ•™๊ณ„์—ด ํ•™๊ณผ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

MATLAB ์ž์ฒด์ ์œผ๋กœ ์—ฌ๋Ÿฌ ํ•˜๋“œ์›จ์–ด(์˜ˆ๋ฅผ ๋“ค์–ด ๋ชจํ„ฐ๋ฅ˜)์˜ ์ธํ„ฐํŽ˜์ด์Šค, ์ด๋ฏธ์ง€ ํ”„๋กœ์„ธ์‹ฑ ๋“ฑ์˜ ์œ ์šฉํ•œ ํˆด๋ฐ•์Šค๋“ค์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์–ด ํ•™๋ถ€ ์ˆ˜์ค€๊นŒ์ง€๋Š” ์†์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ์ ์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ž์ฒด๋กœ ๋ดค์„ ๋•Œ๋Š” ๋‹ค์†Œ ์–ด์ •์ฉกํ•œ(๊ทธ๋ฆฌ๊ณ  ๋ฌธ๋ฒ•๋„ ์•ˆ ์ข‹์€) MATLAB์ด ๊ณตํ•™ ๊ด€๋ จ ๋ถ„์•ผ์—์„œ ๋„๋ฆฌ ํ™œ์šฉ๋˜๊ณ , ๋˜ ๋น„์‹ธ๊ฒŒ ํŒ”์•„๋„ ์žฅ์‚ฌ๊ฐ€ ๋˜๋Š” ๋น„๋ฒ•์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋ชจํ„ฐ๊ฐ€ 4๊ฐœ ๋‹ฌ๋ฆฐ ๋“œ๋ก ์— ์นด๋ฉ”๋ผ๋ฅผ ๋‹ฌ์•„์„œ ์‹œ๊ฐ ๋น„ํ–‰์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‹œํ—˜ํ•˜๊ณ  ์‹ถ์ž๊ณ  ํ•˜์ž. ์—ฌ๊ธฐ์—๋Š” ๋ชจํ„ฐ์ œ์–ด, ๋“œ๋ก ๊ณผ์˜ ํ†ต์‹ , ์ด๋ฏธ์ง€ ํ”„๋กœ์„ธ์‹ฑ, ์œ„์น˜/์ž์„ธ ์ถ”์ •, ์œ„์น˜/์ž์„ธ ์ œ์–ด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ์ด ํ•„์š”ํ•˜๋‹ค. ๋‹ค๋ฅธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ๋Š” ๊ฐ๊ฐ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํ™˜๊ฒฝ์€ ์žˆ์–ด๋„, ๊ด€๋ จ๋œ ๋ชจ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒฝ์šฐ๋Š” MATLAB ๋ง๊ณ ๋Š” ๋“œ๋ฌผ๋‹ค.[8] ํ•˜๋“œ์›จ์–ด์˜ ์ข…๋ฅ˜/๊ตฌ์„ฑ์— ๋”ฐ๋ผ, ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์ถ•์˜ ๋‚œ์ด๋„๊ฐ€ ์ฝ”๋“œ๋ฅผ ์“ฐ๋Š” ๋‚œ์ด๋„๋ฅผ ํ›จ์”ฌ ์ƒํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹ค๋งŒ MATLAB์ด ์œ ์šฉํ•˜๋‹ค๊ณ  ๋งŒ๋Šฅ์€ ์•„๋‹Œ์ง€๋ผ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์–ธ์–ด์™€ ๋ณ‘์šฉํ•ด์„œ ์“ฐ๊ธฐ๋„ ํ•œ๋‹ค. ๋ณดํ†ต ๊ณตํ•™์šฉ ์ˆ˜์น˜ํ•ด์„์„ ์œ„ํ•ด์„œ๋Š” MATLAB, Python, Julia ๋“ฑ์˜ ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด๋กœ ๊ณจ๊ฒฉ์„ ์ง  ๋‹ค์Œ์—, ๋ณ‘๋ชฉํ˜„์ƒ์ด ์ผ์–ด๋‚˜๋Š” ๋ถ€๋ถ„๋งŒ C/FORTRAN ๋“ฑ์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ํฌํŒ…์„ ํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด GUI๋ฅผ ํฌํ•จํ•˜๋Š” hardware-in-loop ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ๋งŒ๋“ ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž. ํ•˜๋“œ์›จ์–ด ์ œ์–ด๋ฅผ ์œ„ํ•œ embedded C, GUI, ์ œ์–ด, ์ถ”์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ํ•„์š”ํ•˜๋‹ค. ๊ทธ ์™ธ์—๋„ matrix exponential, convolution, ์ˆ˜์น˜์ ๋ถ„, root-finding, ์ˆ˜์น˜ ์ตœ์ ํ™”, curve-fitting ๋“ฑ ์ˆ˜์น˜ํ•ด์„์ด ํ•„์š”ํ•˜๋‹ค.

2.1. ์ด๊ณต๊ณ„[ํŽธ์ง‘]

์ผ๋ถ€ ๊ณต๋Œ€์—์„œ๋Š” ์‰ฌ์šด ๋ฌธ๋ฒ•์— ์ฃผ๋ชฉํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฐœ๋…์„ ์ตํžˆ๊ธฐ ์œ„ํ•œ ์ž…๋ฌธ์šฉ์œผ๋กœ ์“ฐ์ธ๋‹ค.

์ „์ž๊ณตํ•™๊ณผ์—์„œ๋Š” ์ „๊ณต๊ณผ๋ชฉ ๊ณผ์ œ์— ์ฃผ๋กœ MATLAB์ด ์‚ฌ์šฉ๋œ๋‹ค. ์ผ๋ถ€ ํ”ํ•œ ๊ณผ์ œ์˜ ์˜ˆ๋ฅผ ๋“ค์ž๋ฉด, ๊ณตํ•™์ˆ˜ํ•™์—์„œ๋Š” ํ‘ธ๋ฆฌ์— ๊ธ‰์ˆ˜๋ฅผ ํ†ตํ•ด sin๊ณผ cos๋งŒ ๊ฐ€์ง€๊ณ  ์–ด๋–ป๊ฒŒ ์ฃผ๊ธฐ์‹ ํ˜ธ๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š”์ง€ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ํ•ด๋ณด๊ธฐ๋„ ํ•˜๊ณ , ์‹ ํ˜ธ ๋ฐ ์‹œ์Šคํ…œ์—์„œ๋Š” DFT, FFT, Z๋ณ€ํ™˜, ์ƒ˜ํ”Œ๋ง์„ ์ง์ ‘ ํ•ด๋ณด๊ธฐ๋„ ํ•œ๋‹ค. ํ†ต์‹ ์‹œ์Šคํ…œ์—์„œ๋Š” ํ‘ธ๋ฆฌ์— ๋ณ€ํ™˜์„ ์ด์šฉํ•ด AM, FM, ASK, FSK, PSK, QAM ๋“ฑ ๊ฐ์ข… ๋ณ€์กฐ๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ๋„ ํ•˜๋ฉฐ, ์ œ์–ด๊ณตํ•™์—์„œ๋Š” ๋ผํ”Œ๋ผ์Šค ๋ณ€ํ™˜์œผ๋กœ ์‹œ์Šคํ…œ ๋ชจ๋ธ๋ง์„ ํ•˜๊ธฐ๋„ ํ•˜๊ณ , ์˜์ƒ์ฒ˜๋ฆฌ์—์„œ๋Š” ๋ฐ”์ฝ”๋“œ์ธ์‹, ์–ผ๊ตด์ธ์‹, ํ•„์ฒด์ธ์‹ ๋“ฑ ์—ฌ๋Ÿฌ ์‹คํ—˜์„ ํ•ด๋ณด๊ธฐ๋„ ํ•œ๋‹ค.

๊ธฐ๊ณ„๊ณตํ•™๊ณผ ์ถœ์‹ ๋“ค์€ ๋ณดํ†ต MATLAB๊ณผ ๊ฐ์ž ์†ํ•œ ๋ถ„์•ผ์— ๋”ฐ๋ผ embedded C, C++, FORTRAN ๋“ฑ์˜ ์–ธ์–ด๋ฅผ ํ˜ผ์šฉํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค. ๊ธฐ๊ณ„๊ณตํ•™ ๋ถ„์•ผ์—์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ legacy ์ฝ”๋“œ์™€ ํ˜ธํ™˜์„ฑ, ํ•˜๋“œ์›จ์–ด์— ์ด์‹ ๋ฐ ์‹คํ–‰ํ•  ๋•Œ์˜ ์„ฑ๋Šฅ์ด์ง€ ์ฝ”๋“œ๋ฅผ ํŽธ์•ˆํ•˜๊ฒŒ (ํ˜น์€ ์šฐ์•„ํ•˜๊ฒŒ) ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. MATLAB/C/FORTRAN ๋“ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ž์ฒด๋กœ๋งŒ ํŒ๋‹จํ–ˆ์„ ๋•Œ ์ƒ๋Œ€์ ์œผ๋กœ ์šฐ์•„ํ•˜์ง€ ๋ชปํ•œ ์ˆ˜์น˜ํ•ด์„/๊ณผํ•™/๊ณตํ•™์šฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋“ค์ด ์—ฌ์ „ํžˆ ๋„๋ฆฌ ์“ฐ์ด๋Š” ๊ฒƒ์€, '๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ์— ์† ๋Œ€๋ดค์ž ๋…ผ๋ฌธ ์“ฐ๊ธฐ๋Š” ํž˜๋“œ๋‹ˆ ์‹œ๊ฐ„ ์•„๊นŒ์šด ์ง“ ์•ˆ ํ•˜๋Š” ๊ฑฐ'๊ฑฐ๋‚˜ ํŠน์ • ํ•˜๋“œ์›จ์–ด์— ๋ฐ€์ ‘ํ•˜๊ฒŒ ๊ด€๋ จ์ด ๋˜์–ด ์žˆ์–ด์„œ ๋ฐ”๊พธ๋Š” ๋ฐ ์—„์ฒญ๋‚œ ๋น„์šฉ/์‹œ๊ฐ„์ด ๋“ค๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์˜๋ฃŒ๊ณตํ•™๊ณผ์—์„œ๋Š” ์ƒ์ฒด์‹ ํ˜ธ์ฒ˜๋ฆฌ ๋ฐ ์˜ํ•™์˜์ƒ์ฒ˜๋ฆฌ[9]์— ์‚ฌ์šฉํ•œ๋‹ค.

์ปดํ“จํ„ฐ๊ณตํ•™๊ณผ์˜ ๊ฒฝ์šฐ๋Š” ๊ฑฐ์˜ ๋‹ค๋ฃจ์ง€ ์•Š๋Š”๋‹ค. ํŠน๋ณ„ํžˆ ์ˆ˜์น˜ํ•ด์„ ๋ถ„์•ผ๋‚˜ ํ•˜๋“œ์›จ์–ด ๊ณ„์—ด(์–ด์ฐŒ๋ณด๋ฉด ์ „์ž๊ณตํ•™๊ณผ์— ๊ฐ€๊นŒ์šด ๋‚ด์šฉ์ด๋‹ค... ์‹ ํ˜ธ์— ๋Œ€ํ•œ ๊ณผ๋ชฉ์ด๋ผ๊ฑฐ๋‚˜...)์˜ ์ „๊ณต์„ ํƒ ๊ณผ๋ชฉ๊ณผ ์ง„๋กœ๋ฅผ ๊ณ ๋ฅด๋Š” ๊ฒฝ์šฐ์—๋งŒ MATLAB์„ ์ ‘ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

2.1.1. ๊ณต๋Œ€ ๋Œ€ํ•™์›[ํŽธ์ง‘]

MATLAB ํˆด๋ฐ•์Šค๊ฐ€ ์ž˜ ๊ฐ–์ถฐ์ง„ ๊ฒƒ์€ ์‚ฌ์‹ค์ด์ง€๋งŒ, ๋ถ„๋ช…ํžˆ ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค. MATLAB์„ ์“ฐ๋”๋ผ๋„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด์„œ๋Š” ๋Œ€๊ฐœ ๋ฐ•์‚ฌ, ๋น ๋ฅด๋ฉด ์„์‚ฌ ๋•Œ๋ถ€ํ„ฐ ์ง์ ‘ ์ฝ”๋”ฉ์„ ํ•ด์•ผ ํ•œ๋‹ค [10].
MATLAB์ด ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ณต๋Œ€ ๋Œ€ํ•™์›์—์„œ๋Š” ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด ์—ฐ๊ตฌ์ž๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ๋А๋ผ๋Š” ํŽธ๋ฆฌํ•จ/ํšจ์œจ์„ฑ ๋ณด๋‹ค๋Š” ์™ธ์ ์ธ ์š”์†Œ์— ํฌ๊ฒŒ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค. ๋Œ€ํ•™์›์ƒ์˜ ๋ชฉํ‘œ๋Š” ์ฝ”๋“œ๋ฅผ ๋” ์ข‹๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ๋ณด๋‹ค๋Š”, ์ƒˆ๋กœ ๊ฐœ๋ฐœํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ธฐ์กด ์ฝ”๋“œ์— ํ†ตํ•ฉํ•ด์„œ ์„ฑ๋Šฅ์„ ๊ฒ€์ฆํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ๋งˆ์Œ๋งŒ ๋จน์œผ๋ฉด MATLAB๋ณด๋‹ค ๋” ๋‚˜์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์—์„œ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ง์€, legacy ์ฝ”๋“œ(๊ณผ๊ฑฐ๋กœ๋ถ€ํ„ฐ ๋‚ด๋ ค์˜ค๋Š” ์ฝ”๋“œ ๊ฒฐ๊ณผ๋ฌผ)๊ฐ€ ์—†์ด ๋งจ๋•…์— ํ—ค๋”ฉํ•˜๋Š” ๊ฒฝ์šฐ์ธ๋ฐ ์ด๋Š” ์„์‚ฌ๊ณผ์ •์ด๋‚˜ ๋ฐ•์‚ฌ๊ณผ์ • ์ดˆ๋ฐ˜์— ํ•ด๋‹นํ•˜๋Š” ๋งค์šฐ ์ดˆ๋ณด์ ์ธ ์—ฐ๊ตฌ๊ฐœ๋ฐœ(ํ˜น์€ ์—ฐ๊ตฌ๊ฐœ๋ฐœ ์ˆ˜์ค€์—๋„ ๋ชป ๋ฏธ์น˜๋Š” ๋Œ€ํ•™๊ต/๋Œ€ํ•™์›์˜ ์ˆ˜์—… ๊ณผ์ œ ์ˆ˜์ค€)์ผ ๋•Œ๋‚˜ ์œ ํšจํ•˜๋‹ค.
๋Œ€๊ฐœ๋Š” ๋Œ€ํ•™์› ์—ฐ๊ตฌ์‹ค ๋‚ด์—์„œ ์ถ•์ ๋˜์˜ค๋˜ ์ˆ˜๋งŒ์ค„์งœ๋ฆฌ legacy ์ฝ”๋“œ๊ฐ€ C, FORTRAN, MATLAB ๋“ฑ์œผ๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ๋‹ค. ์‹ค์ œ ์—…๋ฌด์— ํˆฌ์ž…๋œ ๋Œ€ํ•™์›์ƒ์€, ์„ ๋ฐฐ๋“ค์˜ ์ฝ”๋“œ๋ฅผ 100% ์ดํ•ดํ•˜๊ณ  ๋‹ค๋ฅธ ์–ธ์–ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์œ„ํ—˜ํ•œ ์ง“์„ ํ•˜๋Š” ๋Œ€์‹ ์—, ๊ตฌ์„๊ธฐ ์‹œ๋Œ€์˜ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ๋ชจ์‹œ๊ณ  ์‚ด๊ฑฐ๋‚˜, F2C, CMEX/FMEX ๋“ฑ์˜ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ํฌํŒ… ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•ด์„œ ์–ด๋–ป๊ฒŒ๋“  ์ฝ”๋“œ ๋ฒˆ์—ญ์„ ํ”ผํ•˜๊ธฐ ๋งˆ๋ จ์ด๋‹ค. for๋ฌธ ๊ฐœ๋…๋„ ์ •ํ™•ํ•˜๊ฒŒ ์ •๋ฆฝ์ด ์•ˆ๋œ FORTRAN66(goto๋ฌธ์ด ๋‚œ๋ฌดํ•˜๋Š” 50๋…„๋œ ๊ณ ๋Œ€ ์œ ๋ฌผ)๋„ ๋…ธ๋ ค๋ณด๋ฉด์„œ ํฌํŒ… ์ž‘์—…์„ ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค.

์—ฌ๋Ÿฌ ๋ถˆํŽธํ•จ์„ ๊ฐ์ˆ˜ํ•˜๋Š” ๊ฒƒ์€, legacy ์ฝ”๋“œ์˜ ๋‚ด์šฉ์ด ์ˆ˜ํ•™/๋ฌผ๋ฆฌ/๊ณตํ•™์ด๋ก ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋ก ์— ๋Œ€ํ•œ ์ ์ ˆํ•œ ์ดํ•ด๊ฐ€ ์—†์ด ์ง์ ‘ ๊ฐœ๋ฐœํ•˜๊ณ  ๋˜ ์ด๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ๊ฒ€์ฆํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 50๋…„ ์ „์˜ ์ด๋ก ์„ ๋น ์‚ญํ•˜๊ฒŒ ๊ณต๋ถ€ํ•˜๊ณ  ์ด๋ฅผ ์ตœ์‹  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๋ฉ‹์žˆ๊ฒŒ ๋‹ค์‹œ ์“ฐ๋Š” ๊ฒƒ๋ณด๋‹ค๋Š”, ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ์ ์ ˆํžˆ ๊ฐœ๋ฐœํ•ด์„œ ํฌํŒ…์„ ํ•˜๊ณ  50๋…„ ์ „์˜ ์ด๋ก ์„ ์ณ๋‹ค ๋ณด์ง€ ์•Š๋Š” ํŽธ์ด ํ›จ์”ฌ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ด๋‹ค.[11]

๊ณตํ•™ ๋ถ„์•ผ ํ•™๋ถ€ ์กธ์—…์ƒ๋“ค์ด ์ฒ˜์Œ ๋Œ€ํ•™์›์— ์™”์„๋•Œ, MATLAB ์“ฐ๋Š” ๊ฑธ ์ดํ•ด ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์“ฐ๊ณ  ์‹ถ์€ ์–ธ์–ด๋ฅผ ์“ฐ๊ณ ์ž ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งค์šฐ ๋งŽ๋‹ค. ๋ณดํ†ต ์†Œํ”„ํŠธ์›จ์–ดํ•™๊ณผ ๋“ฑ์—์„œ C++์ค‘์ ์œผ๋กœ ๋ฐฐ์› ๊ณ , ๋˜ ๊ทธ๋Ÿฌ๋ฉด์„œ MATLAB์ด C++๋‚˜ Python ๋“ฑ ๋ณด๋‹ค ์—ด๋“ฑ ํ•˜๋‹ค๊ณ  ์ƒ๊ฐ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ณตํ•™๋„๋“ค ์‚ฌ์ด์— ํŒŒ๋‹คํ•œ ์ƒ๊ฐ์ด๋‹ค. ํ•˜์ง€๋งŒ ์œ„์—์„œ์˜ ์„ค๋ช…์—์„œ์™€ ๊ฐ™์ด, MATLAB์€ ์ƒˆ๋กœ์šด ์ด๋ก ์ด๋‚˜ ๋ฐฉ๋ฒ•๋ก ์„ ํ”„๋กœํ† ํƒ€์ž…ํ•˜๋Š”๋ฐ์— ์ตœ์ ํ™” ๋˜์–ด ์žˆ๊ณ , ํ•ด๋‹น ์—ฐ๊ตฌ์‹ค์—์„œ ์ด๋ฏธ ์Œ“์•„๋†“์€ ์ˆ˜๋งŽ์€ ์ฝ”๋“œ๋“ค์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฒฐ๊ตญ MATLAB์„ ์จ์•ผ ํ•œ๋‹ค๋Š” ๊ฑธ ๊นจ๋‹ซ๊ณ  ๋Œ์•„์˜จ๋‹ค. ํฌ๋‹ฅ์ด๋‚˜ ๊ต์ˆ˜๋“ค ์ž…์žฅ์—์„œ๋Š” ๋งค๋ฒˆ ์ƒˆ ํ•™์ƒ์ด ๋“ค์–ด์˜ฌ ๋•Œ๋งˆ๋‹ค ๊ฑฐ์ณ์•ผ ํ•˜๋Š” ๊ณผ์ • ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

2.2. ์ƒ๊ฒฝ ๋ฐ ์ธ๋ฌธ๊ณ„[ํŽธ์ง‘]

์ด๊ณต๊ณ„์—์„œ๋งŒ ์‚ฌ์šฉํ•  ๊ฒƒ ๊ฐ™์ง€๋งŒ ์ธ๋ฌธ์‚ฌํšŒ๊ณ„์—ด ์–ธ์–ดํ•™๊ณผ์˜ ์Œ์„ฑํ•™์ˆ˜์—…์ด๋‚˜, ๊ฒฝ์ œํ•™๊ณผ์˜ ๊ฑฐ์‹œ๊ฒฝ์ œํ•™(๋Œ€ํ•™์›), ๊ณ„๋Ÿ‰๊ฒฝ์ œํ•™(๋Œ€ํ•™์›) ๊ฐ™์€ ์ˆ˜์—…์—์„œ๋„ ์‚ฌ์šฉ๋œ๋‹ค.

์šฐ์„  ๊ฒฝ์ œํ•™๊ณผ ๋Œ€ํ•™์›์—์„œ๋Š” MATLAB์„ ์“ฐ๋Š” ๊ณผ์ œ๊ฐ€ ๋‚˜๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ์„๋ฐ•์‚ฌ ์ƒ๊ฐ์ด ์žˆ๋‹ค๋ฉด ์ผ์ฐ๋ถ€ํ„ฐ MATLAB์„ ๋ฐฐ์›Œ๋‘ฌ์•ผ ํ•œ๋‹ค.

์–ธ์–ดํ•™๊ณผ์˜ ๊ฒฝ์šฐ์—๋„, ์„๋ฐ•์‚ฌ ์ƒ๊ฐ์ด ์žˆ๋‹ค๋ฉด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ƒ๋‹นํžˆ ์ค‘์š”์‹œ ๋˜๋Š” ๋Šฅ๋ ฅ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ตํ˜€๋‘์–ด์•ผ ํ•œ๋‹ค. ํŠนํžˆ ์ž์—ฐ์–ด์ฒ˜๋ฆฌ๋ถ„์•ผ๋‚˜ ์Œ์„ฑ์Œ์šด๋ก  ๋ถ„์•ผ์—์„œ๋Š” MATLAB์™€ ํŒŒ์ด์ฌ์€ ์ ์ฐจ ๊ธฐ๋ณธ์†Œ์–‘์ด ๋˜์–ด๊ฐ€๋Š” ์ถ”์„ธ์ด๋‹ค.

2.3. ํƒ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด์™€์˜ ๋น„๊ต[ํŽธ์ง‘]

  • ์—‘์…€: ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ต์ˆ™ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๊ณ„์‚ฐ์ด ๊ฐ„๋‹จํ•˜๋‹ค๋ฉด ๋‹น์žฅ MATLAB ์ฝ”๋“œ๋ฅผ ๋‘๋“œ๋ฆฌ๊ธฐ๋ณด๋‹ค ์—‘์…€์„ ์—ฌ๋Š” ๊ฒƒ์ด ๋” ๋น ๋ฅผ ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ๊ณ„์‚ฐ์ด ๋ณต์žกํ•ด์ง€๋ฉด ์—‘์…€๋กœ ์ฝ”๋”ฉํ•˜๋Š” ๊ฒƒ์€ ๋น„ํšจ์œจ์ ์ด๊ณ , ์‹œ๊ฐํ™” ๊ธฐ๋Šฅ๋„ ๋‹ค์–‘ํ•˜์ง€ ๋ชปํ•˜๋‹ค. ๊ฐ„ํ˜น ์—‘์…€๋กœ ํŽธ๋ฏธ๋ถ„๋ฐฉ์ •์‹(!)์„ ํ‘ธ๋Š” ๊ณ ์ˆ˜๋“ค๋„ ์žˆ๊ธฐ๋Š” ํ•˜์ง€๋งŒ ๊ตณ์ด ์ด๋Ÿด ํ•„์š”๋Š” ์—†๊ณ  ๊ทธ๋ƒฅ ๋งคํŠธ๋žฉ์„ ์“ฐ๋Š” ๊ฒŒ ๋‚ซ๋‹ค. ๋”๊ตฐ๋‹ค๋‚˜ ๊ณ„์‚ฐํ•ด์•ผ ํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค๋ฉด ์—‘์…€์ด ๋ป—์–ด๋ฒ„๋ฆด ์ˆ˜ ์žˆ๋‹ค.
  • C: ์ „์ž๊ณตํ•™์ „๊ณต์˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ์ฃผ์–ธ์–ด์ธ ๋งŒํผ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. ์ฃผ๋กœ MATLAB ํ”„๋กœํ† ํƒ€์ž… ์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ C์–ธ์–ด ์ฝ”๋“œ๋กœ ์žฌ๊ตฌํ˜„ํ•˜๋Š” ํ˜•ํƒœ๋กœ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋œ๋‹ค. MATLAB์œผ๋กœ ๋งŒ๋“  ํ”„๋กœํ† ํƒ€์ž… ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ C๋กœ ์ž๋™ํฌํŒ…ํ•˜๋Š” ๊ฒƒ์€ ๊ฑฐ์˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • C++: ๊ธˆ์œต๊ณตํ•™์ด๋‚˜ ์ƒ์šฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ฒ˜๋Ÿผ ๋น ๋ฅธ ์†๋„๊ฐ€ ์š”๊ตฌ๋˜๋Š” ๊ฒฝ์šฐ C++์ด ๋‚ซ๋‹ค. C++๋„ ๊ฐ„ํŽธํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋งŽ์ด ๋‚˜์™”๋‹ค. ํ•˜์ง€๋งŒ C++์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฒˆ๊ฑฐ๋กญ๊ธฐ ๋•Œ๋ฌธ์—[12] ๋‹ค์ˆ˜์˜ ์ธ์›์ด ํˆฌ์ž…๋˜๊ณ  ์ด๋ฏธ ๊ฒ€์ฆ๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ตœ์ ํ™”ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์— ์ž์ฃผ ์‚ฌ์šฉ๋ ์ง€๋ผ๋„ ๊ฐœ์ธ์ด ์–ด๋ ค์šด ๊ณตํ•™ ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š”, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๊นŒ์ง€ ์‹ ๊ฒฝ์จ์•ผ ํ•˜๋Š” ๋ถˆํŽธํ•œ ์ ์„ ๊ฐ์ˆ˜ํ•˜๊ธฐ ํž˜๋“ค๋‹ค. ํ˜„์—…์—์„œ MATLAB ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ MATLAB DLL์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์€๋ฐ, MATLAB์ด JVM ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ˆ˜๋งŽ์€ ์—๋Ÿฌ๋ฅผ ๋šซ๊ณ  ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜๋ฉฐ, C/C++๋กœ ์˜ฎ๊ธฐ๋Š” ์ด์œ ์ธ ์„ฑ๋Šฅํ–ฅ์ƒ์˜ ์ด์œ ๊ฐ€ ํ‡ด์ƒ‰๋˜์–ด ๋ฒ„๋ฆฌ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ๋˜ํ•œ MATLAB์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ—ˆ์ˆ˜๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ํ—ˆ์ˆ˜๋ฅผ ๋†“์น˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์œผ๋ฏ€๋กœ ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
  • Java: ๋”ฑํžˆ ๋น„๊ต/๊ฒฝ์Ÿ ๋Œ€์ƒ์ด ์•„๋‹ˆ๋‹ค. ์ž๋ฐ”๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๊ฐœ๋ฐœ, ์›น ๊ฐœ๋ฐœ, ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋“ฑ ๋งŽ์€ ๊ณณ์—์„œ ์• ์šฉ๋˜์ง€๋งŒ MATLAB์™€๋Š” ๋‹ฌ๋ฆฌ ๊ณตํ•™, ๊ณผํ•™์  ๊ณ„์‚ฐ์„ ๋ชฉํ‘œ๋กœ ํ• ๋•Œ๋Š” ๋ณ„๋กœ ์“ฐ์ด์ง€ ์•Š๋Š”๋‹ค.
  • ํฌํŠธ๋ž€: C/C++์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์˜ค๋ž˜๋œ ์–ธ์–ด๋ผ ์ฝ”๋“œ ์งœ๊ธฐ๊ฐ€ ๋ฒˆ๊ฑฐ๋กœ์šด ๋Œ€์‹  ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค. ์ „์‚ฐ์œ ์ฒด์—ญํ•™ ๋“ฑ ์†๋„๊ฐ€ ๋งค์šฐ ์ค‘์š”ํ•œ ๋ถ„์•ผ์—์„œ๋Š” ์•„์ง๋„ ํ˜„๋Œ€ํ™”๋œ FORTRAN์„ ์“ฐ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค.
  • Python: ์œ ๋ช… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. SciPy, NumPy ๋“ฑ์˜ ์ˆ˜์น˜ํ•ด์„ ํŒจํ‚ค์ง€๋กœ ์„ ํ˜•๋Œ€์ˆ˜ ๊ณ„์‚ฐ์„ ํ•  ์ˆ˜ ์žˆ๊ณ , matplotlib์œผ๋กœ ์‹œ๊ฐํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค. MATLAB์ด ์ฃผ์š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋‹ค ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ๋งŒ๋“ค๊ณ  m-file์„ wrapper๋งŒ ๋‚จ๊ฒจ๋†“๋Š” ๋“ฑ ์†๋„ ํ–ฅ์ƒ์„ ์œ„ํ•œ ๋…ธ๋ ฅ์„ ๋งŽ์ด ํ•ด์„œ Python๋ณด๋‹ค ๋น ๋ฅด๋‹ค๊ณ  ํ–ˆ์ง€๋งŒ, NumPy ํŒจํ‚ค์ง€๋„ ๊ธฐ๋ณธ ๋ฃจํ‹ด์€ C๋กœ ์งœ์—ฌ ์žˆ๊ณ , ์†๋„๋Š” ์ง€๊ธˆ๋„ ์•ž์œผ๋กœ๋„ ๊พธ์ค€ํžˆ ๋…ผ๋ž€๊ฑฐ๋ฆฌ์ผ ๊ฒƒ์ด๋‹ค. ์˜คํ”ˆ์†Œ์Šค ๊ฐœ๋ฐœ์ž๋“ค์ด ๋งŽ์€ ํ•จ์ˆ˜๋ช…์„ MATLAB๊ณผ ๋น„์Šทํ•˜๊ฒŒ ์ž‘๋ช…ํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— ๋‘˜ ์ค‘ ํ•˜๋‚˜๋งŒ ์ž˜ ๋ฐฐ์›Œ๋„ ๋‚˜๋จธ์ง€๋ฅผ ์ตํžˆ๊ธฐ๋Š” ์‰ฝ๋‹ค.
    ๋‹ค๋งŒ, ์œ ๋ช… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  Python ์ž์ฒด๋‚˜ Python์˜ ๊ณต์‹ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ํŠน์ˆ˜ํ•œ ์กฐ๊ฑด[13]์ด ๋ถ™๋Š”๋‹ค๋ฉด, ์ˆ˜์น˜ํ•ด์„์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์ง€๋Š” ์•Š๋‹ค. ๊ฐ€๋ น Python์—์„œ ๋‘ 2์ฐจ์› ๋ฐฐ์—ด์˜ ํ•ฉ์ด๋‚˜ ๊ณฑ์€ ํ–‰๋ ฌํ•ฉ์ด๋‚˜ ํ–‰๋ ฌ๊ณฑ์ด ์•„๋‹ˆ๋ผ ๋ฐฐ์—ด์˜ ๋์— ๋‹ค๋ฅธ ๋ฐฐ์—ด์„ ๊ฐ–๋‹ค ๋ถ™์ด๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.
  • R: ๊ฐ€๋” MATLAB ๋Œ€์šฉ์œผ๋กœ ์“ฐ์ธ๋‹ค. ๋‹ค๋งŒ R์€ ์•„๋ฌด๋ž˜๋„ ํ†ต๊ณ„๋ถ„์„์— ํŠนํ™”๋œ ๋А๋‚Œ์ด ๊ฐ•ํ•ด์„œ ์™„์ „ํžˆ MATLAB์„ ๋Œ€์ฒดํ•˜๊ธฐ๋Š” ํž˜๋“ค๋‹ค.
  • Julia: Julia์˜ ํƒ„์ƒ ๋ชฉ์  ์ค‘ ํ•˜๋‚˜๊ฐ€ ๊ณผํ•™, ๊ณตํ•™์„ ์œ„ํ•œ ์ˆ˜์น˜ ํ•ด์„์šฉ ์–ธ์–ด์ด๊ธฐ ๋•Œ๋ฌธ์— MATLAB์˜ ์ข‹์€ ๋Œ€์•ˆ์ด ๋  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. MIT์—์„œ ์ˆ˜ํ–‰ํ•œ ๋ฒค์น˜๋งˆํฌ์—์„œ MATLAB์„ ์„ฑ๋Šฅ์œผ๋กœ ๋›ฐ์–ด๋„˜๊ธฐ๋„ ํ•˜์˜€๋‹ค. ๋‹ค๋งŒ 2012๋…„์— ๋ฐœํ‘œ๋œ ์‹ ์ƒ ์–ธ์–ด์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋ชจ๋‘ ๊ฐœ๋ฐœ๋˜๊ณ  ์„ฑ์ˆ™ํ•˜๊ธฐ๊นŒ์ง„ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ๊ฒƒ์ด๋‹ค.
  • ๋งค์Šค๋งคํ‹ฐ์นด: ์ˆ˜์‹์„ ํ•ด์„์  ๋ฐฉ๋ฒ•[14]์œผ๋กœ ํ’€ ๋•Œ ์œ ์šฉํ•˜๋ฏ€๋กœ ์ˆ˜ํ•™, ๋ฌผ๋ฆฌํ•™ ์—ฐ๊ตฌ ๋ฐ ํ•™๋ถ€์ƒ์—๊ฒŒ ์œ ์šฉํ•˜๋‹ค.
    ๋Œ€์ฒด๋กœ ๊ณ„์‚ฐ ๊ณผํ•™ ๊ด€๋ จ ์ปค๋ฎค๋‹ˆํ‹ฐ ์—์„œ MATLAB์€ ๋ถ€๋™์†Œ์ˆ˜์ ์„ ์ด์šฉํ•œ ์ˆ˜์น˜๊ณ„์‚ฐ์—์„œ ๋งค์Šค๋งคํ‹ฐ์นด๋ณด๋‹ค ๋” ๋น ๋ฅธ ์†๋„๋ฅผ ๋ณด์ด๊ณ , ๋งค์Šค๋งคํ‹ฐ์นด๋Š” ๋ถ€์ •์ ๋ถ„ ํ•ด์„, ๋‹คํ•ญ์‹ ํ’€์ด ๋“ฑ ์ˆ˜์‹ ํ•ด์„์—์„œ MATLAB๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋” ๋›ฐ์–ด๋‚˜, ์ผ์žฅ์ผ๋‹จ์ด ์žˆ๋‹ค๊ณ  ๋™์˜ํ•˜๋Š” ๋ถ„์œ„๊ธฐ์ด๋‹ค.
    ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์†๋„๋‚˜, ์ œํ’ˆ์˜ ์‹ค์ œ ๊ฐœ๋ฐœ์ด ๋” ์ค‘์š”ํ•œ ์—ฐ๊ตฌ์—์„œ๋Š” ํ•ด์„์  ๋ฐฉ๋ฒ•๋ณด๋‹ค๋Š” ์ˆ˜์น˜์  ๋ฐฉ๋ฒ•์„ ์“ฐ๊ฒŒ ๋˜๋ฏ€๋กœ MATLAB์ด ๋” ์œ ์šฉํ•˜๋‹ค. ๊ณต๋Œ€ ์—ฐ๊ตฌ๋‚˜ ๊ธฐ์—…์—์„œ๋Š” ๋Œ€๋ถ€๋ถ„ ์ด์ชฝ์ด๋‹ค.
    ๋‹ค๋งŒ ํ•™๋ถ€ ์ˆ˜์ค€์—์„œ๋Š”, ์•„๋ฌด๋ฆฌ ๊ณต๊ณผ๋Œ€ํ•™์ด๋ผ๋„ ๋ฐฐ์šฐ๋Š” ๋‚ด์šฉ์€ ์ฃ„๋‹ค ์ด๋ก ์ด๋‚˜ ์ˆ˜์‹ ์ „๊ฐœ์ด๊ณ , ์ˆ˜์น˜ํ•ด์„ ์šฉ์œผ๋กœ๋„ ์Šค์ผ€์ผ์ด ํฐ ๋ฌธ์ œ๋ฅผ ํ’€์–ด์•ผ ํ•  ์ผ์€ ์ ˆ๋Œ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋งค์Šค๋งคํ‹ฐ์นด๋‚˜ ๋ฉ”์ดํ”Œ์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํŠน๋ณ„ํžˆ ๋ถ€์กฑํ•œ ๊ธฐ๋Šฅ์€ ์—†์„ ๊ฒƒ์ด๋‹ค. ์‹ฌ์ง€์–ด ๋งŽ์€ ๊ณต๋Œ€ ํ•™๋ถ€์ƒ๋“ค์ด ์†”๋ฃจ์…˜์„ ์ฐพ์•„ ๋‹ค๋‹Œ๋‹ค๊ณ  Wolfram Alpha๋ฅผ ์“ฐ๋Š” ๊ฒƒ์„ ๋ณด๋ฉด, ๋งค์Šค๋งคํ‹ฐ์นด๊ฐ€ ๋” ์œ ์šฉํ•  ์ง€๋„ ๋ชจ๋ฅธ๋‹ค. ๋‹ค๋งŒ, ๋Œ€๋ถ€๋ถ„์˜ ๋Œ€ํ•™๊ต ๊ณต๊ณผ ์ˆ˜์—…์€ ๋งค์Šค๋งคํ‹ฐ์นด๋ณด๋‹ค MATLAB์„ ์„ ํ˜ธํ•˜๋Š” ํŽธ์ด๋‹ค.
    ์†๋„ ๋…ผ๋ž€์— ๊ด€ํ•ด์„œ๋Š”, ๋ฌผ๋ก  ๋งค์Šค๋งคํ‹ฐ์นด๊ฐ€ ๋‹ค์ค‘ ์ ๋ถ„์‹์œผ๋กœ ๊ฐ€๋ฉด ๋А๋ ค์ง€๊ธด ํ•˜๋Š”๋ฐ, ๊ทธ๊ฑด MATLAB์ด ์ •ํ™•๋„๋ฅผ ํฌ๊ฒŒ ์š”๊ตฌํ•˜์ง€ ์•Š๋‹ค ๋ณด๋‹ˆ ํ•ญ์„ 100๋ถ„ํ•  ์ •๋„ ํ•ด์„œ ๊ทธ๋ƒฅ ์‚ฌ๋‹ค๋ฆฌ๊ผด ๋“ฑ์œผ๋กœ ๊ณ„์‚ฐํ•ด๋ฒ„๋ฆฌ๋Š” ํŽธ๋ฒ•์„ ์จ์„œ ๊ทธ๋ ‡๋‹ค. ๊ณตํ•™์ ์ธ ์ธก๋ฉด์—์„œ๋Š” ๋‹ค์ˆ˜์˜ ๊ฒฝ์šฐ์— ์ˆ˜ํ•™์ ์ธ ์—„๋ฐ€ํ•จ์„ ์ง€ํ‚ค๋Š” ๊ฒƒ๋ณด๋‹ค, ๋‹ค์†Œ ์–ด๊ธฐ๋ฉด์„œ ๊ณ„์‚ฐ์ ์ธ ํšจ์œจ์„ฑ์„ ์ถ”๊ตฌํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚ซ๋‹ค.[15]
  • GNU Octave: ๋น„์‹ผ ๋ผ์ด์„ผ์Šค ๊ฐ€๊ฒฉ์˜ MATLAB์„ ๋Œ€์ฒดํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์–ธ์–ด. MATLAB๊ณผ ๋ฌธ๋ฒ• ์ฐจ์ด์ ์ด ์ ์–ด ์ ์‘ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์„ฑ๋Šฅ์ด ๋‚˜์˜๊ณ  ํˆด๋ฐ•์Šค์˜ ํŽธ๋ฆฌํ•จ์„ ๋ˆ„๋ฆด ์ˆ˜๋„ ์—†์œผ๋ฉฐ ๋ฌธ๋ฒ• ์—ญ์‹œ ๋ฏธ๋ฌ˜ํ•˜๊ฒŒ ์ฐจ์ด๊ฐ€ ๋‚˜์„œ ์™„๋ฒฝํ•˜๊ฒŒ ์ด์‹ ๊ฐ€๋Šฅํ•œ ๊ฒƒ๋„ ์•„๋‹ˆ๋ผ๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.
  • SciLab: ์‹ ํ˜ธ ์ฒ˜๋ฆฌ ๋“ฑ์— ๋Œ€์ฒด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋‹จ SciLab์€ Octave์— ๋น„ํ•ด MATLAB ๋ฌธ๋ฒ• ํ˜ธํ™˜์„ฑ์ด ๋‹ค์†Œ ๋‚ฎ๋‹ค.
  • FreeMat: ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ MATLAB๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•˜๊ณ  MatLab ๊ธฐ๋Šฅ์˜ 95% ์ •๋„๋ฅผ ์ง€์›ํ•œ๋‹ค. ๋‹จ ํ•œ๊ธ€์„ ์น  ์ˆ˜ ์—†๋‹ค [16].
  • Verilog, VHDL: MATLAB์˜ ์ž๋™ ์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด Verilog๋‚˜ VHDL ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์ง€๋งŒ, MATLAB์œผ๋กœ ์‹œ์Šคํ…œ์„ ํ”„๋กœํ† ํƒ€์ดํ•‘ํ•œ ํ›„ ์ง์ ‘ HDL ์ฝ”๋“œ๋ฅผ ์งœ์„œ ํ•˜๋“œ์›จ์–ด๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

๊ฐ์ข… ์˜คํ”ˆ ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ณต์งœ๋กœ MATLAB์„ ๋Œ€์ฒดํ•˜๋Š” ๊ฒƒ ์ž์ฒด๋Š” ๊ฐ€๋Šฅํ•˜๋‹ค. ๋‹ค๋งŒ, MATLAB์˜ ์ฒ ํ•™ ์ž์ฒด๊ฐ€ '๋ˆ์€ ์–ผ๋งˆ๋“ ์ง€ ๋‚ผํ…Œ๋‹ˆ Mathworks๊ฐ€ ์ตœ๋Œ€ํ•œ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ์„ ๋งŽ์ด ๊ฐ–์ถ”์–ด ๋†“์•„๋ผ'๋ผ๋Š” ์‹์ด๋ผ๋ฉด, ์˜คํ”ˆ์†Œ์Šค ์ง„์˜์—์„œ๋Š” ๊ณต์งœ๋กœ ์“ฐ๋Š” ๋Œ€์‹ ์— ์‚ฌ์šฉ์ž๊ฐ€ ์—ฌ๋Ÿฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์ด์˜ ๋ฒ„์ „ ์ถฉ๋Œ์ด๋ผ๋˜๊ฐ€ ๋ฏธ๋น„ํ•œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๋ณด์™„ ๋Œ€์ฑ…์„ ์‚ฌ์šฉ์ž ์Šค์Šค๋กœ ํ•ด์•ผํ•˜๋Š” ๋“ฑ ๋ถˆํŽธํ•œ ์ ์ด ๋งŽ๋‹ค.
ํŠนํžˆ ๋ผ์ด์„ผ์Šค๊ฐ€ GPL์ผ ๊ฒฝ์šฐ ์ƒ์—…์ ์ธ ๊ฐœ๋ฐœ์— ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์นดํ”ผ๋ ˆํ”„ํŠธ์— ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.

3. ์—ญ์‚ฌ[ํŽธ์ง‘]

1970๋…„๋Œ€์— ๋‰ด๋ฉ•์‹œ์ฝ” ๋Œ€ํ•™์˜ ์ปดํ“จํ„ฐ๊ณตํ•™๊ณผ์˜ ํ•™์žฅ์ธ ํด๋ฆฌ๋ธŒ ๋ชฐ๋Ÿฌ์˜ ์ฃผ๋„ ์•„๋ž˜ ๊ฐœ๋ฐœ์ด ์‹œ์ž‘๋˜์—ˆ๋‹ค. 1984๋…„ ๋ณธ๊ฒฉ์ ์œผ๋กœ Mathworks ์‚ฌ๋ฅผ ์„ธ์šฐ๊ณ  ๊ฐœ๋ฐœํ•˜์—ฌ 2000๋…„๋Œ€์— ์ฒ˜์Œ์œผ๋กœ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ํŒ๋งค๋˜๊ธฐ ์‹œ์ž‘ํ•˜์˜€๋‹ค.

4. ํŠน์ง•[ํŽธ์ง‘]

์ผ๋ฐ˜์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ํ–‰๋ ฌ์€ ๊ทธ์ € ๊ฐ ์ฐจ์›์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฉ์‹์œผ๋กœ, ํ˜„์‹ค์˜ ํ–‰๋ ฌ ๊ณ„์‚ฐ ๋ฐฉ์‹๊ณผ๋Š” ๊ฑฐ๋ฆฌ๊ฐ€ ์žˆ๋‹ค. ๊ทธ์— ๋”ฐ๋ผ ๊ฐ ํ–‰๋ ฌ์— ๋Œ€ํ•œ ๊ฐ’์„ ๊ตฌํ•˜๋ ค๋ฉด ๊ทธ ๋ถ€๋ถ„ ์—ญ์‹œ ์œ ์ €๋“ค์ด ์ง์ ‘ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์งœ์„œ ๊ณ„์‚ฐํ•ด์•ผ ํ•œ๋‹ค. ๋ฌธ์ œ๋Š” ๊ณตํ•™์ด ๋Œ€๋ถ€๋ถ„์ด ํ–‰๋ ฌ ๊ณ„์‚ฐ ์œ„์— ์„ฑ๋ฆฝ๋œ ํ•™๋ฌธ์ด๋ผ ํ–‰๋ ฌ ๊ณ„์‚ฐ์ด ๋ถˆํŽธํ•œ ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ๊ณตํ•™๊ณ„์—ด์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์–ด๋ ต๋‹ค.

C/C++๋‚˜, ์ดํ›„ ๊ฐœ๋ฐœ๋œ Java๋„, ๋‹ค๋ชฉ์  ์šฉ๋„๋ฅผ ๊ฐ€์ง€๊ณ  ๊ฐœ๋ฐœ๋˜์—ˆ๊ธฐ์— ๊ณตํ•™์šฉ์œผ๋กœ ๋””์ž์ธ๋œ ์ˆ˜์‹์„ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด์„  ๊ณตํ•™๋„๋“ค์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์ˆ™๋‹ฌ๋  ํ•„์š”๊ฐ€ ์žˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ ๊ณตํ•™๊ณผ์˜ ํ˜„์‹ค์ƒ ๊ฐ€๋ฅด์น˜๊ธฐ ์–ด๋ ค์› ์œผ๋ฉฐ ์ปค๋ฆฌํ˜๋Ÿผ๋„ ๋งŒ๋“ค์–ด์ ธ์žˆ์ง€ ์•Š์•˜๋‹ค. ๋˜ํ•œ ์ปดํ“จํŒ… ํŒŒ์›Œ ์—ญ์‹œ 1990๋…„ ์ด์ „์—๋Š” ๋ถ€์กฑํ•˜์—ฌ ๊ณตํ•™ ๊ณ„์‚ฐ๊ณผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์— ์žˆ์–ด ํ•„์š”์„ฑ์€ ์ ˆ๋Œ€์ ์ด์—ˆ์œผ๋‚˜ ์œ ์šฉ ๋ฐฉ์‹์€ ํ•œ์ •๋˜์—ˆ๋‹ค. ๋˜ํ•œ ํฌํŠธ๋ž€ ๋“ฑ์˜ ๋‹จ์ˆœ ๊ณ„์‚ฐ์— ์ ํ•ฉํ•œ ์–ธ์–ด๋“ค๋Š” ๊ทธ ๋‚˜๋ฆ„์˜ ์žฅ์ ์ด ์žˆ์—ˆ์œผ๋‚˜ ๋ณ‘๋ ฌ๊ณ„์‚ฐ์— ์ ํ•ฉํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ MATLAB์€ ๊ณตํ•™๊ณผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์— ํŠนํ™”๋œ ์–ธ์–ด๋ผ๋Š” ๋ชฉ์ ์„ ๊ฐ€์ง€๊ณ  ๊ฐœ๋ฐœ๋˜์—ˆ๋‹ค. ๊ทธ์— ๋”ฐ๋ผ ์‹œ๊ฐ„๊ณผ (์ž๊ธˆ์ ) ๋ฆฌ์†Œ์Šค๋ฅผ ํฌ๊ฒŒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ธฐ์กด ์–ธ์–ด์™€ ๋‹ค๋ฅธ ๊ฐœ๋…์œผ๋กœ ๊ฐœ๋ฐœ๋œ๋‹ค. ๊ทธ๊ฑด ๋ฐ”๋กœ ์“ฐ์ผ ๋งŒํ•œ ๋ช…๋ น์–ด ์„ธํŠธ๋Š” ์ฃ„๋‹ค ์ปดํŒŒ์ผ๋Ÿฌ๋กœ ์ด๋ฃจ๋Š”, ๋น„ํšจ์œจ์ ์ด๋‚˜ ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„  ์‰ฌ์šด ๋ฐฉ๋ฒ•์„ ํƒํ•œ ๊ฒƒ์ด๋‹ค.

๋˜ํ•œ ๊ธฐ์กด ์–ธ์–ด์™€์˜ ์ฐจ์ด์ ์œผ๋กœ ๋ชจ๋“  ์ •์˜ํ•œ ๋ณ€์ˆ˜๋Š” ํ–‰๋ ฌ ์ทจ๊ธ‰์ด ๋œ๋‹ค. ์ด๋Š” ๊ณตํ•™๊ณ„์—์„œ ์ˆ˜๋งŽ์€ ๋ณ€์ˆ˜๋“ค์„ ๊ฐ„ํŽธํ™”ํ•˜๊ธฐ ์œ„ํ•ด ํ–‰๋ ฌ์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์‹ฌ์ง€์–ด ๋ฌธ์ž์—ด๋„ ๊ทธ์ € ๋ฌธ์ž(char)๋“ค์˜ ํ–‰๋ ฌ๋กœ ์ทจ๊ธ‰๋˜์—ˆ๋‹ค.[17]

MATLAB์ด ์ฒ˜์Œ ์‚ฌ์šฉ์ž์šฉ์œผ๋กœ ๋ฐœํ‘œ๋œ 2000๋…„๋„์—๋Š” ์ปดํ“จํŒ… ํŒŒ์›Œ์˜ ํ•œ๊ณ„์™€ ๋ณด๊ธ‰์˜ ๋‚œํ•ญ์œผ๋กœ ์ฃผ๋ชฉ๋ฐ›์ง€ ๋ชปํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ณง ์ปดํ“จํ„ฐ๊ฐ€ ๋น ๋ฅด๊ฒŒ ๋ณด๊ธ‰๋˜์—ˆ๊ณ , ๋งคํŠธ๋žฉ์€ ์‚ฌ์šฉ๊ณผ ๊ต์œก์˜ ๊ฐ„ํŽธํ•จ์—์„œ ์ฃผ๋ชฉ๋ฐ›์•„ ๊ณตํ•™๋„๋“ค์ด๋ผ๋ฉด ํ•œ ๋ฒˆ์”ฉ ๋งŒ์ ธ๋ณธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๋˜์—ˆ๋‹ค.

4.1. ์žฅ์ [ํŽธ์ง‘]

  • ์„ค์น˜๊ฐ€ ์‰ฝ๋‹ค. ๋ฆฌ๋ˆ…์Šค๋‚˜ ๊ฐ์ข… ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์— ์ต์ˆ™ํ•˜์ง€ ์•Š๊ณ ๋„, MATLAB ์„ค์น˜ ๊ด€๋ฆฌ์ž๋งŒ ์‹คํ–‰์‹œํ‚ค๋ฉด ์•Œ์•„์„œ ๋‹ค ํ•ด ์ค€๋‹ค. ์ด๊ฒƒ์€ ์ƒ์—…์  ์†”๋ฃจ์…˜์˜ ์žฅ์ ์ด๊ธฐ๋„ ํ•˜๋‹ค.
  • ๋ฌธ๋ฒ•์ด ์‰ฝ๋‹ค. MATLAB ์–ธ์–ด ์ž์ฒด๋Š” ์‚ฌ์น™์—ฐ์‚ฐ๊ณผ ํ–‰๋ ฌ์—ฐ์‚ฐ, ํ–‰๋ ฌ ์ธ๋ฑ์‹ฑ๊ณผ ์Šฌ๋ผ์ด์‹ฑ, ํ•จ์ˆ˜ ์‚ฌ์šฉ, ๊ธฐ์ดˆ์ ์ธ ๊ฐ์ฒด์ง€ํ–ฅ๊ณผ ๋žŒ๋‹ค ๋Œ€์ˆ˜ ์ง€์› ๋“ฑ์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฌธ๋ฒ•์˜ ๊ฑฐ์˜ ์ „๋ถ€๋กœ, ์ดํ›„๋กœ๋Š” ๊ฐ์ข… ํˆด๋ฐ•์Šค์˜ API ๋ฌธ์„œ๋งŒ ๊ฒ€์ƒ‰ํ•ด์„œ ์ฝ์–ด๋ณด๋ฉด ๋‹ค๋ฅธ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ž‘์„ฑํ•œ MATLAB ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค.
  • ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๋Š” ๋งŽ์ด ๋จน์ง€๋งŒ ์ปดํŒŒ์ผ๋Ÿฌ์— ๋ฐ•ํ˜€์žˆ๋Š” ๋ช…๋ น์–ด ์„ธํŠธ๊ฐ€ ์›Œ๋‚™ ๋งŽ์•„ ๊ฐœ๋… ๊ฒ€์ฆ ์‹œ, ์‹œ๊ฐ„๊ณผ ๋น„์šฉ์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ๋ณต์žกํ•œ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์— ์ ์šฉ๋˜๋Š” ๊ณตํ•™์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋ฐœ์—์„œ ํ”„๋กœํ† ํƒ€์ดํ•‘์— ๊ฐ€์žฅ ์œ ์šฉํ•œ ํŠน์ง•์ด๋‹ค. ๋ณต์žก๋„๊ฐ€ ๋†’์€ ์‹œ์Šคํ…œ์€, ์„œ๋“œ ํŒŒํ‹ฐ HW ๋ฐ SW๊ฐ€ ๋งค์šฐ ๋‹ค์–‘ํ•˜๊ฒŒ ํ•จ๊ป˜ ์ž‘๋™ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ, ์‹œ์Šคํ…œ์˜ ๋ณต์žก๋„ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ์šด ์•„์ด๋””์–ด๋Š” working-prototype์„ ๊ตฌํ˜„ ํ•ด๋ณด๊ธฐ ์ „์—๋Š” ๊ฐ€๋Šฅํ•œ์ง€ ์•„๋‹Œ์ง€ ์—ฌ๋ถ€๋ฅผ ์˜ˆ๋‹จํ•˜๊ธฐ๊ฐ€ ๊ฑฐ์˜ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.[18] ์ด๋Ÿฌํ•œ GO/NO-GO ํƒ€์ž…์˜ ์˜์‚ฌ๊ฒฐ์ •์—์„œ, ์ตœ์†Œํ•œ์˜ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•˜๊ณ (์ฝ”๋“œ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ง€์ €๋ถ„ํ•˜๊ณ  ๋น„ํšจ์œจ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ๋Š”๊ฐ€์™€๋Š” ๋ณ„๊ฐœ๋กœ) ์จ๋“œํŒŒํ‹ฐ HW/SW์™€ ํ•จ๊ป˜ ์ƒˆ๋กœ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์˜๋„ํ•œ ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ๋ณด๋Š” ๊ฒƒ์€ ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค. ์ž๋™์ฐจ/๋น„ํ–‰๊ธฐ/์œ„์„ฑ ๊ฐœ๋ฐœ๊ณผ ๊ฐ™์ด ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ์€ ์ˆซ์ž์˜ ์„œ๋“œ ํŒŒํ‹ฐ HW/SW๊ฐ€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋Œ€๋ถ€๋ถ„์€ ํŠน์ • ์—”์ง€๋‹ˆ์–ด๊ฐ€ ์ฝ”๋”ฉ์„ ์ž˜ํ•˜๊ณ  ์ž˜ ๋ชปํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ์‹œ์Šคํ…œ ๋‚ด์˜ ์—ฌ๋Ÿฌ HW/SW์™€ ๋‚ด๊ฐ€ ์ƒˆ๋กญ๊ฒŒ ๊ฐœ๋ฐœํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ž˜ ์–ด์šธ๋ฆฌ๋Š”์ง€๊ฐ€ ์šฐ์„ ์ ์œผ๋กœ ์ค‘์š”ํ•˜๋‹ค. ๊ฐœ๋…์ด ์™ธ๋ถ€ ์š”์†Œ๋“ค๊ณผ ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€๋ฅผ ๊ฒ€์ฆํ•œ ์ดํ›„์—์•ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ตœ์ ํ™”๊ฐ€ ์˜๋ฏธ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ํ•™๊ต ์™ธ์— ๋น„์‹ผ MATLAB์„ ์‚ฌ์„œ ์ œ๊ณตํ•œ๋‹ค๋ฉด, ์ƒ๊ธฐํ•œ ์ด์œ  ๋•Œ๋ฌธ์— ํ”„๋กœํ† ํƒ€์ดํ•‘์„ ํ†ตํ•œ ๊ฐœ๋… ๊ฒ€์ฆ์€ MATLAB์œผ๋กœ, ๊ฐœ๋… ๊ฒ€์ฆ ํ›„ ์‹ค์ œ ๊ฐœ๋ฐœ์€ ์•„๋งˆ๋„ C/C++์ด๋‚˜ Java๋กœ ํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.
  • ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ m-file๋กœ ์ €์žฅ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ด m-file์€ ๋ช…๋ น์ฐฝ(command window)์—์„œ ๋ฐ”๋กœ ๋ช…๋ น์–ด(์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์˜ ๊ฒฝ์šฐ)๋‚˜ ํ•จ์ˆ˜์ฒ˜๋Ÿผ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ์‹ฌ์ง€์–ด ๋‹ค๋ฅธ m-file ๋‚ด์—์„œ๋„ ์“ธ ์ˆ˜ ์žˆ์–ด์„œ ์ž‘์—…์ด ์ƒ๋‹นํžˆ ํŽธํ•ด์ง„๋‹ค.
  • ๋””๋ฒ„๊น…์ด ์‰ฝ๋‹ค. ์ด๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด์˜ ํŠน์ง•์œผ๋กœ ์žฅ์ ๊ณผ ๋™์‹œ์— ๋‹จ์ ์ด ๋˜๊ธฐ๋„ ํ•œ๋‹ค. ํ•œ ์ค„์”ฉ ์ฝ”๋“œ๋ฅผ ์ฝ์–ด๋“ค์ด๋ฉฐ ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•˜๊ธฐ์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ฝ”๋“œ๊นŒ์ง€ ์ง„ํ–‰ํ•ด์„œ ์›์ธ์ด ๋˜๋Š” ์ค„์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.
  • ๊ณต๋Œ€ ํ•™๋ถ€์ƒ์˜ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ํ”„๋กœ๊ทธ๋žจ ์งœ๊ธฐ๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฐ„๋‹จํ•œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์˜ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด๊ธฐ ๋ชฉ์ ์ด๋‹ค. ์ด๋•Œ๋Š” MATLAB์„ ์“ฐ๋ฉด ๋” ์‹œ๊ฐ„์ด ์ ˆ์•ฝ๋œ๋‹ค. ๋งค์Šค๋งคํ‹ฐ์นด๋Š” ์ •ํ™•ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„์˜ ๊ณตํ•™ ๊ด€๋ จ ๋ฌธ์ œ๋Š” ์ˆœ์ˆ˜์ˆ˜ํ•™์—์„œ ์š”๊ตฌํ•˜๋Š” ์ •ํ™•๋„๋Š” ํ•„์š” ์—†๋‹ค. ๋ฌด์—‡๋ณด๋‹ค ๊ต์ˆ˜๋“ค๋„ ํ•™๋ถ€์ƒ๋“ค์ด ๋งค์Šค๋งคํ‹ฐ์นด๋ฅผ ๋งŒ์ง€๋Š” ๊ฒƒ๊นŒ์ง„ ๊ธฐ๋Œ€๋„ ์•ˆํ•˜๊ณ  ๋งคํŠธ๋žฉ๋งŒ ์ข€ ๋งŒ์ ธ๋„ ๊ฐ์ง€๋•์ง€์ธ์ง€๋ผ...
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ์˜ ํŠน์ง•์€, MATLAB์šฉ์œผ๋กœ ๊ฐœ๋ฐœ๋œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํŒจํ‚ค์ง€(ํ”„๋กœ๊ทธ๋žจ ๋ชจ์Œ)๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ทธ๋ž˜ํ”„ ์ž‘์—…์ด๋‚˜ ๋ฏธ๋ถ„๋ฐฉ์ •์‹ ๊ณ„์‚ฐ, ๋˜๋Š” ์‹ ํ˜ธ ์ฒ˜๋ฆฌ ๊ฐ™์€ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฐ ์ž‘์—…๋“ค์€ ์ž์‹ ์ด ์ง์ ‘ ํ”„๋กœ๊ทธ๋žจ ์–ธ์–ด๋กœ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ๋งค์šฐ ์–ด๋ ต๋‹ค.
  • ๋˜ํ•œ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”(๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฐ๋‹ค๊ฑฐ๋‚˜, ์ด๋ฏธ์ง€๋ฅผ ๋„์šด๋‹ค๊ฑฐ๋‚˜ ๋“ฑ๋“ฑ) ๋ฐ ์‹œ๊ฐํ™” ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€ํ† ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ž˜ ๊ตฌ๋น„๋˜์–ด์žˆ๋‹ค. ์ฝ”๋“œ ๋ช‡ ์ค„์ด๋ฉด ๋…ผ๋ฌธ์— ๋„ฃ์„ ํ€„๋ฆฌํ‹ฐ์˜ ๊ทธ๋ฆผ ์ •๋„๋Š” ๋š๋”ฑ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ๋ฌผ๋ก  ์‹œ๊ฐํ™” ์ฝ”๋“œ์— ์ต์ˆ™ํ•˜์ง€ ์•Š์œผ๋ฉด GUI ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๊ทธ๋ฆผ์„ ์ปค์Šคํ„ฐ๋งˆ์ด์ฆˆ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • CMEX, FMEX ๋“ฑ์˜ ํ•จ์ˆ˜๋กœ C๋‚˜ ํฌํŠธ๋ž€์œผ๋กœ ์งœ์ธ ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์ด์šฉํ•ด ๊ธฐ์กด์— ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ MATLAB ์Šคํฌ๋ฆฝํŠธ์˜ ๋ณ‘๋ชฉ๊ตฌ๊ฐ„์„ mex๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ์†๋„ ๋ฌธ์ œ๋ฅผ ์ƒ๋‹นํžˆ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์‹ ๊ฒฝ์„ ์กฐ๊ธˆ๋งŒ ์“ฐ๋ฉด, ์•„์˜ˆ ์œˆ๋„์šฐ MEX์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด์„œ dll ํŒŒ์ผ๋“ค์„ ๋ถˆ๋Ÿฌ๋‹ค ์“ฐ๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • MATLAB ์ฝ”๋“œ๋ฅผ C ํŒŒ์ผ๋กœ ์ปดํŒŒ์ผํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋งคํŠธ๋žฉ์—์„œ ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ตœ์ ํ™”๊ฐ€ ํ•„์š”ํ•œ ๋ถ€๋ถ„์„ C ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ๋Œ๋ฆผ์œผ๋กœ์จ ์›ฌ๋งŒํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋ชป์ง€์•Š์€ ์†๋„๋ฅผ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ๋‹ค. MATLAB์„ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋ฐœ์šฉ์œผ๋กœ ํ™œ์šฉํ•  ๋•Œ ํฐ ์ž‡์ ์ด ๋œ๋‹ค.
  • ๋ชจ๋“  ์—ฐ์‚ฐ์„ ํ–‰๋ ฌ ์—ฐ์‚ฐ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, MATLAB์€ ๋งค์šฐ ๊ฐ•๋ ฅํ•˜๋‹ค. ํ–‰๋ ฌ์—ฐ์‚ฐ์— LAPACK์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ธ๋ฐ, ์žฅ๋‹ด์ปจ๋Œ€ ์ƒ๊ฐ์—†์ด C๋กœ ์ง  ํ–‰๋ ฌ์—ฐ์‚ฐ ๋ฃจํ‹ด๋ณด๋‹ค ๋ช‡ ๋ฐฐ๋Š” ๋น ๋ฅด๋‹ค. ๊ทธ๋ž˜์„œ MATLAB ์ž…๋ฌธ์ž๋“ค์—๊ฒŒ๋Š” ํŠœํ† ๋ฆฌ์–ผ ๋•Œ ๊ฐ€๋Šฅํ•œ ํ•œ ๋ฒกํ„ฐํ™”(vectorization)๋ผ๋Š” ํ…Œํฌ๋‹‰์„ ์‚ฌ์šฉํ•˜๋„๋ก ๊ฐ€๋ฅด์นœ๋‹ค. ์ด๋ฆ„์€ ๊ฑฐ์ฐฝํ•ด ๋ณด์ด์ง€๋งŒ, ๋‹จ์ˆœํžˆ for, if, while ๋Œ€์‹  ๋งคํŠธ๋žฉ์—์„œ ์ž์ฒด ์ง€์›ํ•˜๋Š” ํ•จ์ˆ˜๋“ค์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ํŽธํ•˜๋‹ค. for์ด๋‚˜ while ๋ฃจํ”„๋Š” ๊ทธ ๊ตฌ์กฐ์ƒ ์ˆœ์ฐจ์ (sequential)์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜๋ฐ–์— ์—†์ง€๋งŒ, ๋งคํŠธ๋žฉ์˜ ํ–‰๋ ฌ ๊ด€๋ จ ์—ฐ์‚ฐ๋“ค์€ ๋ณ‘๋ ฌ(parallel) ์—ฐ์‚ฐ์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ. ํšจ์œจ์ด ๋ช‡์‹ญ~๋ช‡๋ฐฑ ๋ฐฐ ์ด์ƒ ์ฆ๊ฐ€ํ•œ๋‹ค.
  • Parallel toolbox๋ฅผ ํ™œ์šฉํ•ด ์‰ฝ๊ฒŒ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์‹ ํ˜ธ ์ฒ˜๋ฆฌ๋‚˜ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ๋ฅผ ๋น„๋กฏํ•œ ์—ฌ๋Ÿฌ ๊ณตํ•™์  ๋ฌธ์ œ ํ•ด๊ฒฐ์— ์œ ์šฉํ•˜๋‹ค.
  • ์ž๋™ C์ฝ”๋“œ ์ƒ์„ฑ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•ด ์ž„๋ฒ ๋””๋“œ C ๋“ฑ ๋‹ค๋ฅธ ์–ธ์–ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์‹คํ–‰ ์†๋„๋ฅผ ๋†’์ด๊ฑฐ๋‚˜ ์ž„๋ฒ ๋””๋”” ๊ธฐ๊ณ„์— ์ง์ ‘ ์ด์‹ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋งŽ์€ ์ „๊ณต ์„œ์ ๊ณผ ๋…ผ๋ฌธ๋“ค์ด MATLAB ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ์‹ฌ์ง€์–ด ๊ธฐ๋ณธ์ ์ธ ํŠœํ† ๋ฆฌ์–ผ๊นŒ์ง€ ๋‹ด๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.
  • ๋ช…๋ น์–ด help๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉ๋ฒ•์„ ์ˆ™์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์‹ค MATLAB์„ ์ž˜ ์“ด๋‹ค๋Š” ๊ฒƒ์€ help๋ฅผ ์ž˜ ์“ด๋‹ค๋Š” ๊ฒƒ๊ณผ ๊ฑฐ์˜ ๊ฐ™๋‹ค.
  • Mathworks ํ™ˆํŽ˜์ด์ง€์˜ ๋ฌธ์„œ๊ฐ€ ๊ต‰์žฅํžˆ ์ถฉ์‹คํ•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Š” MATLAB์— ๋‚ด์žฅ๋œ Documentation์—๋„ ๊ทธ๋Œ€๋กœ ๋ฐ˜์˜๋˜์–ด ์žˆ์–ด์„œ ๋งŽ์€ ๋„์›€์ด ๋œ๋‹ค.[19] ๋งŒ์•ฝ ์–ด๋–ค ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์•Œ๊ณ  ์‹ถ์€๋ฐ ๋ชจ๋ฅด๊ฒ ๋‹ค ์‹ถ์œผ๋ฉด ์ผ๋‹จ ์—ฌ๊ธฐ์— ๋– ์˜ค๋ฅด๋Š” ๋‹จ์–ด๋ฅผ ๊ฒ€์ƒ‰ํ•ด๋ณด์ž. ๊ทธ๋Ÿฌ๋ฉด ์กฐ๊ธˆ์ด๋ผ๋„ ์—ฐ๊ด€์žˆ๋Š” ๊ฑด ๋ญ๋“  ๋œฌ๋‹ค. ๋งŒ์•ฝ ์—ฌ๊ธฐ ์—†์œผ๋ฉด ์ง„์งœ ์—†๋Š” ๊ฑฐ๋‹ˆ ๋” ์ฐพ๋А๋ผ ์‹œ๊ฐ„ ๋‚ญ๋น„ ํ• ๊ฑฐ ์—†์ด ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋งŒ์กฑํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์งœ๋ฉด ๋œ๋‹ค. ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ๋„ ์žˆ๋‹ค.[20]
  • 1๋…„์— ๋‘ ๋ฒˆ์”ฉ ๊พธ์ค€ํžˆ ์‹ ๋ฒ„์ „์„ ์ถœ์‹œํ•˜๋ฉฐ ์ง€์†์ ์œผ๋กœ ๊ธฐ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ์žˆ๋‹ค.
  • ๊ฐ€์žฅ ์ตœ์‹ ์˜ ๋ฒ„์ „์€ ๋ฌผ๋ก ์ด๊ณ  ๊ตฌ๋ฒ„์ „๊นŒ์ง€ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๊ฒƒ๋„ 20๋…„ ์ „๋„ ๋” ๋„˜์–ด๊ฐ€๋Š” ๋ฒ„์ „๊นŒ์ง€ ์ง€์›ํ•œ๋‹ค!

4.2. ๋‹จ์ [ํŽธ์ง‘]

  • ๋А๋ฆฌ๋‹ค. ๋ฌด์ง€๋ง‰์ง€ํ•œ ๋ช…๋ น์–ด ์„ธํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์•„๋ฌด๋ฆฌ ํšจ์œจ์ ์œผ๋กœ ์งœ๋„ C๋Š” ์ปค๋…•[21] ๊ฐ€์ƒ๋จธ์‹  ์œ„์—์„œ ๋Œ์•„๊ฐ€๋Š” Java๋ณด๋‹ค ๋А๋ฆฌ๋‹ค. ๋งŽ์€ ๊ธฐ๋Šฅ์˜ ์ˆ˜๋ฅผ ๊ฐ์•ˆํ•˜๋”๋ผ๋„ ๋น ๋ฅธ ํŽธ์€ ์•„๋‹ˆ๋‹ค.
  • ์žฌ๋ฐฐํฌ ํŒจํ‚ค์ง€๊ฐ€ ์—„์ฒญ๋‚˜๊ฒŒ ํฌ๋‹ค.(๋Œ€๋žต 1.8๊ธฐ๊ฐ€)
  • ๊ตฌ๋ฒ„์ „์˜ ๊ฒฝ์šฐ ํ”„๋กœ์„ธ์Šค ๋ฐ ์„œ๋น„์Šค์— ์˜ฌ๋ผ๊ฐ€์„œ ์›œ๋ฐ”์ด๋Ÿฌ์Šค ๋ชป์ง€์•Š์€ ์ปดํ“จํ„ฐ ์„ฑ๋Šฅํ•˜๋ฝ์„ ๋ณด์˜€์—ˆ๋‹ค.
  • ๋ช…๋ น์–ด ์„ธํŠธ๊ฐ€ ๊ทธ๋ƒฅ ๋ฌด์‹ํ•˜๊ฒŒ ๋•Œ๋ ค๋ฐ•ํžŒ ๊ตฌ์กฐ๋ผ ํ•„์š”ํ•œ ํ—ค๋”๋งŒ ์„ ์–ธํ•˜์—ฌ ์ตœ์ ํ™”๋ฅผ ํ•  ์ˆ˜๊ฐ€ ์—†๋‹ค.
  • ์œ ๋ฃŒ์ธ ๋ฐ๋‹ค ๊ฐ€๊ฒฉ๋„ ๋น„์‹ธ๋‹ค.
  • ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€์›ํ•˜์ง€๋งŒ, ๋‹ค๋ฅธ ๊ฐ์ฒด์ง€ํ–ฅ ์ „๋ฌธ ์–ธ์–ด๋“ค์— ๋น„ํ•ด ๋งค์šฐ ๊ธฐ์ดˆ์ ์ธ ํŒจ๋Ÿฌ๋‹ค์ž„๋งŒ ์ง€์›ํ•œ๋‹ค.
  • ๊ฐ„๋‹จํ•œ ํ–‰๋ ฌ ์—ฐ์‚ฐ์„ ๋ฃจํ”„, ์ฆ‰ for, if, while ๋ฌธ์œผ๋กœ ์จ์„œ ๋งŒ๋“ ๋‹ค๋ฉด, ๋ฌด์ง€๋ง‰์ง€ํ•˜๊ฒŒ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค. ์ผ๋‹จ 2015b ๋ฒ„์ „ ์ดํ›„๋กœ๋Š” ์—”์ง„ ์ตœ์ ํ™”์— ์‹ ๊ฒฝ์„ ์“ฐ์—ˆ๋Š”์ง€, ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ณผ์ •์—์„œ Just-In-Time ์ปดํŒŒ์ผ์„ ๋„์ž…ํ•˜์—ฌ ๋ฃจํ”„๋ฅผ ์‚ฌ์šฉํ•œ ํ–‰๋ ฌ ์—ฐ์‚ฐ์˜ ์†๋„๊ฐ€ ๋งŽ์ด ๊ฐœ์„ ๋œ ํŽธ์ด๋‹ค. ๋‹ค๋งŒ MATLAB์—์„œ ์Šฌ๋ผ์ด์‹ฑ์ด๋‚˜ arrayfun๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์“ฐ์ง€ ์•Š๊ณ  ๋ฐ˜๋ณต๋ฌธ์„ ์“ฐ๋Š” ๊ฒฝ์šฐ๋Š” ๊ผญ ํ•„์š”ํ•˜๋‹ค๊ธฐ ๋ณด๋‹จ, ์ข‹์ง€ ์•Š์€ ์ฝ”๋“œ์ผ ํ™•๋ฅ ์ด ๋†’๋‹ค. ํŠนํžˆ C ๊ฐ™์€ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋Œ€์ถฉ ๋ฐฐ์šฐ๊ณ  MATLAB์— ์ž…๋ฌธํ•ด ์–ธ์–ด๋งˆ๋‹ค ์ ์šฉ๋˜๋Š” ๊ณ ์œ ์˜ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์ž˜ ์ดํ•ดํ•˜์ง€ ๋ชปํ•  ๋•Œ ํ•˜๊ธฐ ์‰ฌ์šด ์‹ค์ˆ˜์ด๋‹ค.
  • ์ฝ”๋“œ ํŒŒ์ผ ํ•˜๋‚˜์— ํ•จ์ˆ˜๋ฅผ ํ•˜๋‚˜์”ฉ๋งŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๊ฐ„๋‹จํ•œ ํ•จ์ˆ˜์กฐ์ฐจ ์ฃ„๋‹ค ์ƒˆ๋กœ์šด ํŒŒ์ผ์— ์„ ์–ธํ•ด์•ผ ํ•ด์„œ ๋ฒˆ๊ฑฐ๋กœ์›Œ์ง„๋‹ค. ๋žŒ๋‹ค์‹์ด๋‚˜ ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•ด ์žก๋‹คํ•œ ํ•จ์ˆ˜๋“ค์„ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค.
  • ์œ„์˜ ๋‹จ์ ๋“ค ๋•Œ๋ฌธ์— ์‰ฝ๊ฒŒ ์ดˆ๋ณด์ž๊ฐ€ ์กฐ๊ธˆ๋งŒ ๋ณต์žกํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์งœ๋ฉด ์‰ฝ๊ฒŒ ์ŠคํŒŒ๊ฒŒํ‹ฐ ์ฝ”๋“œ๊ฐ€ ๋œ๋‹ค.
  • ๊ธฐ๋ณธ ํ•จ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด ๋„ˆ๋ฌด ์งง๊ณ , ์ง๊ด€์ ์ด์ง€ ๋ชปํ•˜๋‹ค. ํ•จ์ˆ˜๋ช…๋งŒ ๋ณด๊ณ  eye๊ฐ€ ๋‹จ์œ„ํ–‰๋ ฌ์„ ์ƒ์„ฑํ•˜๋Š” ํ•จ์ˆ˜์ธ์ง€, angle์ด ๋ณต์†Œ์ˆ˜์˜ phase angle์ธ์ง€ ๋“ฑ๋“ฑ ์ˆ˜ํ•™์ ์ธ ์˜๋ฏธ๋ฅผ ์ถ”๋ก ํ•˜๊ธฐ ํž˜๋“ค๋‹ค. ๊ทธ๋ฆฌ๊ณ  fft๊ฐ€ 1์ฐจ์› ๊ณ ์† ํ‘ธ๋ฆฌ์— ๋ณ€ํ™˜์ด๋ฉด fft2๊ฐ€ 2์ฐจ์› ๊ณ ์† ํ‘ธ๋ฆฌ์— ๋ณ€ํ™˜์ธ ๊ฒƒ๋„์„ ๋ณด๋ฉด ๋งˆ์น˜ ๊ณต๋Œ€์ƒ ์„ผ์Šค๋กœ ๋Œ€์ถฉ ์ด๋ฆ„์„ ์ง€์€ ๋“ฏํ•˜๋‹ค. ๋‹ค๋งŒ ์ด๋Ÿฐ ๋ฌธ์ œ๋Š” LAPACK ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค๋ณด๋‹จ ๋œ ์‹ฌํ•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ , NumPy ๋“ฑ ์ตœ์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค๋„ MATLAB์‹ ์ž‘๋ช…๋ฒ•์„ ๋”ฐ๋ผ๊ฐ€๋Š” ์ค‘์ด๋ผ, ์˜คํžˆ๋ ค ์ด๊ฒƒ์ด ์ •์„์ด ๋ ์ง€๋„ ๋ชจ๋ฅธ๋‹ค.
  • ์˜คํ”ˆ ์†Œ์Šค๊ฐ€ ์•„๋‹ˆ๊ณ , ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ๊ธฐ์—… ๋น„๋ฐ€์ด๋ผ MATLAB์˜ ๊ฑฐ์˜ ๋ชจ๋“  ํ•จ์ˆ˜๋“ค์˜ ์ฝ”๋“œ๋ฅผ ๋œฏ์–ด๋ณผ ์ˆ˜ ์—†๊ณ , ์ด๋Š” MATLAB์œผ๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋Š” ๊ณผํ•™์˜ ๊ธฐ๋ณธ ์ค‘ ํ•˜๋‚˜์ธ ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ์—ฐ๊ตฌ์— ์–ด๊ธ‹๋‚  ์ˆ˜ ์žˆ๋‹ค. ์ „์„ธ๊ณ„์—์„œ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๊ฐœ๋ฐœ ๊ณผ์ •์„ ๋ถ€๋ถ„์ ์œผ๋กœ๋‚˜๋งˆ ์ฃผ์‹œํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ๊ณผํ•™ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค๋„ ์‹ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์ด๋‚˜ ํ˜น์€ ๋ฆฌํŒฉํ† ๋ง ๊ณผ์ • ์ค‘์— ์‹ค์ˆ˜๋ฅผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ๋Š”๋ฐ, MATLAB์˜ ๊ฐœ๋ฐœ์ง„์ด ์•„๋ฌด๋ฆฌ ์ „๋ฌธ์„ฑ์„ ๊ฐ€์ง€๊ณ , ๋˜ํ•œ ๋ˆ์„ ๋ฐ›๊ณ  ๊ฐœ๋ฐœํ•˜๋Š” ์˜๋ฌด๋ฅผ ๊ฐ€์ง€๊ณ  ๊ฐœ๋ฐœํ•œ๋‹ค ํ• ์ง€๋ผ๋„ ์‚ฌ๋žŒ์ธ ํ•œ ์‹ค์ˆ˜๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜์‹ฌ์„ ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์–ธ์ œ๋“  ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์— ๋น„ํ•ด ๋ถˆํˆฌ๋ช…ํ•˜๋‹ค. ์ด๋Š” ๋งค์Šค๋งคํ‹ฐ์นด๋„ ๊ฐ€์ง„ ๋ฌธ์ œ์ด๋‹ค.
  • ๋‹ค๋ฅธ ๋ฒ”์šฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์— ๋น„ํ•ด ์ทจ์—…์— ๋„์›€์ด ๋˜์ง€ ์•Š๋Š”๋‹ค. MATLAB ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋Šฅ๋ ฅ์„ ์š”๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ ๋Œ€๋ถ€๋ถ„ ๋™์‹œ์— ์„๋ฐ•์‚ฌ ํ•™์œ„๋ฅผ ์š”๊ตฌํ•˜๋ฉฐ, ํ•™๋ถ€ ์กธ์—…์ƒ์ด ์ทจ์—…ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๋ฐ˜์ ์ธ Software Developer ์ง๋ฌด์—์„œ ์š”๊ตฌ๋˜๋Š” ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์–ธ์–ด๋กœ MATLAB์ด ์ฑ„ํƒ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ๊ฑฐ์˜ ์—†๋‹ค. ๊ทธ๋ž˜์„œ ๋Œ€ํ•™์› ์ง„ํ•™์— ์ง„์ง€ํ•œ ์ƒ๊ฐ์ด ์—†๋‹ค๋ฉด MATLAB์„ ๊นŠ์ด ํŒŒ๋Š” ๊ฒƒ์€ ๊ทธ๋ ‡๊ฒŒ ์ถ”์ฒœํ•˜๊ธฐ ํž˜๋“ค๋‹ค.
  • ์‹ ๋ฒ„์ „์„ ๊พธ์ค€ํžˆ ์ถœ์‹œํ•˜๋Š” ๊ฒƒ์€ ์ข‹์ง€๋งŒ, ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๋“ค์„ ์ œ๋Œ€๋กœ ๋ˆ„๋ฆฌ๋ ค๋ฉด ์ด์ „ ๋ฒ„์ „์„ ์ง€์šฐ๊ณ  ์ƒˆ๋กœ ๊น”์•„์•ผ ํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์žˆ๋‹ค.
  • ๊ธฐ๋Šฅ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋  ๋•Œ๋งˆ๋‹ค ์‹œ์Šคํ…œ ์ตœ์†Œ ๋ฐ ๊ถŒ์žฅ ์š”๊ตฌ ์‚ฌํ•ญ์ด ๊ณ„์† ์˜ฌ๋ผ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์‹  ๋ฒ„์ „์ผ์ˆ˜๋ก ํ”„๋กœ๊ทธ๋žจ์ด ๋ฌด๊ฒ๋‹ค. ๋ฐ์Šคํฌํƒ‘(ํŠนํžˆ ์กฐ๋ฆฝ ์ปดํ“จํ„ฐ)์—์„œ๋Š” ๊ทธ๋ฆฌ ๋ถ€๊ฐ๋˜๋Š” ๋‹จ์ ์ด ์•„๋‹ˆ์ง€๋งŒ ๋žฉํ†ฑ์—์„œ๋Š” ์ฃผ์˜ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

5. ๋น„์‹ผ ๊ฐ€๊ฒฉ[ํŽธ์ง‘]

  • Standard License: ์ƒ์—… ๋ฒ„์ „. MATLAB์„ ์ด์šฉํ•œ ์ด์œค์ด๋‚˜ ์ˆ˜์ต ์ฐฝ์ถœ์— ์ œํ•œ์ด ์—†๋‹ค. ํ•œ ๋ช…๋งŒ ์ธ์ฆ๋˜๋ฉฐ ์ตœ๋Œ€ PC ๋„ค ๋Œ€์— ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜๊ตฌ๋ณด์œ ์— 260๋งŒ์›์ด๋‚˜ ํ•œ๋‹ค. ๊ฑฐ๊ธฐ์—๋‹ค ํˆด๋ฐ•์Šค๋Š” ๋˜ ๋”ฐ๋กœ ์‚ฌ์•ผํ•˜๊ณ  ํ•˜๋‚˜๋‹น ๋ฐฑ๋งŒ์›์ด ๋„˜์–ด๊ฐ„๋‹ค.
  • Education: ํ•™์ˆ ๊ธฐ๊ด€(๋Œ€ํ•™/๋Œ€ํ•™์›) ์ง์›์ด๋‚˜ ์—ฐ๊ตฌ์ž๊ฐ€ ๋ณด์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ผ์ด์„ผ์Šค. ์˜๊ตฌ๋ณด์œ ์— 50๋งŒ์›์ด๋‹ค. ๋ฌผ๋ก  ํˆด๋ฐ•์Šค ๋ณ„๋„.
  • Student: ๋ณดํ†ต ํ•™์ƒ์šฉ์€ ๊ธฐ๋Šฅ์„ ์ œํ•œํ•˜๋Š” ๋Œ€์‹  ์‹ธ๊ฒŒ ํŒ๋‹ค. ์ƒ์—… ๋ฒ„์ „์ด ํˆด๋ฐ•์Šค ํ•˜๋‚˜์— 1,000๋ถˆ์ธ ๊ฒƒ์ด ํ•จ์ •. 2019๋…„ 1์›” ํ˜„์žฌ ํ•™์ƒ์šฉ์€ ํˆด๋ฐ•์Šค 10๊ฐœ๊ฐ€ ํฌํ•จ๋œ MATLAB and Simulink Student Suite๊ฐ€ $59์ด๊ณ  ์• ๋“œ์˜จ ๋ฐ ํˆด๋ฐ•์Šค๋Š” ์ตœ์ดˆ์— ๊ฐ™์ด ๊ตฌ๋งคํ•  ๋•Œ ํ•œ์ •์œผ๋กœ ๊ฐœ๋‹น $5์— ํŒ๋งคํ•˜๊ณ  ์žˆ๋‹ค. ๋ณ„๋„๋กœ ๊ตฌ๋งคํ•  ๋•Œ๋Š” ๊ฐœ๋‹น $18. ๊ฑฐ๊ธฐ์—๋‹ค ๋ฌด๊ธฐํ•œ ์œ ํšจ๋ผ๋Š” ๋ชจ์–‘. ๋‹น์žฅ ์‚ฌ์•ผํ•ด ์˜›๋‚ ์—๋Š” ํ•œํ™” 15๋งŒ์›, ๋ฏธ๊ตญ์—์„œ๋Š” 50๋ถˆ์— ํˆด๋ฐ•์Šค 10๋ถˆ์— ํŒ”์•˜๋‹ค.
  • Total Academic Headcount: ๊ณต๋Œ€์ƒ์ด๋‚˜ ๊ณต๋Œ€ ๋Œ€ํ•™์›์ƒ์ด๋ผ๋ฉด ํ•™๊ต ๋‚ด์ง€๋Š” ์—ฐ๊ตฌ์‹ค์—์„œ ๋ผ์ด์„ผ์Šค๋ฅผ ์‚ฌ์คฌ์„ ๊ฒฝ์šฐ ์žฌํ•™ ๋ฐ ํœดํ•™์ค‘์—๋Š” ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋‹จ ์กธ์—…ํ•˜๋ฉด ๊ถŒํ•œ์ด ์—†์–ด์ง„๋‹ค.
  • Home License: ๋ฏธ๊ตญ์—์„œ๋Š” ์ €๋Ÿฐ ์ œ์•ฝ ์—†์ด ์˜๊ตฌ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ณ  ๊ฐ€๊ฒฉ๋„ ๋น„๊ต์  ์ €๋ ดํ•œ ํ™ˆ ๋ผ์ด์„ผ์Šค๊ฐ€ ์กด์žฌํ•˜์ง€๋งŒ ํ•œ๊ตญ์—์„œ๋Š” ํŒ๋งคํ•˜์ง€ ์•Š์•˜๋‹ค๊ฐ€ R2020b ๋ฒ„์ „๋ถ€ํ„ฐ usd 99 ๊ฐ€๊ฒฉ์œผ๋กœ ํŒ๋งคํ•˜๊ณ  ์žˆ๋‹ค. ๋งํฌ ์„ค์น˜๋Š” ์ปดํ“จํ„ฐ ๋‘ ๋Œ€๊นŒ์ง€๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • MatLab Online: ๋ณธ์ธ์—๊ฒŒ ์œ ํšจํ•œ ๋ผ์ด์„ผ์Šค๊ฐ€ ์žˆ์œผ๋ฉฐ ์ปดํ“จํ„ฐ๊ฐ€ ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ์ƒํƒœ์—ฌ์•ผ๋งŒ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ฑฐ๊ธฐ์— ์ผ์ • ์‹œ๊ฐ„ ์ž…๋ ฅ์ด ์—†์œผ๋ฉด ์ž๋™ ๋กœ๊ทธ์•„์›ƒ์ด ๋˜๋Š” ๋“ฑ ๋ถˆํŽธํ•œ ์ ์ด ๋งŽ๋‹ค.
  • MATLAB Mobile: ์•ˆ๋“œ๋กœ์ด๋“œ, iOS๋ฅผ ์ง€์›ํ•˜๊ณ  MathWorks ๊ณ„์ •๋งŒ ๋งŒ๋“ค๋ฉด ๋ฌด๋ฃŒ๋กœ ๊น”์•„์„œ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ํˆด๋ฐ•์Šค๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋“ฑ ๊ธฐ๋Šฅ์ด ๊ฝค ์ œํ•œ์ ์ด๋‹ค. ๋ณธ์ธ์—๊ฒŒ ์œ ํšจํ•œ ๋ผ์ด์„ผ์Šค(Total Academic Headcount๋„ ํ•ด๋‹น๋จ)๊ฐ€ ์—†์„ ์‹œ์—๋Š” ์„ผ์„œ๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ ๋ฐ ์• ๋“œ์˜จ์ด ์ง€์›๋˜์ง€ ์•Š๋Š”๋‹ค.

ํ•™์ƒ์ด๋‚˜ ๋Œ€ํ•™ ์—ฐ๊ตฌ์†Œ๊ฐ€ ์•„๋‹ˆ๋ผ, ์ผ๋ฐ˜ ์ƒ์—…์  ์šฉ๋„๋กœ ์“ฐ๊ธฐ์—๋Š” ๋ผ์ด์„ผ์Šค ๋น„์šฉ์ด ์ง€๋‚˜์น˜๊ฒŒ ๋น„์‹ธ๋‹ค. ์•„๋ฌด๋ฆฌ MATLAB์ด ์“ฐ๊ธฐ ์‰ฝ๋‹ค ํ•œ๋“ค ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฒƒ ์ž์ฒด์—๋„ ์ „๋ฌธ์ ์ธ ๋…ธ๋™๋ ฅ์ด ํ•„์š”ํ•œ๋ฐ, ๋ˆ๊นŒ์ง€ ๋‚ด๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ์— ๋ชป๋งˆ๋•…ํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ๋งŽ๋‹ค. ํŠนํžˆ Python ์ฒ˜๋Ÿผ ์–ธ์–ด๋‚˜ ๊ตฌํ˜„์ฒด๋ถ€ํ„ฐ ์˜คํ”ˆ ์†Œ์Šค๋กœ ๋‚˜์˜ค๊ฑฐ๋‚˜ ๋ฌด๋ฃŒ์ธ ๊ฒฝ์šฐ๊ฐ€ ๋„๋ ค ์žˆ๋Š” ํ˜„ ์‹œ์ ์—์„  ๋ง์ด๋‹ค. ์ด๋Š” ๋งค์Šค๋งคํ‹ฐ์นด๋‚˜ ๋ฉ”์ดํ”Œ๋„ ๊ณต์œ ํ•˜๋Š” ๋ฌธ์ œ์ด๊ธฐ๋„ ํ•˜๋‹ค.
๊ฒŒ๋‹ค๊ฐ€ ํ•œ๊ตญ์˜ ์ด์šฉ์ž๋“ค์—๊ฒŒ๋Š”, ์ค‘๊ฐ„์— ์›ฌ ๋ธŒ๋กœ์ปค๊ฐ€ ๊ฐœ์ž…ํ–ˆ๋Š”์ง€ Home License ์ž์ฒด๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—†์—ˆ์ง€๋งŒ R2020b ๋ฒ„์ „๋ถ€ํ„ฐ usd 99 ๊ฐ€๊ฒฉ์œผ๋กœ ๊ตฌ์ž…์ด ๊ฐ€๋Šฅํ•ด์กŒ๋‹ค. ์ฆ‰, ํ•™๊ต๋ฅผ ์กธ์—…ํ•˜๊ณ  ๋‚˜๋ฉด 260๋งŒ์› ์ •๋„ ํ•˜๋Š” Standard License๋ฅผ ์‚ฌ๊ฑฐ๋‚˜ ์‹ญ๋งŒ์› ๋‚จ์ง“ํ•˜๋Š” Home License๋ฅผ ์‚ฌ์ง€ ์•Š๋Š” ํ•œ, ๊ณต๋Œ€ ์žฌํ•™ ์ค‘์— ์ž‘์„ฑํ•œ MATLAB ์ฝ”๋“œ๋Š” ๋ชจ๋‘ Octave๋กœ ์ด์‹ํ•ด์•ผ ํ•˜๊ณ , ์•„๋‹ˆ๋ฉด ํœด์ง€์กฐ๊ฐ์ด๋‹ค.
์ด๋Ÿฐ ์ ์€ ๊ฐœ์ธ ์ด์šฉ์ž๋“ค์ด MATLAB์„ ๋ฐฐ์šฐ๊ฑฐ๋‚˜, ๊ณตํ•™ ๊ด€๋ จ ์ง€์‹์„ ๊ณต๋ถ€ํ•˜๋Š” ๋ฐ ์ฃผ์ €ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์š”์ธ์ด๊ธฐ๋„ ํ•˜๋‹ค.
์š”์ฆ˜์€ ๊ฐ์ข… ํ”„๋กœ๊ทธ๋ž˜๋ฐ์šฉ IDE๋‚˜, ๊ทธ๋ž˜ํ”ฝ ํŽธ์ง‘ ํˆด, ๊ฒŒ์ž„ ์—”์ง„, CAD๊ฐ™์€ ๊ณผ๊ฑฐ์—๋Š” ๊ฐœ๋‹น ๋ช‡๋ฐฑ๋งŒ์›์”ฉ ๋น„์‹ธ๊ฒŒ ํŒ”๋˜ ์ „๋ฌธ ํˆด๋“ค๋„ ๋น„์ƒ์—…์  ์ด์šฉ ์šฉ๋„๋กœ๋Š” ๋ฌด๋ฃŒ ๋ผ์ด์„ผ์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ , ์ธ๋”” ๊ฐœ๋ฐœ์‚ฌ๋“ค์—๊ฒŒ ์ €๋ ดํ•œ ๋ผ์ด์„ผ์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒฝ์šฐ๋„ ๋งŽ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๋ฐฉ๋ฒ•์ด ํ•™์ƒ๋“ค์ด๋‚˜ ๊ฐœ์ธ๋“ค์ด ๋ถˆ๋ฒ•๋ณต์ œ์— ์†์„ ๋Œ€๋Š” ๋นˆ๋„๋ฅผ ์ค„์ด๊ณ  MATLAB ์–ธ์–ด์˜ ์ ์œ ์œจ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

MATLAB ๋ผ์ด์„ผ์Šค๋Š” ๋ฌด์ฒ™ ๋น„์‹ธ๊ธฐ ๋•Œ๋ฌธ์— ํšŒ์‚ฌ๋‚˜ ์—ฐ๊ตฌ์†Œ ์ปดํ“จํ„ฐ์— ํฌ๋ž™ ๋ฒ„์ „์„ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜, ์„ค์น˜๋œ ๊ฐœ์ธ ๋…ธํŠธ๋ถ์„ ๋“ค๊ณ  ์˜ค์ง€ ๋ง์•„์•ผ ํ•œ๋‹ค. ๋ถˆ๋ฒ•์€ ๋ฌผ๋ก  Home License๊ฐ™์€ ๋น„์ƒ์—…์  ๋ผ์ด์„ผ์Šค๊นŒ์ง€ ํฌํ•จ์ด๋‹ค. ๋งํฌ์™€ ๊ฐ™์ด ํ•œ๋ฒˆ ๊ฑธ๋ฆฌ๋ฉด ํฐ์ผ๋‚œ๋‹ค. ํŠนํžˆ ํฌ๋ž™ ๋ฒ„์ „์˜ ๊ฒฝ์šฐ ๊ฐ์ข… ํˆด๋ฐ•์Šค๋ฅผ ๋ชจ๋‘ ๊น”์•„๋ฒ„๋ฆฐ๋‹ค๋ฉด ๋ฌด์‹œ๋ฌด์‹œํ•œ ๋ฐฐ์ƒ๊ธˆ์„ ๋ฌผ๊ฒŒ ๋œ๋‹ค.
Mathworks๋Š” ํ•œ๊ตญ ์ง€์‚ฌ๋„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ํŠนํžˆ ๋” ์กฐ์‹ฌํ•˜์ž. ์•Œ๋‹ค์‹œํ”ผ ์™ธ๊ตญ๊ณ„ ์—”์ง€๋‹ˆ์–ด๋ง ๊ธฐ์—…์ด ํ•œ๊ตญ์— ์ง€์‚ฌ๋ฅผ ๊ฐ€์ง€๋Š” ์ด์œ  ์ค‘ ํ•˜๋‚˜๊ฐ€, ์ด๋Ÿฐ ๋‹จ์†์ด๋‚˜ ๋ฒ•์  ๋ถ„์Ÿ์„ ํ†ตํ•ด ์ด์ต์„ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค.

DRM์ด ๊น”๋ ค ์žˆ๋Š”๊ฑธ๋กœ ์ถ”์ •๋œ๋‹ค. ๋ถˆ๋ฒ•์„ค์น˜๋˜ Trial Version์ด๋˜ ์„ค์น˜๋ฅผ ํ•˜๋ฉด ๊ท€์‹ ๊ฐ™์ด ๋ถˆํŽธํ•œ ๋‚ด์šฉ์ด ์—†๋Š”์ง€ ํ™•์ธ๋ฉ”์ผ์ด ๋‚ ๋ผ์˜ค๊ณ , ์ „ํ™”๋„ ์˜จ๋‹ค. ๋˜ํ•œ ์ตœ์•…์˜ ๊ฒฝ์šฐ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐ์‚ฌ๊ฐ€ ์˜จ๋‹ค.

ํฌ๋ž™๋ฒ„์ ผ์œผ๋กœ ํ’€ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ํ’€ํŒจํ‚ค์ง€ ๊ฐ€๊ฒฉ์ด 1์–ต์ด ๋„˜์–ด๊ฐ์œผ๋กœ ๊ธฐ์—…์—์„œ๋Š” ๋˜๋„๋ก ์ •ํ’ˆ์ด๋‚˜, ์Šคํƒ ๋‹ค๋“œ ์—๋””์…˜์— ํ•„์š”ํ•œ ํˆด๋ฐ•์Šค๋งŒ ์‚ฌ์„œ ์‚ฌ์šฉํ•˜๊ณ , ๋ถ€๋“์ดํ•˜๊ฒŒ ํฌ๋ž™๋ฒ„์ ผ์„ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ ๊ฐ์‚ฌ๊ฐ€ ๋‚˜์˜ค๋ฉด, ์ฐฝ๋ฌธ ๋ฐ–์œผ๋กœ ์ปดํ“จํ„ฐ๋ฅผ ๋˜์ ธ๋ฒ„๋ฆฌ๋Š”๊ฑธ ์ถ”์ฒœํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ณ ๋ฐœํฌ๋ฆฌ

6. ๊ธฐํƒ€[ํŽธ์ง‘]

MATLAB ๊ณ„์‚ฐ ์—”์ง„๋„ ๋‚˜๋‚ ์ด ๋ฐœ์ „ํ•˜๋Š” ์ค‘์ด์–ด์„œ, ์ฝ”๋“œ๋งŒ ํšจ์œจ์ ์œผ๋กœ ์ง ๋‹ค๋ฉด ์•„์ฃผ ๋‹ต๋‹ตํ•˜์ง€ ์•Š์„ ์ •๋„๋กœ๋Š” ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. ์–ด๋–ป๊ฒŒ ์ฝ”๋“œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š”์ง€๋„ ๊ฐ€์ด๋“œํ•˜๋Š” ๊ธฐ๋Šฅ๋„ ์žˆ๋‹ค.

MATLAB ์ž๊ฒฉ์ฆ๋„ ์žˆ๋‹ค. 2017๋…„ ์ž๊ฒฉ์ฆ ์‹œํ—˜ ๊ธฐ์ค€ ์‘์‹œ๋ฃŒ๋Š” 45๋งŒ์›. ์ž๊ฒฉ์ฆ ์‘์‹œ๋ฃŒ๊ฐ€ ๋น„์‹ผ๋ฐ ## ์‹ค์ œ๋กœ ๋น„์šฉ์— ๋น„ํ•ด ์–ผ๋งˆ๋‚˜ ํšจ์šฉ์ ์ธ ์ž๊ฒฉ์ฆ์ธ์ง€๋Š” ์˜๋ฌธ์ด๋‹ค.

์ปดํ“จํ„ฐ๊ณตํ•™ ์ชฝ์—์„œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฐ์ข… ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์œ ํ–‰์„ ํƒ„๋‹ค๋Š” ๊ฒƒ์€, ํ”„๋กœ๊ทธ๋žจ์˜ ์ธํ„ฐํŽ˜์ด์Šค ๋Œ€์ƒ(์œ ์ €, ํ•ธ๋“œํฐ, ์ธํ„ฐ๋„ท ํ•˜๋“œ์›จ์–ด)์ด ๋Š์ž„์—†์ด ๋ณ€ํ•œ๋‹ค๋Š” ์†์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์‹œ๋„๊ฐ€ ์ด๋ฃจ์–ด์ง€๊ณ  ๋˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ž์ฒด๊ฐ€ ๋ฐœ์ „ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ„๊ธฐ๊ฐ€ ๋œ๋‹ค.

2020๋…„ ์ „๊นŒ์ง€๋Š” ๋ผ์ด์   ๋“ฑ AMD์—์„œ ๋งŒ๋“  CPU๋ฅผ ์“ด๋‹ค๋ฉด ๋™๊ธ‰์˜ ์ธํ…” CPU์— ๋น„ํ•ด ๋งค์šฐ ๋‚ฎ์€ ์†๋„๋ฅผ ๊ฒฝํ—˜ํ•ด์•ผ ํ–ˆ์—ˆ๋‹ค. ์ด ์ด์œ ๋Š” ๋งคํŠธ๋žฉ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ธํ…” MKL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์žˆ๋Š”๋ฐ, ์ธํ…” CPU๊ฐ€ ์•„๋‹Œ CPU์—์„œ๋Š” ๋น ๋ฅธ ์ตœ์‹ ํ˜• ๋ช…๋ น์–ด๊ฐ€ ์•„๋‹Œ ๊ฐ€์žฅ ๋А๋ฆฐ ๊ตฌ์‹ ๋ช…๋ น์–ด๋ฅผ ์“ฐ๋„๋ก ๋งŒ๋“ค์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.[22] MKL์˜ ๋น„๊ณต์‹ ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด ์ด๋ฅผ ์šฐํšŒํ•˜๋Š” ๋ฐฉ๋ฒ•์ด 2019๋…„ 12์›”์— ๋งคํŠธ๋žฉ ๋ ˆ๋”ง์—์„œ ์•Œ๋ ค์กŒ๋‹ค.(๋ ˆ๋”ง ๋งํฌ, ํ•œ๊ตญ์–ด ์†Œ๊ฐœ) ์ ๊ฒŒ๋Š” 20%์—์„œ ๋งŽ๊ฒŒ๋Š” 300%๊นŒ์ง€ ์„ฑ๋Šฅ ํ–ฅ์ƒ์ด ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์ด ๊ฐ„๋‹จํ•œ ํŒจ์น˜๋ฅผ ์ ์šฉํ•  ๊ฒฝ์šฐ ๋ฒค์น˜๋งˆํฌ ์ƒ์œผ๋กœ ์Šค๋ ˆ๋“œ๋ฆฌํผ๋Š” ์ธํ…” i9-10980XE๋ณด๋‹ค ์ „๋ฐ˜์ ์œผ๋กœ ๋‚˜์€ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ค€๋‹ค.[23]

๊ฒฐ๊ตญ MATLAB R2020a๋กœ ๋„˜์–ด๊ฐ€๋ฉด์„œ Ryzen ์‹œ๋ฆฌ์ฆˆ์—์„œ๋„ ๊ธฐ๋ณธ์ ์œผ๋กœ AVX2๋ฅผ ์“ฐ๋„๋ก ๊ฐœ์„ ์ด ์ด๋ฃจ์–ด์กŒ๊ณ , ์ถ”๊ฐ€์ ์ธ ์ตœ์ ํ™” ๋˜ํ•œ ์ด๋ฃจ์–ด์ ธ์„œ ๋™์ฝ”์–ด ๊ธฐ์ค€ AMD Zen2 ๊ธฐ๋ฐ˜ CPU๊ฐ€ ์ธํ…”์„ ์•ž์„œ๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋ฝ‘์•„๋‚ด๊ฒŒ ๋˜์—ˆ๋‹ค.

7. ๊ด€๋ จ ๋ฌธ์„œ[ํŽธ์ง‘]

[1] ์ ์ง€ ์•Š์€ ์ˆซ์ž์˜ ์ปด๊ณต๊ณผ ํ•™๋ถ€์ƒ๋“ค์ด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ SW๋กœ์„œ์˜ MATLAB ํŠน์„ฑ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๊ณ  MATLAB์˜ ์Šคํฌ๋ฆฝํŠธ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ ๋ถˆ๋งŒ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์‹ฌ์ง€์–ด ๋งŽ์€ ๊ฒฝ์šฐ์— ํŒŒ์ด์ฌ์œผ๋กœ MATLAB์„ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ ํ•˜๋Š” ๋ง์ƒ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค ํ•˜๋”๋ผ...
[2] ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” ๊ณตํ•™์šฉ ๊ณ„์‚ฐ๊ธฐ๋ฅผ ๋– ์˜ฌ๋ฆฌ๋ฉด ๋น„์Šทํ•˜๋‹ค.
[3] ํ–‰๋ ฌ ๊ณ„์‚ฐ, ๊ทธ๋ž˜ํ”„ ๋งŒ๋“ค๊ธฐ, ์—ฌ๋Ÿฌ ๊ณตํ•™์  ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉํ•˜๊ธฐ ๋“ฑ
[4] ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ•จ์ˆ˜ ๋งŒ๋“ค๊ธฐ ๋“ฑ
[5] ์‚ฌ์‹ค ์ด๋Š” ๋Œ€ํ•™ ์ธก์—์„œ๋„ MATLAB์„ ํ•œ ํ•™๊ธฐ๋™์•ˆ ๊ฐ€๋ฅด์น˜๋Š” ๊ณผ์ •์„ ๋งˆ๋ จํ•˜์ง€๋„ ์•Š์•„ ๋†“๊ณ ๋Š”, ์ด๊ฒƒ์ฏค์€ ํ•  ์ˆ˜ ์žˆ๊ฒ ์ง€ ํ•˜๋ฉด์„œ ๊ต์ˆ˜ ์žฌ๋Ÿ‰์œผ๋กœ ๊ณผ์ œ๋ฅผ ์ง„ํ–‰์‹œํ‚ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.
[6] ํ•ญ๊ณต์šฐ์ฃผ์—ฐ๊ตฌ์›, NASA, ํ•œ๊ตญ๊ฐœ๋ฐœ์—ฐ๊ตฌ์›(KDI), ํ˜„๋Œ€์ž๋™์ฐจ ๋“ฑ์—์„œ MATLAB์„ ์ •์‹ ๊ตฌ๋งคํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ํ™•์ธ๋จ. ํŠนํžˆ, ์ „์„ธ๊ณ„ ์ž๋™์ฐจ ์—…๊ณ„์—์„œ๋Š” Simulink์˜ ์ž๋™ C์ฝ”๋“œ ์ƒ์„ฑ์— ๋งŽ์ด ์˜์กดํ•˜๊ณ  ์žˆ๋‹ค.
[7] ๋ฌผ๋ก  ์ „๊ณต ๋ถ„์•ผ์™€ ์—ฐ๊ตฌ ๋ถ„์•ผ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค.
[8] ๋‹ค๋ฅธ ์–ธ์–ด๋Š” ์„œ๋“œ ํŒŒํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ •๋„๋‚˜ ์žˆ๋Š” ์ˆ˜์ค€์ด๋‹ค.
[9] MatLab์ด ๋ฐœ๋‹ฌํ•˜์ง€ ์•Š์•˜๋˜ ์‹œ์ ˆ์—๋Š” C++์„ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ–ˆ์œผ๋ฉฐ, ํ˜„์žฌ๋Š” ๋”ฅ๋Ÿฌ๋‹์˜ ์„ฑ์žฅ์„ธ์— ํž˜์ž…์–ด Python์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์ถ”์„ธ์ด๋‹ค.
[10] ๋ฌผ๋ก , ๋ช‡๋ช‡ ๊ธฐ์ดˆ์ ์ธ ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ด๋ฏธ ๋‚˜์™€ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„ ์‚ด์ง ์†๋งŒ ๋ด์„œ ์“ฐ๋ฉด ๋˜๋‹ˆ๊นŒ ์ž˜ ์ฐพ์•„๋ณด์‹œ๊ธธ.
[11] ์ผ๋ฐ˜ ์ƒ๋Œ€์„ฑ์ด๋ก ์€ 100๋…„๋„ ๋” ์ „์˜ ๊ฒƒ์ž„์—๋„ ๋ฐฐ์šฐ๋ ค๋ฉด ๋จธ๋ฆฌ๊ฐ€ ์•„ํ”„๋ฉฐ, 50๋…„ ์ „์˜ ํ•ญ๊ณต์œ ์ฒด์—ญํ•™์ด๋ก ์„ ๋ฐ”ํƒ•์œผ๋กœ ๋ฏธ๊ตญ์—์„œ๋Š” ์ œํŠธ๊ธฐ๊ฐ€ ๋‚ ์•„๋‹ค๋…”๊ณ , 50๋…„๋„ ์ „์— ์›์žํญํƒ„์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ํ–ˆ๋˜ ํ•ต๋ฌผ๋ฆฌํ•™์  ๊ณ„์‚ฐ๋“ค์€ ์ง€๊ธˆ๋„ ํญ๋ฐœ ์‹คํ—˜์ด ์—†์ด๋Š” ํ•„์š”ํ•œ ๋ณ€์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜์ง€ ๋ชปํ•œ๋‹ค.
[12] ๊ทธ๋‚˜๋งˆ ์„ ํ˜•๋Œ€์ˆ˜ ์ •๋„๋งŒ ํ•„์š”ํ•˜๋‹ค๋ฉด, ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๊ฐ€๊นŒ์šด BOOST/Ublas๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋‹ˆ, ํ• ๋งŒํ•˜๋‹ค. ํ•˜์ง€๋งŒ, ๋ณธ๊ฒฉ์ ์ธ ์ˆ˜์น˜ํ•ด์„์„ ์ œ๊ณตํ•˜๋Š” ์‹ ๋ขฐํ• ๋งŒํ•œ ์˜คํ”ˆ์†Œ์Šค C++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์—†๋‹ค.
[13] ๊ตญ๋‚ด ๋Œ€๊ธฐ์—…์˜ ์ž…์‚ฌ ์ฝ”๋”ฉ ์‹œํ—˜์„ ์ค€๋น„ํ•  ๋•Œ, ๋˜๋Š” Python ์ž์ฒด๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๋ ค๋Š” ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ์—ฌ์ž์ผ ๊ฒฝ์šฐ๋กœ ๊ตญํ•œ๋œ๋‹ค.
[14] 4์ฐจ ๋ฐฉ์ •์‹์˜ ์ผ๋ฐ˜ํ•ด๋ฅผ ๊ณ„์ˆ˜์— ๋Œ€ํ•œ ํ‘œํ˜„์œผ๋กœ ๋‚˜ํƒ€๋‚ด๊ฑฐ๋‚˜ ๋‹คํ•ญ์‹, ๋ถ€์ •์ ๋ถ„ ๋“ฑ์„ ์ˆ˜์‹์ ์œผ๋กœ ํ‘ธ๋Š” ๊ฒƒ.
[15] ๊ธฐ๊ณ„๊ณตํ•™ ๋ถ„์•ผ์—์„œ๋Š” ์ผ์ฐจ์ ์ธ ์ •ํ™•๋„๊ฐ€ ํ™•๋ณด๋œ๋‹ค๋ฉด(ex. 80%) ๊ทธ ์ดํ›„์—๋Š” ์‹คํ–‰ ์†๋„๊ฐ€ ๋” ์ค‘์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋‹ค์ˆ˜์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ž๋™์ฐจ ๋‚ด๋ถ€์— ๋“ค์–ด๊ฐ€๋Š” ์ „์ž ์ œ์–ด๊ธฐ๋Š” ์ œ์–ด๊ธฐ ํŠน์„ฑ์— ๋”ฐ๋ผ ๋А๋ ค๋„ 0.01์ดˆ, ๋ณดํ†ต 0.001์ดˆ๋งˆ๋‹ค ์ œ์–ด ๊ฒฐ๊ณผ ๊ฐ’์„ ์‚ฐ์ถœํ•˜๋Š” ๊ฒƒ์ด ์ œํ•œ ์กฐ๊ฑด์œผ๋กœ ์ ์šฉ๋˜์–ด ์žˆ๋‹ค. ์ฐจ์ฒด ๋‚ด๋ถ€์˜ ์ œ์–ด๊ธฐ๊ฐ€ ์ฃผ์–ด์ง„ ์ œ์–ด ์ฃผ๊ธฐ๋ฅผ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•˜๋ฉด, ์—”์ง„ ์‚ฌ์ดํด์ด ํํŠธ๋Ÿฌ์ง€๊ฑฐ๋‚˜, ์ฐจ๊ฐ€ ์šธ์ปน๊ฑฐ๋ฆฌ๋Š” ๊ฑฐ๋‚˜, ์กฐํ–ฅ์ด ์ด์ƒํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์„ ๋А๋ผ๊ฒŒ ๋œ๋‹ค.
[16] ํ•œ/์˜ ์ž…๋ ฅ์„ ํ•œ๊ธ€๋กœ ํ•œ ์ƒํƒœ์—์„œ๋Š” ํ‚ค๋ณด๋“œ์˜ ์–ด๋– ํ•œ ์ž์Œ, ๋ชจ์Œ ํ‚ค๋ฅผ ๋ˆ„๋ฅธ๋‹ค ํ•ด๋„ ์•„๋ฌด๊ฒƒ๋„ ์ž…๋ ฅ๋˜์ง€ ์•Š๋Š”๋‹ค.
[17] ๋‹ค๋งŒ 2017๋…„๋ถ€ํ„ฐ๋Š” ๊ฐ์ฒด์ง€ํ–ฅ์ด ๊ฐ€๋ฏธ๋œ ์ง„์งœ string ํ˜•์‹์ด ๋„์ž…๋˜์—ˆ๋‹ค. s= 'Hello, world!'์˜ ๊ฒฝ์šฐ ๊ธฐ์กด์— ์กด์žฌํ•˜๋˜ ๋ฌธ์ž์˜ ํ–‰๋ ฌ(character array)์„ ์„ ์–ธํ•˜๊ณ , s= "Hello, world!" ๋Š” ์ƒˆ๋กœ ๋„์ž…๋œ ๋ฌธ์ž์—ด(string)์„ ์„ ์–ธํ•œ๋‹ค.
[18] ์ฆ‰, ๋‚ด๊ฐ€ ์ฝ”๋”ฉ์„ ์ž˜ ํ•˜๊ณ  ์ž˜ ๋ชปํ•˜๊ณ ๋Š” ๋ณ„๋กœ ์ค‘์š”ํ•˜์ง€ ์•Š๋‹ค. ๋‚ด๊ฐ€ ์ง  ์ฝ”๋”ฉ ๋ฐฉ์‹์ด ๋‹ค๋ฅธ HW/SW์™€ ์ž˜ ์–ด์šธ๋ฆฌ๋Š”์ง€ ์—ฌ๋ถ€๊ฐ€ ๋ฌธ์ œ์ธ ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ๋ช‡ ๊ฐ€์ง€ ๊ทœ๊ฒฉ๋ฌธ์„œ ์ •๋„๋งŒ ๋ฐ›์€ ์—”์ง€๋‹ˆ์–ด ์ž…์žฅ์—์„œ๋Š” ์—ฌ๋Ÿฌ HW/SW์˜ ์ž‘๋™ ๋ฐฉ์‹์„ ๋กœ์šฐ ๋ ˆ๋ฒจ์—์„œ ์ „๋ถ€ ์ดํ•ดํ•˜๋ฉด์„œ ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ๊ฑฐ์˜ ์ „๋ฌดํ•˜๋‹ค.
[19] ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ help ๋˜๋Š” ํˆด๋ฐ”์˜ ๋„์›€๋ง๋กœ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.
[20] ๋‹จ, ๊ธฐ๋ณธ์ ์ด๊ฑฐ๋‚˜ ์‚ฌ์šฉ ๋นˆ๋„๊ฐ€ ๋†’์€ ํ•จ์ˆ˜ ๋ฐ ๋ช…๋ น์–ด ์œ„์ฃผ๋กœ ๋ฒˆ์—ญ์ด ์žˆ์–ด์„œ ๊ทธ ์™ธ์˜ ๊ธฐ๋Šฅ์„ ์›ํ•œ๋‹ค๋ฉด ์˜์–ด๋กœ ๋œ ์„ค๋ช…์„ ์ฝ์–ด์•ผ ํ•œ๋‹ค.
[21] ์ œ๋Œ€๋กœ ์ฝ”๋”ฉ๋งŒ ํ•œ๋‹ค๋ฉด ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋‚˜ ํฌํŠธ๋ž€ ์ œ์™ธ ํ•˜๊ณ ๋Š” ๋ณดํ†ต C๊ฐ€ ์ œ์ผ ๋น ๋ฅด๋‹ค. ์ฆ‰, MATLAB์ด C๋ณด๋‹ค ๋น ๋ฅผ ํ•„์š”๊ฐ€ ์—†๋‹ค. MIT์—์„œ ์ˆ˜ํ–‰ํ•œ Julia ๋ฒค์น˜๋งˆํฌ ์ •๋ณด ์ฐธ๊ณ .
[22] ์ด ๋ฌธ์ œ๋Š” ๋ฌด๋ ค 10~20๋…„๊ฐ„ ์ง€์†๋˜์–ด ์˜จ ๋ฌธ์ œ๋กœ ์ด์™€ ๊ด€๋ จํ•ด ์‹œ์ •๋ช…๋ น์„ ๋ฐ›์•˜์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ด์–ด์ง€๊ณ  ์žˆ๋‹ค.
[23] legitreview ๋ฒค์น˜๋งˆํฌ ๋ฐ ExtremeTech ๋ฒค์น˜๋งˆํฌ๋ฅผ ๋ณด๋ฉด ํŒจ์น˜ ์ ์šฉ ์ „์—๋Š” 9๊ฐœ ์ฃผ์š” ์—ฐ์‚ฐ ์ค‘ 8๊ฐœ๊ฐ€ ์ธํ…”์˜ ์šฐ์œ„๋กœ ๋‚˜์˜ค๋‚˜ ํŒจ์น˜ ์ ์šฉ ํ›„์—๋Š” 7๊ฐœ์—์„œ AMD์˜ ์šฐ์œ„๋กœ ๋‚˜์˜ค๋ฉฐ ์ „๋ฐ˜์ ์ธ ์†Œ์š”์‹œ๊ฐ„์—์„œ๋Š” ๊ธฐ์กด ๋ฒค์น˜๋งˆํฌ๊ฐ€ 3960X < 10980XE < 3970X์˜€๋˜ ๋ฐ˜๋ฉด ํŒจ์น˜ ์ดํ›„์—๋Š” 10980XE๋ฅผ 3960X๋กœ๋„ ๋„‰๋„‰ํ•˜๊ฒŒ ์ด๊ธฐ๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜์˜จ๋‹ค(10980XE๋ณด๋‹ค ์‹คํ–‰์‹œ๊ฐ„ ์•ฝ 35% ๋‹จ์ถ•๋จ).