์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
MATLAB | |
๋ฒ์ | MATLAB 9.9, R2020b 2020๋ 9์ 17์ผ ์ ๋ฐ์ดํธ |
์น์ฌ์ดํธ | |
disp( 'Hello, world!' )
'Hello World!'
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) ๊ฐ์ ๊ธฐ์ด์ ์ธ ์์นํด์ ์๊ณ ๋ฆฌ์ฆ๋ง ์ํํ๋ ค๊ณ ํด๋ ์ด๋ฐ ์ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ฃ๋ค ๋ฐ๊ฑฐ๋ ์ฑ ์ ๋ณด๋ฉด์ ์ง์ ์ฝ๋ฉํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๊ต์ฅํ ํผ๊ณคํด์ง๋ค. ๋ฌผ๋ก ๋ฐ์ฌ๊ธ์ด๋ฉด ์๋ ๊ฒ์ ๋ง๋๋๊ฒ ๋น์ฐํ๊ธฐ ๋๋ฌธ์ ํฌ๊ฒ ๋ฌธ์ ๊ฐ ๋์ง ์๋ ๋ถ์ผ๋ ๋์ณ ๋๋ค. ๋ค์ ๋งํ๋ฉด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ช ๊ฐ๋ฅผ ์๋ก ์ง๋ ์ .
์ผ๋ถ ์ฌ๋๋ค์ด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์ดํดํ๊ธฐ๋ ํ์ง๋ง, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ผ๊ธฐ ๋ณด๋ค๋ ํด๋น ์ํํธ์จ์ด์ ์คํฌ๋ฆฝํ ์ธํฐํ์ด์ค๋ฅผ ์ฌ๋๋ค์ด ์ธ์ด๋ก ๋ฐ์๋ค์ด๋ ๊ฒ์ ๊ฐ๊น๋ค. ์ด ์ฌ์ค์ 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 ๋ฑ ์์นํด์์ด ํ์ํ๋ค.
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์ ์ ํ ์ ์์ ๊ฒ์ด๋ค.
์ ์๊ณตํ๊ณผ์์๋ ์ ๊ณต๊ณผ๋ชฉ ๊ณผ์ ์ ์ฃผ๋ก 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์ ์จ์ผ ํ๋ค๋ ๊ฑธ ๊นจ๋ซ๊ณ ๋์์จ๋ค. ํฌ๋ฅ์ด๋ ๊ต์๋ค ์ ์ฅ์์๋ ๋งค๋ฒ ์ ํ์์ด ๋ค์ด์ฌ ๋๋ง๋ค ๊ฑฐ์ณ์ผ ํ๋ ๊ณผ์ ์ค ํ๋์ด๋ค.
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์ ํ์ด์ฌ์ ์ ์ฐจ ๊ธฐ๋ณธ์์์ด ๋์ด๊ฐ๋ ์ถ์ธ์ด๋ค.
์ฐ์ ๊ฒฝ์ ํ๊ณผ ๋ํ์์์๋ 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 ๋ฌธ๋ฒ ํธํ์ฑ์ด ๋ค์ ๋ฎ๋ค.
๊ฐ์ข ์คํ ์์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๊ณต์ง๋ก MATLAB์ ๋์ฒดํ๋ ๊ฒ ์์ฒด๋ ๊ฐ๋ฅํ๋ค. ๋ค๋ง, MATLAB์ ์ฒ ํ ์์ฒด๊ฐ '๋์ ์ผ๋ง๋ ์ง ๋ผํ ๋ Mathworks๊ฐ ์ต๋ํ ์ ์ฉํ ๊ธฐ๋ฅ์ ๋ง์ด ๊ฐ์ถ์ด ๋์๋ผ'๋ผ๋ ์์ด๋ผ๋ฉด, ์คํ์์ค ์ง์์์๋ ๊ณต์ง๋ก ์ฐ๋ ๋์ ์ ์ฌ์ฉ์๊ฐ ์ฌ๋ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ด์ ๋ฒ์ ์ถฉ๋์ด๋ผ๋๊ฐ ๋ฏธ๋นํ ๊ธฐ๋ฅ์ ๋ํ ๋ณด์ ๋์ฑ ์ ์ฌ์ฉ์ ์ค์ค๋ก ํด์ผํ๋ ๋ฑ ๋ถํธํ ์ ์ด ๋ง๋ค.
ํนํ ๋ผ์ด์ผ์ค๊ฐ GPL์ผ ๊ฒฝ์ฐ ์์ ์ ์ธ ๊ฐ๋ฐ์ ์ฌ์ฉํ๋ค๋ฉด ์นดํผ๋ ํํธ์ ์ฃผ์ํด์ผ ํ๋ค.
3. ์ญ์ฌ[ํธ์ง]
1970๋
๋์ ๋ด๋ฉ์์ฝ ๋ํ์ ์ปดํจํฐ๊ณตํ๊ณผ์ ํ์ฅ์ธ ํด๋ฆฌ๋ธ ๋ชฐ๋ฌ์ ์ฃผ๋ ์๋ ๊ฐ๋ฐ์ด ์์๋์๋ค. 1984๋
๋ณธ๊ฒฉ์ ์ผ๋ก Mathworks ์ฌ๋ฅผ ์ธ์ฐ๊ณ ๊ฐ๋ฐํ์ฌ 2000๋
๋์ ์ฒ์์ผ๋ก ์ผ๋ฐ ์ฌ์ฉ์์๊ฒ ํ๋งค๋๊ธฐ ์์ํ์๋ค.
4. ํน์ง[ํธ์ง]
์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ํ๋ ฌ์ ๊ทธ์ ๊ฐ ์ฐจ์์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฐฉ์์ผ๋ก, ํ์ค์ ํ๋ ฌ ๊ณ์ฐ ๋ฐฉ์๊ณผ๋ ๊ฑฐ๋ฆฌ๊ฐ ์๋ค. ๊ทธ์ ๋ฐ๋ผ ๊ฐ ํ๋ ฌ์ ๋ํ ๊ฐ์ ๊ตฌํ๋ ค๋ฉด ๊ทธ ๋ถ๋ถ ์ญ์ ์ ์ ๋ค์ด ์ง์ ์๊ณ ๋ฆฌ์ฆ์ ์ง์ ๊ณ์ฐํด์ผ ํ๋ค. ๋ฌธ์ ๋ ๊ณตํ์ด ๋๋ถ๋ถ์ด ํ๋ ฌ ๊ณ์ฐ ์์ ์ฑ๋ฆฝ๋ ํ๋ฌธ์ด๋ผ ํ๋ ฌ ๊ณ์ฐ์ด ๋ถํธํ ์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ๊ณตํ๊ณ์ด์์ ์ฌ์ฉํ๊ธฐ ์ด๋ ต๋ค.
C/C++๋, ์ดํ ๊ฐ๋ฐ๋ Java๋, ๋ค๋ชฉ์ ์ฉ๋๋ฅผ ๊ฐ์ง๊ณ ๊ฐ๋ฐ๋์๊ธฐ์ ๊ณตํ์ฉ์ผ๋ก ๋์์ธ๋ ์์์ ๊ณ์ฐํ๊ธฐ ์ํด์ ๊ณตํ๋๋ค์ด ์๊ณ ๋ฆฌ์ฆ์ ์๋ฌ๋ ํ์๊ฐ ์์๋ค. ํ์ง๋ง ๊ฐ ๊ณตํ๊ณผ์ ํ์ค์ ๊ฐ๋ฅด์น๊ธฐ ์ด๋ ค์ ์ผ๋ฉฐ ์ปค๋ฆฌํ๋ผ๋ ๋ง๋ค์ด์ ธ์์ง ์์๋ค. ๋ํ ์ปดํจํ ํ์ ์ญ์ 1990๋ ์ด์ ์๋ ๋ถ์กฑํ์ฌ ๊ณตํ ๊ณ์ฐ๊ณผ ์๋ฎฌ๋ ์ด์ ์ ์์ด ํ์์ฑ์ ์ ๋์ ์ด์์ผ๋ ์ ์ฉ ๋ฐฉ์์ ํ์ ๋์๋ค. ๋ํ ํฌํธ๋ ๋ฑ์ ๋จ์ ๊ณ์ฐ์ ์ ํฉํ ์ธ์ด๋ค๋ ๊ทธ ๋๋ฆ์ ์ฅ์ ์ด ์์์ผ๋ ๋ณ๋ ฌ๊ณ์ฐ์ ์ ํฉํ์ง ๋ชปํ๋ค.
๊ทธ๋ฌ๋ MATLAB์ ๊ณตํ๊ณผ ์๋ฎฌ๋ ์ด์ ์ ํนํ๋ ์ธ์ด๋ผ๋ ๋ชฉ์ ์ ๊ฐ์ง๊ณ ๊ฐ๋ฐ๋์๋ค. ๊ทธ์ ๋ฐ๋ผ ์๊ฐ๊ณผ (์๊ธ์ ) ๋ฆฌ์์ค๋ฅผ ํฌ๊ฒ ์ฌ์ฉํ์ง ์๋ ๊ธฐ์กด ์ธ์ด์ ๋ค๋ฅธ ๊ฐ๋ ์ผ๋ก ๊ฐ๋ฐ๋๋ค. ๊ทธ๊ฑด ๋ฐ๋ก ์ฐ์ผ ๋งํ ๋ช ๋ น์ด ์ธํธ๋ ์ฃ๋ค ์ปดํ์ผ๋ฌ๋ก ์ด๋ฃจ๋, ๋นํจ์จ์ ์ด๋ ์ฌ์ฉ์ ์ ์ฅ์์ ์ฌ์ด ๋ฐฉ๋ฒ์ ํํ ๊ฒ์ด๋ค.
๋ํ ๊ธฐ์กด ์ธ์ด์์ ์ฐจ์ด์ ์ผ๋ก ๋ชจ๋ ์ ์ํ ๋ณ์๋ ํ๋ ฌ ์ทจ๊ธ์ด ๋๋ค. ์ด๋ ๊ณตํ๊ณ์์ ์๋ง์ ๋ณ์๋ค์ ๊ฐํธํํ๊ธฐ ์ํด ํ๋ ฌ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ฌ์ง์ด ๋ฌธ์์ด๋ ๊ทธ์ ๋ฌธ์(char)๋ค์ ํ๋ ฌ๋ก ์ทจ๊ธ๋์๋ค.[17]
MATLAB์ด ์ฒ์ ์ฌ์ฉ์์ฉ์ผ๋ก ๋ฐํ๋ 2000๋ ๋์๋ ์ปดํจํ ํ์์ ํ๊ณ์ ๋ณด๊ธ์ ๋ํญ์ผ๋ก ์ฃผ๋ชฉ๋ฐ์ง ๋ชปํ๋ค. ๊ทธ๋ฌ๋ ๊ณง ์ปดํจํฐ๊ฐ ๋น ๋ฅด๊ฒ ๋ณด๊ธ๋์๊ณ , ๋งคํธ๋ฉ์ ์ฌ์ฉ๊ณผ ๊ต์ก์ ๊ฐํธํจ์์ ์ฃผ๋ชฉ๋ฐ์ ๊ณตํ๋๋ค์ด๋ผ๋ฉด ํ ๋ฒ์ฉ ๋ง์ ธ๋ณธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ๋์๋ค.
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๊ฐ ์ธํ ์ ์์๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฝ์๋ด๊ฒ ๋์๋ค.
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% ๋จ์ถ๋จ).