Toby's Study Blog
article thumbnail
Published 2024. 1. 8. 21:12
MATLAB ์ •๋ฆฌ embedded

๐Ÿ“ MATLAB ์ด๋ž€? 

MATLAB = Matrix(ํ–‰๋ ฌ) + Laboratory(์‹คํ—˜์†Œ)
MATLAB์€ ๊ณตํ•™์˜ ๊ธฐ์ดˆ์ธ ํ–‰๋ ฌ์„ ๋งŒ๋“ค๊ณ  ํ•„์š”ํ•œ ๊ณ„์‚ฐ ๋ฐ ์กฐ์ž‘์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค. 

(โ€ป MATLAB ์–ธ์–ด๊ฐ€ MATLAB ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ๊ทธ๋žจ, ์–ธ์–ด ๋‘˜๋‹ค ๋งž๋Š” ํ‘œํ˜„์ด๋‹ค.)

  • ํ•ต์‹ฌ ๊ธฐ๋Šฅ 
    ์ˆ˜์น˜ ๊ณ„์‚ฐ, ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘, ๋ฐ์ดํ„ฐ ๋ถ„์„, ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”, ๊ฒฐ๊ณผ ๋ฌธ์„œํ™” ๋ฐ ๊ณต์œ  ๊ธฐ๋Šฅ์ด ํ•ต์‹ฌ ๊ธฐ๋Šฅ์ด๋‹ค. 
  • MATLAB ๋ช…๋ น์–ด, ํ•จ์ˆ˜ ์ค‘์‹ฌ์˜ ์–ธ์–ด 
    MATLAB์€ ๋ช…๋ น์–ด์™€ ํ•จ์ˆ˜ ์ค‘์‹ฌ ์–ธ์–ด๋กœ, ๊ฐ์ฒด ๋ฐ ์ ˆ์ฐจ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€์›ํ•œ๋‹ค.
  • ํด๋” ๊ธฐ๋Šฅ
    ๊ธฐ๋ณธ ์ž‘์—… ๊ณต๊ฐ„์€ C:\Users\User\Documents\MATLAB ์ด๋ฉฐ window์™€ ๊ธฐ๋ณธ ๋ช…๋ น์–ด๋Š” ๋น„์Šทํ•˜๋‹ค,

๐Ÿ“ MATLAB ์ฃผ์š” ๋‚ด์šฉ ์ •๋ฆฌ

๊ธฐ๋ณธ ๋‚ด์šฉ

  • ๋ณ€์ˆ˜
    ์˜์–ด ๋Œ€/์†Œ๋ฌธ์ž, ์ˆซ์ž, ์–ธ๋”๋ฐ”๋ฅผ ์กฐํ•ฉํ•ด ์ตœ๋Œ€ 63๊ฐœ ๊ธธ์ด๋กœ ๋ณ€์ˆ˜ ์ƒ์„ฑ ๊ฐ€๋Šฅ(โ€ป ์‹œ์ž‘์€ ์˜๋ฌธ์ž๋กœ ์‹œ์ž‘ ํ•ด์•ผํ•จ)
    • global ๋ณ€์ˆ˜
      ๋ณ€์ˆ˜ ์•ž์— global์„ ๋ถ™์—ฌ ์„ ์–ธํ•œ ๊ฒฝ์šฐ, ๋‹ค๋ฅธ ํ•จ์ˆ˜์—์„œ ๋™์ผํ•˜๊ฒŒ ๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ ์ „์—ญ ๋ณ€์ˆ˜๋กœ ํ•ด๋‹น ๋ณ€์ˆ˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    • ์˜ˆ์•ฝ์–ด
      pi, e, i, j, eps, true, false, inf, nan ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ์˜ˆ์•ฝ์–ด๊ฐ€ ์กด์žฌ 
  • ์‚ฐ์ˆ  ์—ฐ์‚ฐ 
    +, -. *, ^, \, / ์‚ฐ์ˆ  ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ  ์•„๋ž˜์™€ ๊ฐ™์€ ๊ธฐ์กด ํ–‰๋ ฌ๊ณผ๋Š” ๋‹ค๋ฅธ ๊ณ„์‚ฐ๋ฒ•์ด ์กด์žฌํ•œ๋‹ค. 
    โ€ป ์—ฐ์‚ฐ ์šฐ์„ ์ˆœ์›Œ : ()  ->  exp  ->  *, /, \  -> +, - 
    • x + 3                 -> ๋ชจ๋“  ๊ฐ’์— 3์„ ๋”ํ•จ 
    • x(1:2, 3:5) = 3   -> ํ•ด๋‹น ๊ตฌ๊ฐ„์˜ ๊ฐ’์„ ๋ชจ๋‘ 3์œผ๋กœ ๋ฐ”๊ฟˆ
    • x .^ 2                 -> ๋ชจ๋“  ๊ฐ’์˜ ์ œ๊ณฑ์„ ํ•ด์คŒ 
  • ๊ด€๊ณ„ ์—ฐ์‚ฐ & ๋…ผ๋ฆฌ ์—ฐ์‚ฐ
    ๋‹ค๋ฅธ ์–ธ์–ด์™€ ์œ ์‚ฌํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜๋ฉฐ ๊ฒฐ๊ณผ๋Š”  0 -> false, 1 -> true ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. 
  • ์ถœ๋ ฅ ์„œ์‹
    ์†Œ์ˆ˜์  ํ‘œํ˜„ ์‹œ ๊ฐ€๋…์„ฑ ๋ฐ ์‹ ๋ขฐ์„ฑ์„ ์œ„ํ•ด ๋ถ€๋™ ์†Œ์ˆ˜์ ( 5 x e^-3 )์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ double ํ˜•์ด ๊ธฐ๋ณธ ์„ค์ •์ด๋‹ค.
    format ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ถœ๋ ฅ ํ˜•์‹ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
    • format long e : ์†Œ์ˆ˜์ ์„ ์ง€์ˆ˜ ํ‘œํ˜„์„ ํ™œ์šฉํ•˜์—ฌ ๋‚˜ํƒ€๋ƒ„ (e.g. 1.576130816775483e-01)
    • format long g : ์†Œ์ˆ˜์  ์ดํ•˜ ์ž๋ฆฌ๋ฅผ ๋” ๋งŽ์ด ํ‘œ์‹œ(๋ณดํ†ต double ์ด๋ฏ€๋กœ 15์ž๋ฆฌ๊นŒ์ง€ ํ‘œ์‹œ๋จ) 
    • format compact : ๊ฒฐ๊ณผ์— ์ค„๊ฐ„๊ฒฉ ๋„์–ด์“ฐ๊ธฐ๋ฅผ ์ œ๊ฑฐ ๋” ์••์ถ•๋œ ํ˜•ํƒœ๋กœ ํ‘œ์‹œ  
  • ๋ณต์†Œ์ˆ˜
    • real(x)     -> ๋ณต์†Œ์ˆ˜์˜ ์‹ค์ˆ˜๋ถ€
    • imag(x)   -> ๋ณต์†Œ์ˆ˜์˜ ํ—ˆ์ˆ˜๋ถ€ 
    • abs(x)     -> ๋ณต์†Œ์ˆ˜์˜ ์ ˆ๋Œ€๊ฐ’ ๋ฐ˜ํ™˜ (โ€ป e.g. abs(7+2i)=(7)2+(2)2โ€‹=49+4โ€‹=53โ€‹7.2801)
    • angle(x)  -> ๋ณต์†Œ์ˆ˜์˜ ๊ฐ๋„๊ฐ’ ๋ฐ˜ํ™˜ (โ€ป e.g. angle(3+4i)=arctan(3/4โ€‹)0.93radians)
    • x'             -> ๋ณต์†Œ์ˆ˜๋ฅผ ์ „์น˜์‹œํ‚ฌ ๊ฒฝ์šฐ ํ—ˆ์ˆ˜๋ถ€์˜ ๋ถ€ํ˜ธ๊ฐ€ ๋ฐ˜๋Œ€๋กœ ๋˜๋Š”๋ฐ ์ด๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ๋Š” x.' ์ ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค.
  • ๋ฌธ์ž์—ด
    • 'hi hello'               -> ' ๋ฅผ ๋ถ™์—ฌ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ 1x8์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ๊ฐ–๋Š” ํ–‰๋ ฌ๊ณผ ๋™์ผํ•˜๊ฒŒ ์ทจ๊ธ‰ํ•œ๋‹ค.
    • ''                          ->  ๋ฌธ์ž ์•ˆ์— ' ๋ฅผ ์“ฐ๋ ค๋ฉด ""๋กœ ์จ์•ผํ•œ๋‹ค.
    • num2str(num);    -> ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๊ฐ€ ์žˆ์œผ๋ฉฐ ๋ฌธ์ž์—ด ๊ด€๋ จ ์—ฌ๋Ÿฌ ํ•จ์ˆ˜ ์กด์žฌํ•œ๋‹ค.
    • strArray = ["apple", "banana", "cherry"]; ์™€ ๊ฐ™์ด ๋ฌธ์ž์—ด ํ–‰๋ ฌ ์ƒ์„ฑ ๊ฐ€๋Šฅ
  • Inf (๋ฌดํ•œ๋Œ€)
    1/0 ์ฒ˜๋Ÿผ 0์œผ๋กœ ๋‚˜๋ˆŒ ์‹œ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€๋งŒ MATLAB์€ ์ด๋ฅผ ํ—ˆ์šฉํ•˜๋ฉฐ, ๋ฌดํ•œ๋Œ€ ๊ฐ’์„ ๊ฐ€์ง€๊ฒŒ ๋จ
  • NaN(์ˆซ์ž x)
    0์„ 0์œผ๋กœ ๋‚˜๋ˆŒ ๊ฒฝ์šฐ MATLAB์—์„œ๋Š” NaN์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ์ˆซ์ž๊ฐ€ ์•„๋‹˜์„ ์˜๋ฏธํ•จ

ํ–‰๋ ฌ ๊ด€๋ จ ๋‚ด์šฉ

  • ์ƒ์„ฑ ๋ฐฉ๋ฒ•
    ์‰ผํ‘œ, ๋„์–ด์“ฐ๊ธฐ, ์„ธ๋ฏธ์ฝœ๋ก  ๋“ฑ์„ ์‚ฌ์šฉํ•ด ์•„๋ ˆ์™€ ๊ฐ™์ด ํ–‰๋ ฌ ์ƒ์„ฑ ๊ฐ€๋Šฅ
    • x = []                 ->  ๋นˆ ํ–‰๋ ฌ ์ƒ์„ฑ
    • x = [1 2 3]         ->  x = 1 2 3 
    • x = [1,2,3]         ->  x = 1 2 3 
    • y = [1 2; 3 4]     ->  y = 1 2
                                          3 4 
    • z = 1:6 or [1:6]   -> z = 1 2 3 4 5 6 
    • q = 0 : 2 : 6        -> q = 0 2 4 6 
  •  ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ ์ƒ์„ฑ ๋ฐฉ๋ฒ•  
    • lindspace(1, 4, 4)  -> ans = 1 2 3 4  
    • rand(a,b)               -> 0๊ณผ 1 ์‚ฌ์ด์˜ ๋žœ๋ค๊ฐ’์„ ๊ฐ€์ง€๋Š” axb ํฌ๊ธฐ์˜ ํ–‰๋ ฌ ์ƒ์„ฑ
    • one(a,b)                -> 1์˜ ๊ฐ’์„ ๊ฐ€์ง€๋Š” axb ํฌ๊ธฐ์˜ ํ–‰๋ ฌ ์ƒ์„ฑ
    • zeros(a,b)             -> 0์˜ ๊ฐ’์„ ๊ฐ€์ง€๋Š” axb ํฌ๊ธฐ์˜ ํ–‰๋ ฌ ์ƒ์„ฑ
    • eye(a)                   -> axa ํฌ๊ธฐ์˜ ๋‹จ์œ„ ํ–‰๋ ฌ ์ƒ์„ฑ 
    • magic(a)               -> axa ํฌ๊ธฐ์˜ ๋งˆ๋ฐฉ์ง„ ํ–‰๋ ฌ ์ƒ์„ 
  • ํ–‰๋ ฌ ์›์†Œ ์กฐํšŒ ๋ฐฉ๋ฒ•
    • x(1, 1)                    -> 1ํ—น 1์—ด ๊ฐ’ ์กฐํšŒ
    • x(2)                        -> 1ํ–‰ 2์—ด์˜ ๊ฐ’ ์กฐํšŒ (โ€ป ๋ฉ”๋ชจ๋ฆฌ์—๋Š” 1D๋กœ ์ €์žฅ์ด ๋˜์–ด ์žˆ์–ด 1ํ–‰ 2์—ด์˜ ๊ฐ’ ์ถœ๋ ฅ๋จ) 
    • x(3, 2:end)             -> 3ํ–‰์˜  2์—ด ~ ํ•ด๋‹น ์—ด์˜ ๋ ๊นŒ์ง€์˜ ๊ฐ’ ์กฐํšŒ
    • x(:, 2)                     -> 2์—ด์˜ ๋ชจ๋“  ๊ฐ’ ์กฐํšŒ
    • x(2:3, :)                  -> 2ํ–‰ & 3ํ–‰์˜ ๋ชจ๋“  ์—ด์˜ ๊ฐ’ ์กฐํšŒ 
  • ํ–‰๋ ฌ ์ฐจ์› ์ฆ๊ฐ€ ๋ฐฉ๋ฒ•
    • x(: , : , 2) = rand(a,b)
  • ์…€ ๋ฐฐ์—ด
    {}๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ Cell Array ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
    ํ–‰๋ ฌ ์ „์ฒด ๋˜๋Š” ์›์†Œ ๋ณ„๋กœ๋„ ์ ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. 
  • ์‹œ๊ฐ์  ํ‘œํ˜„ ๊ธฐ๋Šฅ
    cellpot ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด cell array์˜ ๊ตฌ์กฐ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ตฌ์กฐ์ฒด ๋ฐฐ์—ด
    ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๊ฐ€์ง„ ํ•„๋“œ๋กœ ๊ตฌ์„ฑ๋œ ๊ตฌ์กฐ์ฒด(Structure)๋ฅผ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•
    >> person(1).name = 'Tobby';
    >> person(1).age = '29';
    >> person(1).city = 'Seoul';

๋””๋ฒ„๊น… ๊ด€๋ จ ๋‚ด์šฉ

MATLAB ๋””๋ฒ„๊น…์—์„œ๋Š” Red Dot(์ผ๋ฐ˜์ ์ธ Breakpoint)๊ณผ Yellow Dot(Conditional Breakpoint)์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ค‘๋‹จํ•˜๊ณ  ๋””๋ฒ„๊น…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Breakpoint (Red Dot)
    ์ฝ”๋“œ ์‹คํ–‰ ์ค‘ ์–ธ์ œ๋“  ํŠน์ • ๋ผ์ธ์—์„œ ์ค‘๋‹จํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๋ฐ˜์ ์ธ ์ค‘๋‹จ์  ์ž…๋‹ˆ๋‹ค. 
    ์ค‘๋‹จํ•˜๊ณ  ์‹ถ์€ ๋ผ์ธ ๋ฒˆํ˜ธ์— ๋งˆ์šฐ์Šค๋กœ ํด๋ฆญํ•˜์—ฌ ์„ค์ •ํ•˜๊ณ  ํ•ด๋‹น ์ฝ”๋“œ ์‹คํ–‰ ์‹œ ๋””๋ฒ„๊ฑฐ๊ฐ€ ์‹คํ–‰, 
    ๋ช…๋ น ์ฐฝ๊ณผ ๋™์‹œ์— ํ•œ์ค„ ์”ฉ ์ฝ”๋“œ๊ฐ€ ์„ค์ •ํ•œ Break Point ๊นŒ์ง€ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    Break Point ๋””๋ฒ„๊น… ์˜ˆ์‹œ
  • Conditional Breakpoint(Yellow Dot)
    ํŠน์ • ์กฐ๊ฑด์ด ์ถฉ์กฑ๋  ๋•Œ๋งŒ ์ค‘๋‹จ๋˜๋Š” ์ค‘๋‹จ์ ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ฆ‰, ํŠน์ • ์กฐ๊ฑด์ด ์ฐธ(True)์ด์–ด์•ผ ์ค‘๋‹จ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
    ์ค‘๋‹จํ•˜๊ณ  ์‹ถ์€ ๋ผ์ธ ๋ฒˆํ˜ธ์—์„œ ์˜ค๋ฅธ์ชฝ ํด๋ฆญํ•˜๊ณ  ํ›„ "Set Conditional Breakpoint"๋ฅผ ์„ ํƒํ•˜์—ฌ ์„ค์ •ํ•˜๊ณ  ์ฝ”๋“œ ์‹คํ–‰ ์ค‘ ํ•ด๋‹น ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜๋ฉด ์‹คํ–‰์ด ์ค‘๋‹จ๋˜๋ฉฐ ๋””๋ฒ„๊น…์ด ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. 

ํŒŒ์ผ ๊ด€๋ จ ๋‚ด์šฉ 

  • ๊ธฐ๋ณธ์ ์ธ ํŒŒ์ผ ์—ด๊ธฐ ๋‹ซ๊ธฐ ์ฝ๊ธฐ ๋ฐฉ๋ฒ• 
    % ํŒŒ์ผ ์—ด๊ธฐ
    fid = fopen('example.txt', 'r'); % r, w, wt, a, r+, w+, a+ ์กด์žฌ, fid : ํŒŒ์ผ ์‹๋ณ„์ž
    % ํŒŒ์ผ์—์„œ ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์Œ
    data = fscanf(fid, '%s');
    % ํŒŒ์ผ ๋‹ซ๊ธฐ
    fclose(fid);
  • ํŒŒ์ผ์„ ์ž…๋ ฅ๋ฐ›์•„ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์˜ˆ์‹œ
    % ํŒŒ์ผ ์ด๋ฆ„์„ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์Œ
    filename = input('Type ascii file name (ex. output1.txt, output2.txt): ', 's');
    % ํŒŒ์ผ ์—ด๊ธฐ ๋ฐ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ
    fid = fopen(filename, 'r');
    if fid == -1
        error('Could not open the file.');
    end
    % ํŒŒ์ผ์—์„œ ์ˆซ์ž ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ
    x = fscanf(fid, '%f');
    % ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ -> ์žฌ๋ฐฐ์—ดํ•˜์—ฌ ํ–‰๋ ฌ X์— ์ €์žฅ
    nd = 5;
    md = length(x) / nd;
    X = reshape(x, [nd, md])';
    % ํŒŒ์ผ ๋‹ซ๊ธฐ
    fclose(fid);
    % ๊ฒฐ๊ณผ ํ™•์ธ
    disp('Data Matrix (X):');
    disp(X);
  • xls ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ
    xls๋Š” MATLAB์—์„œ Excel ํŒŒ์ผ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ํ•จ์ˆ˜๋“ค์˜ ์ง‘ํ•ฉ์„ ์˜๋ฏธํ•œ๋‹ค.
    % ํŒŒ์ผ ์—ด๊ธฐ
    fid = fopen('example.txt', 'r'); % r, w, wt, a, r+, w+, a+ ์กด์žฌ, fid : ํŒŒ์ผ ์‹๋ณ„์ž
    % ํŒŒ์ผ์—์„œ ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์Œ
    data = fscanf(fid, '%s');
    % ํŒŒ์ผ ๋‹ซ๊ธฐ
    fclose(fid);
  •  fprintf, fscanf, fgetl
    • fprintf
      ํ˜•์‹์„ ์ง€์ •ํ•˜์—ฌ ํŒŒ์ผ์— ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๋Š” ๋ฐ ์‚ฌ์šฉ๋จ
      fid = fopen('example.txt', 'w');  % ์“ฐ๊ธฐ ๋ชจ๋“œ๋กœ ํŒŒ์ผ ์—ด๊ธฐ
      fprintf(fid, '์•ˆ๋…•ํ•˜์„ธ์š”, %s!\n', 'MATLAB');  % ํŒŒ์ผ์— ๋ฐ์ดํ„ฐ ์“ฐ๊ธฐ
      fclose(fid);  % ํŒŒ์ผ ๋‹ซ๊ธฐ
    •  fscanf
      fid = fopen('example.txt', 'r');  % ์ฝ๊ธฐ ๋ชจ๋“œ๋กœ ํŒŒ์ผ ์—ด๊ธฐ
      data = fscanf(fid, '%s');  % ํŒŒ์ผ์—์„œ ๋ฌธ์ž์—ด ์ฝ๊ธฐ
      fclose(fid);  % ํŒŒ์ผ ๋‹ซ๊ธฐ
    • fgetl
      ํŒŒ์ผ์—์„œ ํ•œ ์ค„์”ฉ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ๋ฐ ์‚ฌ์šฉ
      fid = fopen('example.txt', 'r');  % ์ฝ๊ธฐ ๋ชจ๋“œ๋กœ ํŒŒ์ผ ์—ด๊ธฐ
      line = fgetl(fid);  % ํŒŒ์ผ์—์„œ ํ•œ ์ค„ ์ฝ๊ธฐ
      fclose(fid);  % ํŒŒ์ผ ๋‹ซ๊ธฐ

ํ•จ์ˆ˜ ๊ด€๋ จ ๋‚ด์šฉ

  • ํ•จ์ˆ˜ ์ƒ์„ฑ
    ์•„๋ž˜์™€ ๊ฐ™์ด ์‚ฌ์šฉ์ž๊ฐ€ ํ•„์š”ํ•œ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์•„๋ž˜ ๋งํฌ์—์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋งŒ๋“  ํ•จ์ˆ˜๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
    ๋˜ํ•œ help๋ฅผ ์ณค์„ ๋•Œ ๋‚˜์˜ค๋Š” ์„ค๋ช…์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ตœ๋Œ€ํ•œ ์ž์„ธํžˆ ์ ๋Š”๊ฒƒ์ด ์ข‹๋‹ค. 
    https://kr.mathworks.com/matlabcentral/fileexchange/?s_tid=gn_mlc_fx_files
    % square ํ•จ์ˆ˜
    %   y = square(x)๋Š” ์ž…๋ ฅ๊ฐ’ x๋ฅผ ์ œ๊ณฑํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
    %
    % ์ž…๋ ฅ:
    %   x - ์ œ๊ณฑํ•  ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋Š” ์‹ค์ˆ˜๋‚˜ ๋ฒกํ„ฐ
    % ์ถœ๋ ฅ:
    %   y - x์˜ ์ œ๊ณฑ ๊ฐ’ ๋˜๋Š” ๊ฐ ์š”์†Œ์˜ ์ œ๊ณฑ ๊ฐ’์ด ํฌํ•จ๋œ ๋ฒกํ„ฐ
    % ์˜ˆ์‹œ:
    %   result = square(3)๋Š” 3์˜ ์ œ๊ณฑ์ธ 9๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
    %
    %   vector_result = square([1, 2, 3])๋Š” [1, 4, 9]๋กœ ๊ฐ ์š”์†Œ์˜ ์ œ๊ณฑ ๊ฐ’์ด
    %   ํฌํ•จ๋œ ๋ฒกํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
    %
    % ์ฃผ์˜:
    %   ์ด ํ•จ์ˆ˜๋Š” ์ž…๋ ฅ๊ฐ’ x๋ฅผ ์ œ๊ณฑํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉ๋˜๋Š”
    %   ๋ณ€์ˆ˜๋Š” ์ง€์—ญ ๋ณ€์ˆ˜๋กœ ํ•จ์ˆ˜ ์™ธ๋ถ€์—์„œ๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    
    % function [์ถœ๋ ฅ์ธ์ˆ˜1, ์ถœ๋ ฅ์ธ์ˆ˜2, ...] = ํ•จ์ˆ˜์ด๋ฆ„(์ž…๋ ฅ์ธ์ˆ˜1, ์ž…๋ ฅ์ธ์ˆ˜2, ...)
    
    function y = square(x)
        % ์ž…๋ ฅ๊ฐ’ x๋ฅผ ์ œ๊ณฑํ•˜์—ฌ ๋ฐ˜ํ™˜, ์—ฌ๊ธฐ์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ณ€์ˆ˜๋Š” ์ง€์—ญ๋ณ€์ˆ˜๋กœ ํ•จ์ˆ˜ ๋ฐ–์—์„œ ์˜ํ–ฅ x
        y = x^2;โ€‹
  • Function Handle
    ์•„๋ž˜์™€ ๊ฐ™์ด ํ•จ์ˆ˜๋ฅผ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ํ•จ์ˆ˜๋ฅผ ์ „๋‹ฌํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉ
    % Function handle ์ƒ์„ฑ
    handle_to_square = @square;
    
    % Function handle์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•จ์ˆ˜ ํ˜ธ์ถœ
    result1 = handle_to_square(5);โ€‹
  • eval
    ๋ฌธ์ž์—ด๋กœ ํ‘œํ˜„๋œ ๊ณ„์‚ฐ์‹์„ ์‹คํ–‰ํ•˜๋Š” ํ•จ์ˆ˜
    a = 10;    
    expression = 'a^2';              % a ๋ณ€์ˆ˜์˜ ^2๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ 
    result = eval(expression);       % eval์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด๋กœ ์ฃผ์–ด์ง„ ํ‘œํ˜„์‹ ์‹คํ–‰
    disp(result);                    % ๊ฒฐ๊ณผ ์ถœ๋ ฅ: 100โ€‹

๊ทธ๋ž˜ํ”„ ๊ด€๋ จ ๋‚ด์šฉ

  • ๊ธฐ๋ณธ ๊ทธ๋ž˜ํ”„ ์ƒ์„ฑ ๋ฐ ์„ค์ •
    x = 0 : 0.1 : 3*pi; % x ๋ฐ์ดํ„ฐ ์„ค์ •
    y = sin(x);         % y ๋ฐ์ดํ„ฐ ์„ค์ •
    
    plot(x, y) % ๊ทธ๋ž˜ํ”„ ์ƒ์„ฑ ํ•จ์ˆ˜ ์‹คํ–‰ 
    
    title('my plot')  % ๊ทธ๋ž˜ํ”„ ์ œ๋ชฉ ์„ค์ •
    xlabel('x value') % x์ถ• ์ด๋ฆ„ ์„ค์ •
    ylabel('y value') % y์ถ• ์ด๋ฆ„ ์„ค์ •
    grid on           % ๋ˆˆ๊ธˆ์„  ํ‘œ์‹œ ์„ค์ •
    grid minor;       % ๋ˆˆ๊ธˆ์„  ์„ธ๋ถ€ ์„ค์ •
    
    text(x, y, 'text') % x,y ์ขŒํ‘œ์— ํ…์ŠคํŠธ ์ถ”๊ฐ€
    gtext('gtext')     % gui ์ƒ์— text ๋ฐ•์Šค ์ถ”๊ฐ€ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์œ„์น˜๋กœ ์กฐ์ •๊ฐ€๋Šฅ
    
    axis([1 5 -10 10]) % x์ถ•, y์ถ•์˜ ์‹œ์ž‘์ ์— ํ•ด๋‹นํ•˜๋Š” ์ตœ์†Œ ํฌ๊ธฐ์™€ ๋์ ์— ํ•ด๋‹นํ•˜๋Š” ์ตœ๋Œ€ ํฌ๊ธฐ ์„ค์ •
  • ์ถ• ์„ค์ • ๋ฐ ์Šคํƒ€์ผ ์กฐ์ž‘
    currentXRange = xlim;  % ํ˜„์žฌ x์ถ• ๋ฒ”์œ„ ๋ฐ˜ํ™˜
    currentYRange = ylim;  % ํ˜„์žฌ y์ถ• ๋ฒ”์œ„ ๋ฐ˜ํ™˜
    
    axis auto   % ์ถ• ์ž๋™ ์„ค์ •
    axis manual % ์ถ• ์ˆ˜๋™ ์„ค์ • 
    axis equal  % ์ถ• ๋™์ผํ•œ ๋น„์œจ๋กœ ์„ค์ •
    
    axis off % ์ถ• ํ‘œ์‹œ ๋„๊ธฐ
    axis on  % ์ถ• ํ‘œ์‹œ ์ผœ๊ธฐ 
    
    colormap(parula); % ์ƒ‰์ƒ ๋งต ์ ์šฉ
    colorbar;         % ์ƒ‰์ƒ ๋ฐ” ํ‘œ์‹œ
    scatter(x, y, 50, linspace(1, 10 ,length(x)), 'filled'); % ์‚ฐํฌ๋„ ๊ทธ๋ž˜ํ”„ ์ƒˆ์„ฑ ๋ฐ ์ƒ‰์ƒ ์„ค์ •
    
    % ์„  ์Šคํƒ€์ผ, ๋งˆ์ปค, ์ƒ‰์ƒ ์„ค์ •
    linestyle('solid')
    marker('.')
    color('y')
     
  • ๋‹ค์ค‘ ๊ทธ๋ž˜ํ”„ ๋ฐ ๋ฒ”๋ก€ ์„ค์ •
    % figure; % ๊ทธ๋ฆผ์„ ์ƒˆ ์ฐฝ์—์„œ ์—ด๊ธฐ
    
    % Sin(x) ๊ทธ๋ž˜ํ”„ ๊ทธ๋ฆฌ๊ธฐ
    x = linspace(0, 2*pi, 100);
    y = sin(x);
    plot(x, y, 'DisplayName', 'Sin(x)');
    hold on;
    
    % Cos(x) ๊ทธ๋ž˜ํ”„ ๊ทธ๋ฆฌ๊ธฐ
    [ax, h1, h2] = plotyy(x, y, x, cos(x));
    set(h1, 'DisplayName', 'Sin(x)');
    set(h2, 'DisplayName', 'Cos(x)');
    
    % ํžˆ์Šคํ† ๊ทธ๋žจ ์ƒ์„ฑ (ํžˆ์Šคํ† ๊ทธ๋žจ : ์—ฐ์†๋˜์ง€ ์•Š๋Š” ์„ฑ๋ณ„, ํ•™๊ณผ ๋“ฑ์˜ ๋ถ„ํฌ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ทธ๋ž˜ํ”„) 
    data = randn(1000, 1);
    edges = -3:0.1:3;
    histogram(data, edges, 'EdgeColor', 'black', 'FaceColor', [0.8, 0.8, 0.8], 'DisplayName', 'Data');
    
    % ํžˆ์Šคํ† ๊ทธ๋žจ์— ํ‰๊ท  ์„  ์ถ”๊ฐ€
    mean_value = mean(data);
    plot([mean_value, mean_value], ylim, '--r', 'LineWidth', 2, 'DisplayName', 'Mean');
    
    hold off;
    
    % ๋ฒ”๋ก€ ์ถ”๊ฐ€ (๋ฒ”๋ก€ : ํ•ด๋‹น ๊ทธ๋ž˜ํ”„์˜ ์ด๋ฆ„ e.g. ๋‚ ์”จ ๊ทธ๋ž˜ํ”„) 
    legend('show');
    legend(ax(1), 'Location', 'NorthWest');
    legend(ax(2), 'Location', 'NorthEast');
  • ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ƒ์„ฑ
    figure; % ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์œ„ํ•œ ๊ทธ๋ฆผ ์ƒ์„ฑ
    numFrames = 100; % ํ”„๋ ˆ์ž„ ์ˆ˜ ์„ค์ •
    
    % ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ƒ์„ฑ
    for frame = 1:numFrames
        x = linspace(0, 4*pi, 100);
        y = sin(x + 0.1 * frame);
        
        plot(x, y, 'LineWidth', 2);
        
        title('Animated Sinusoidal Wave');
        xlabel('X-axis');
        ylabel('Y-axis');
        
        drawnow; % ๊ทธ๋ฆผ ๊ฐฑ์‹ 
        pause(0.1); % ๊ฐ ํ”„๋ ˆ์ž„ ๊ฐ„ ์‹œ๊ฐ„ ์ง€์—ฐ
    
    img = imread('example_image.jpg'); % ์ด๋ฏธ์ง€ ์ฝ๊ธฐ
    imshow(img);            % ์ด๋ฏธ์ง€ ํ‘œ์‹œ
    title('Example Image'); % ์ด๋ฏธ์ง€์— ํƒ€์ดํ‹€ ์ถ”๊ฐ€
  • 3์ฐจ์› ๊ทธ๋ž˜ํ”„
    ์„ , ๊ฒฉ์ž, ๊ณต๊ฐ„, ๋ฉด, ๋ฐฉํ–ฅ, ์ฒด์ ์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š” 3์ฐจ์› ๊ทธ๋ž˜ํ”„๊ฐ€ ์žˆ์œผ๋ฉฐ
    ๋Œ€ํ‘œ์ ์œผ๋กœ plot3, mesh, pie, surf๊ฐ€ ์žˆ๋‹ค.
  • ๊ธฐํƒ€ ๊ทธ๋ž˜ํ”„ ๊ด€๋ จ ํ•จ์ˆ˜
    % ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ํ•จ๊ป˜ ํ‘œ์‹œ
    fplot(@(x) sin(x), [0, 2*pi]);
    hold on;
    fplot(@(x) cos(x), [0, 2*pi]);
    hold off;
    
    % 2D ํ”Œ๋กœํŒ… ์˜ต์…˜ ํ™œ์šฉ
    polarplot(theta, rho, 'r--', 'LineWidth', 2);
    
    % 3D ํ”Œ๋กœํŒ… (scatter3๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 3D ์‚ฐํฌ๋„ ํ”Œ๋กœํŒ…)
    x = randn(100, 1);
    y = randn(100, 1);
    z = randn(100, 1);
    scatter3(x, y, z, 50, z, 'filled');
    
    % ๋“ฑ๊ณ ์„  ํ”Œ๋กœํŒ…
    contourf(X, Y, Z, 20); % X, Y, Z๋Š” ๊ทธ๋ฆฌ๊ณ ์ž ํ•˜๋Š” ํ•จ์ˆ˜์˜ ๊ทธ๋ฆฌ๋“œ์™€ ๊ฐ’
    colorbar;
    
    % ๊ทธ๋ž˜ํ”„ ์ €์žฅ ๋ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ, gcf : ๊ทธ๋ž˜ํ”„ ํŒŒ์ผ ํ˜•์‹, fig : MATLAB์˜ ๊ทธ๋ฆผ ํŒŒ์ผ ํ™•์žฅ์ž
    saveas(gcf, 'My plot', 'fig');
    
    % openfig('My plot'); % ๊ทธ๋ž˜ํ”„ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

๊ธฐํƒ€ ๋‚ด์šฉ

  • ์‚ฌ์šด๋“œ ๊ธฐ๋Šฅ
    mat ํ˜•์‹์˜ ์‚ฌ์šด๋“œ ํŒŒ์ผ์„ load ํ›„ sound(data, Fs) ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šด๋“œ ์žฌ์ƒ์ด ๊ฐ€๋Šฅ 
    (โ€ป Fs (์ƒ˜ํ”Œ๋ง ์ฃผํŒŒ์ˆ˜๊ฐ’)์„ ์กฐ์ ˆํ•˜์—ฌ ์žฌ์ƒ ์†๋„ ์กฐ์ ˆ ๊ฐ€๋Šฅ)

๐Ÿ“ MATLAB ๋‚˜๋จธ์ง€ ํ•จ์ˆ˜ & ๋ช…๋ น์–ด ์ •๋ฆฌ

๋ช…๋ น์–ด 

ํ™”๋ฉด์„ ์ง€์šฐ๊ฑฐ๋‚˜ ๋ณ€์ˆ˜๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ˜ํ™˜๋˜๋Š” ๊ฒฐ๊ณผ๊ฐ€ ์—†๊ณ  ํ™”๋ฉด์— ์ถœ๋ ฅ๋˜๋Š” ๊ฐ’์ด ์—†์Œ 

  1. clc: ํ™”๋ฉด์„ clear
  2. clear: ๋ณ€์ˆ˜๋ฅผ ์‚ญ์ œ
  3. realmax, realmin: ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฐ€์žฅ ํฐ ์ˆ˜์™€ ์ž‘์€ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜
  4. ;: ์„ธ๋ฏธ์ฝœ๋ก ์„ ๋ถ™์ผ ๊ฒฝ์šฐ ๊ฒฐ๊ณผ ์ฐฝ์—์„œ ํ•ด๋‹น ๋‚ด์šฉ์„ ํ‘œ์‹œํ•˜์ง€ ์•Š์Œ
  5. ...: ์ค„๋ฐ”๊ฟˆ์„ ๋‚˜ํƒ€๋ƒ„
  6. who: ์‚ฌ์šฉ ์ค‘์ธ ๋ณ€์ˆ˜๋“ค์˜ ์ด๋ฆ„๋งŒ์„ ์กฐํšŒ
  7. whos: ์‚ฌ์šฉ ์ค‘์ธ ๋ณ€์ˆ˜๋“ค์˜ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์กฐํšŒ
  8. doc + ๋ช…๋ น์–ด: ํ•ด๋‹น ๋ช…๋ น์–ด์— ๋Œ€ํ•œ ์ •๋ณด ๋ฌธ์„œ๋ฅผ ํ‘œ์‹œ
  9. lookfor '๋‚ด์šฉ': ํ•ด๋‹น ๋‚ด์šฉ์ด ํฌํ•จ๋œ ๋ชจ๋“  ๋ช…๋ น์–ด๋ฅผ ๋ณด์—ฌ์คŒ
  10. %: ์ฃผ์„ ์ฒ˜๋ฆฌ ๊ธฐํ˜ธ๋กœ ์‚ฌ์šฉ
  11. save xxx.mat: ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ๋ณ€์ˆ˜๋ฅผ ํŒŒ์ผ๋กœ ์ €์žฅ
  12. load xxx.mat: ํŒŒ์ผ์—์„œ ๋ณ€์ˆ˜๋ฅผ ๋ถˆ๋Ÿฌ์˜ด
  13. which: ํŠน์ • ํ•จ์ˆ˜ ๋˜๋Š” ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์ด ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ๊ฒฝ๋กœ์—์„œ ์–ด๋””์— ์œ„์น˜ํ•ด ์žˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋ƒ„ 

ํ•จ์ˆ˜

ํŠน์ • ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ฝ”๋“œ์˜ ๋ชจ์Œ์œผ๋กœ ์ž…๋ ฅ์„ ๋ฐ›์•„ ํŠน์ • ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ ํ•ด๋‹น ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜
MATLAB์—๋Š” ๋งค์šฐ ๋งŽ์€ ํ•จ์ˆ˜๊ฐ€ ์žˆ์œผ๋ฉฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ํ•จ์ˆ˜๋งŒ ์ •๋ฆฌ 

  1. A .* B: ํ–‰๋ ฌ์˜ ๋™์ผ ์œ„์น˜์˜ ์›์†Œ ๊ณฑ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰
  2. A': ํ–‰๋ ฌ์„ ์ „์น˜์‹œํ‚ด
  3. x = A \ b: LU ์—ญ๋ณ€ํ™˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ ํ˜• ์‹œ์Šคํ…œ์„ ํ•ด๊ฒฐ
  4. length(A): 1D ํ–‰๋ ฌ A์˜ ํ–‰ ํฌ๊ธฐ๋ฅผ ์ถœ๋ ฅ
  5. find : 0์ด ์•„๋‹Œ ์›์†Œ๋ฅผ ์ถœ๋ ฅ
  6. sin(x): ์ฃผ์–ด์ง„ ๊ฐ๋„ x์˜ ์‚ฌ์ธ ๊ฐ’์„ ๋ฐ˜ํ™˜
  7. cos(x): ์ฃผ์–ด์ง„ ๊ฐ๋„ x์˜ ์ฝ”์‚ฌ์ธ ๊ฐ’์„ ๋ฐ˜ํ™˜
  8. exp(x): ์ž์—ฐ ๋กœ๊ทธ์˜ ๋ฐ‘์ธ e์˜ x ์Šน์„ ๋ฐ˜ํ™˜
  9. abs(x): ์ฃผ์–ด์ง„ ์ˆซ์ž x์˜ ์ ˆ๋Œ€๊ฐ’์„ ๋ฐ˜ํ™˜
  10. sqrt(x): ์ฃผ์–ด์ง„ ์ˆซ์ž x์˜ ์ œ๊ณฑ๊ทผ์„ ๋ฐ˜ํ™˜ํ•ฉ
  11. rem(x, y): x๋ฅผ y๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๋ฐ˜ํ™˜
  12. round(x): ์ฃผ์–ด์ง„ ์ˆซ์ž x๋ฅผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ •์ˆ˜๋กœ ๋ฐ˜์˜ฌ๋ฆผ
  13. floor(x): ์ฃผ์–ด์ง„ ์ˆซ์ž x๋ฅผ ๋‚ด๋ฆผํ•˜์—ฌ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ •์ˆ˜๋กœ ๋ฐ˜ํ™˜
  14. fix(x): ์†Œ์ˆ˜ ๋ถ€๋ถ„์„ ์ œ๊ฑฐํ•˜์—ฌ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ •์ˆ˜๋กœ ๋‚ด๋ฆผ
  15. sign(x): ์ฃผ์–ด์ง„ ์ˆซ์ž x์˜ ๋ถ€ํ˜ธ๋ฅผ ๋ฐ˜ํ™˜ (์–‘์ˆ˜: 1, ์Œ์ˆ˜: -1, 0: 0)
  16. ceil(x): ์ฃผ์–ด์ง„ ์ˆซ์ž x๋ฅผ ์˜ฌ๋ฆผํ•˜์—ฌ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ •์ˆ˜๋กœ ๋ฐ˜ํ™˜
  17. max(A): ํ–‰๋ ฌ A์˜ ์ตœ๋Œ“๊ฐ’์„ ๋ฐ˜ํ™˜
  18. sum(A): ํ–‰๋ ฌ A์˜ ๋ชจ๋“  ์›์†Œ์˜ ํ•ฉ์„ ๋ฐ˜ํ™˜
  19. min(A): ํ–‰๋ ฌ A์˜ ์ตœ์†Ÿ๊ฐ’์„ ๋ฐ˜ํ™˜
  20. prod(A): ํ–‰๋ ฌ A์˜ ๋ชจ๋“  ์›์†Œ์˜ ๊ณฑ์„ ๋ฐ˜ํ™˜
  21. mean(A): ํ–‰๋ ฌ A์˜ ํ‰๊ท ๊ฐ’์„ ๋ฐ˜ํ™˜
  22. sort(A): ํ–‰๋ ฌ A์˜ ์›์†Œ๋“ค์„ ์ •๋ ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜
  23. std(A): ํ–‰๋ ฌ A์˜ ํ‘œ์ค€ ํŽธ์ฐจ๋ฅผ ๋ฐ˜ํ™˜
  24. eig(B): ์ •๋ฐฉ ํ–‰๋ ฌ B์˜ ๊ณ ์œ ๊ฐ’(eigenvalue)์„ ๋ฐ˜ํ™˜
  25. chol(B): ์–‘์˜ ์ •๋ถ€ํ˜ธ ํ–‰๋ ฌ B์˜ ์ด๋ ˆ์Šคํ‚ค(Cholesky) ๋ถ„ํ•ด๋ฅผ ๋ฐ˜ํ™˜
  26. svd(B): ํ–‰๋ ฌ B์˜ ํŠน์ž‡๊ฐ’ ๋ถ„ํ•ด(Singular Value Decomposition)๋ฅผ ๋ฐ˜ํ™˜
  27. inv(B): ์ •๋ฐฉ ํ–‰๋ ฌ B์˜ ์—ญํ–‰๋ ฌ์„ ๋ฐ˜ํ™˜
  28. lu(B): ํ–‰๋ ฌ B์˜ LU (Lower-Upper) ๋ถ„ํ•ด๋ฅผ ๋ฐ˜ํ™˜
  29. qr(B): ํ–‰๋ ฌ B์˜ QR ๋ถ„ํ•ด๋ฅผ ๋ฐ˜ํ™˜
  30. expm(B): ํ–‰๋ ฌ B์˜ ์ง€์ˆ˜ ํ•จ์ˆ˜ e^A๋ฅผ ๋ฐ˜ํ™˜
  31. sqrtm(B): ํ–‰๋ ฌ B์˜ ์ œ๊ณฑ๊ทผ์„ ๋ฐ˜ํ™˜
  32. poly(B): ํ–‰๋ ฌ B์˜ ๊ณ ์œ ๊ฐ’ ๋‹คํ•ญ์‹์˜ ๊ณ„์ˆ˜๋ฅผ ๋ฐ˜ํ™˜
  33. det(B): ์ •๋ฐฉ ํ–‰๋ ฌ B์˜ determinant(ํ–‰๋ ฌ์‹)์„ ๋ฐ˜ํ™˜
  34. size(B): ํ–‰๋ ฌ B์˜ ํ–‰๊ณผ ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๋ฐ˜ํ™˜
  35. length(A): 1D ํ–‰๋ ฌ A์˜ ํ–‰ ํฌ๊ธฐ๋ฅผ ๋ฐ˜ํ™˜
  36. norm(B): ํ–‰๋ ฌ B์˜ ํŠน์ • ๋†ˆ(norm)์„ ๋ฐ˜ํ™˜
  37. cond(B): ํ–‰๋ ฌ B์˜ ์กฐ๊ฑด์ˆ˜(condition number)๋ฅผ ๋ฐ˜ํ™˜
  38. rank(B): ํ–‰๋ ฌ B์˜ ๋žญํฌ(rank)๋ฅผ ๋ฐ˜ํ™˜
  39. isequal(C, D): ๋‘ ๋ณ€์ˆ˜ C์™€ D๊ฐ€ ์„œ๋กœ ๋™์ผํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธ
  40. isfinite(C): ํ–‰๋ ฌ C์˜ ๊ฐ ์›์†Œ๊ฐ€ ์œ ํ•œํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  41. isnan(C): ํ–‰๋ ฌ C์˜ ๊ฐ ์›์†Œ๊ฐ€ NaN(Not-a-Number)์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  42. isinf(C): ํ–‰๋ ฌ C์˜ ๊ฐ ์›์†Œ๊ฐ€ ๋ฌดํ•œ๋Œ€์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  43. isempty(C): ๋ฐฐ์—ด ๋˜๋Š” ํ–‰๋ ฌ C๊ฐ€ ๋น„์–ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  44. isnumeric(C): C๊ฐ€ ์ˆซ์žํ˜•์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  45. isinteger(C): C๊ฐ€ ์ •์ˆ˜ํ˜•์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  46. isreal(C): C๊ฐ€ ์‹ค์ˆ˜ํ˜•์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  47. islogical(C): C๊ฐ€ ๋…ผ๋ฆฌํ˜•์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  48. ischar(C): C๊ฐ€ ๋ฌธ์žํ˜•์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  49. isglobal('C'): C๊ฐ€ ์ „์—ญ ๋ณ€์ˆ˜์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  50. isscalar(C): C๊ฐ€ ์Šค์นผ๋ผ(1x1 ํ–‰๋ ฌ)์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  51. isvector(C): C๊ฐ€ ๋ฒกํ„ฐ์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  52. ismatrix(C): C๊ฐ€ ํ–‰๋ ฌ์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  53. isrow(C): C๊ฐ€ ํ–‰ ๋ฒกํ„ฐ์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  54. iscolumn(C): C๊ฐ€ ์—ด ๋ฒกํ„ฐ์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  55. any(C): C์˜ ์›์†Œ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ฐธ์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  56. all(C): C์˜ ๋ชจ๋“  ์›์†Œ๊ฐ€ ์ฐธ์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  57. exist('C'): ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ๊ณต๊ฐ„์— ๋ณ€์ˆ˜ C๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  58. ceil(x): ์ฃผ์–ด์ง„ ์ˆซ์ž x๋ฅผ ์˜ฌ๋ฆผํ•˜์—ฌ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ •์ˆ˜๋กœ ๋ฐ˜ํ™˜
  59. unique(D): ํ–‰๋ ฌ D์˜ ์ค‘๋ณต๋œ ์›์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , ์œ ์ผํ•œ(unique) ์›์†Œ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ์ •๋ ฌ๋œ ๋ฒกํ„ฐ๋ฅผ ๋ฐ˜ํ™˜
profile

Toby's Study Blog

@Toby12

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!

๊ฒ€์ƒ‰ ํƒœ๊ทธ