728x90

코딩/matlab 37

[MATLAB] 경로(path)에 대한 쉬운 설명 + path, addpath, genpath, rmpath 함수 정리

경로(path)는 코딩을 하는 사람들에게는 꽤 중요한 개념입니다. 오늘은 matlab을 예로 들어 경로라는 개념을 다루지만 다른 코딩 언어에도 동일하게 적용되는 개념이니, 경로에 대해서 이해하고 싶은 분들은 한 번 읽어보시기 바랍니다. 경로(path)란? 우선 제 작업실에 A방, B방, C방, D방이 있다고 가정해보겠습니다. 현재 저는 A방에서 책상을 만드는 작업을 하고 있습니다. 작업을 하려고 보니 망치가 필요하다는 것을 깨달았습니다. 그런데 망치는 A방에 없고 B방에 있는 상황입니다. 그렇다면 B방을 경로에 추가해줘야 작업이 가능합니다. 또 작업을 하다보니 톱이 필요해졌습니다. 톱은 C방에 있습니다. 그렇다면 C방도 경로에 추가해줘야 합니다. 계속 이어서 작업을 하는데, 이번에는 니스가 필요해졌습니다..

코딩/matlab 2021.02.10 (2)

[MATLAB] 그래프 범례(legend) 위치 조정

우선 범례(legend)란 그래프에 플로팅된 데이터가 무엇을 의미하는지에 대해 나타내는 방법이라고 말할 수 있습니다. 다음 그림을 보시면 무엇이 범례인지 쉽게 이해가 되실 것입니다. 위 그래프를 그리기 위해 사용된 코드는 다음과 같습니다. 1 2 3 4 5 6 7 8 9 10 clc, clear, close all x = 0:0.1:10; y1 = sin(x); y2 = cos(2*x); plot(x, y1, '*') hold on plot(x, y2, '--') legend('sin(x)', 'cos(2x)'); cs 범례 덕분에 우리는 파란색 별표로 그려진 그래프가 sin(x)의 그래프고, 빨간색 점선으로 그려진 그래프가 cos(2x)의 그래프인 것을 한 눈에 알 수 있습니다. 지금은 범례가 우측 상..

코딩/matlab 2020.09.03

[MATLAB] 그래프 xlabel, ylabel 폰트 사이즈 변경하는 방법

MATLAB으로 그래프를 그릴 때, 그래프의 x라벨, y라벨 등의 폰트 사이즈를 바꾸고 싶다면 어떻게 해야 할까요? 먼저 그냥 디폴트 세팅으로 그래프를 그렸을 때 xlabel, ylabel을 살펴보시죠. 소스코드와 실행 후 생성된 그래프는 각각 다음과 같습니다. 1 2 3 4 5 6 7 8 clc, clear, close all x = 0:0.01:10; y = sin(x); plot(x, y) xlabel('x') ylabel('sin(x)') cs 디폴트 세팅일 때는 라벨들이 이 정도 크기입니다. 이 정도 크기가 만족스럽다면 그대로 두면 되지만, 논문에 그래프를 첨부할 때 필요에 따라 크기를 키워줘야 할 때도 있습니다. 폰트 사이즈를 조정하고 싶다면 위 코드를 다음과 같이 수정해주면 됩니다. 1 2 ..

코딩/matlab 2020.09.02

[MATLAB] table의 cell 안에 있는 char 형 데이터 접근하기

다음과 같은 table 형 변수가 있습니다. 여기서 첫번째 열의 char 형 데이터들 'I01_01_01.png', 'I01_01_02.png', 'I01_01_03.png' 등이 필요하다고 가정하겠습니다. 그러면 어떻게 해야하는지 알려드리도록 하겠습니다. 먼저 table2cell 함수를 이용해서 첫번째 열의 데이터를 담은 cell 형 변수를 만듭니다. 1 temp = table2cell(data(:, 1)) cs 그러면 cell 형 변수가 생성됩니다. 이제 여기서 첫번째 char 형 데이터가 필요하다면, temp{1}로 접근하면 되고, 두번째 데이터가 필요하면 temp{2}로 접근하시면 됩니다. 예를 들어, 첫번째 char형 데이터에 접근해보겠습니다. 1 char_temp = temp{1} cs 접근에..

코딩/matlab 2020.08.13

[MATLAB] csv 파일을 readtable 함수로 읽기

저는 오늘 .csv 파일을 readtable 함수로 읽는 방법에 대해 소개해드리려고 합니다. 일단 다음과 같은 데이터를 담고 있는 csv 파일이 있다고 가정하겠습니다. 이 데이터를 matlab에서 사용하려면 먼저 읽어야겠죠. 다음과 같은 코드를 실행시키면 작업 공간에 table 형식의 변수가 하나 생깁니다. 1 2 3 clc, clear, close all data = readtable('dmos.csv'); cs 잘 읽어들였죠? 이제 필요한 작업을 수행하시면 됩니다.

코딩/matlab 2020.08.13

[MATLAB] python의 넘파이 배열을 담은 .npy 파일을 matlab에서 읽기

python에서 생성한 numpy 배열을 파일의 형태로 저장하면 .npy 파일이 생성됩니다. ☞ [python] numpy 배열을 파일로 저장하고 불러오기) 오늘은 바로 .npy 파일을 matlab에서 어떻게 읽어들이는지에 대해 말씀드리도록 하겠습니다. 이미 .npy 파일이 생성되었다고 가정하고 시작하겠습니다. .npy 파일을 matlab에서 읽기 위해서는 두 개의 .m 파일이 필요합니다. https://github.com/kwikteam/npy-matlab/tree/master/npy-matlab에서 readNPY.m과 readNPYheader.m를 현재 작업 폴더에 가져오시면 됩니다. 두 .m 파일을 가져오셨다면 아주 간단하게 .npy 파일을 읽을 수 있습니다. 만약에 score.npy라는 파일 내에..

코딩/matlab 2020.08.11

[MATLAB] 그래프를 그릴 때 축의 눈금 또는 값을 지우려면?

matlab을 이용해서 그래프를 그릴 때 그래프의 개형만 그리고 싶을 뿐, 구체적인 눈금과 값을 표현하고 싶지 않을 때가 있습니다. 별다른 조치를 하지 않으면 그래프에는 항상 눈금과 값이 표현됩니다. 다음 matlab 코드로 간단한 지수함수의 그래프를 그려보겠습니다. 1 2 3 4 x = 0:0.01:5; y = exp(x); plot(x, y, 'r-') cs 보시다시피 눈금과 값이 나타나 있습니다. 만약 눈금은 내비두고, 값은 나타나지 않게 하려면 한 줄의 코드를 추가해주면 됩니다. 1 2 3 4 5 x = 0:0.01:5; y = exp(x); plot(x, y, 'r-') set(gca,'XTickLabel',[],'YTickLabel',[]) cs 눈금은 그대로 있지만, 값이 지워졌죠? 마지막으..

코딩/matlab 2020.07.09

[MATLAB] 그래프를 그릴 때 유용하게 사용되는 linspace 함수

오늘은 함수의 그래프를 그릴 때 유용하게 사용되는 함수인 linspace를 소개시켜 드리려고 합니다. 함수의 그래프를 매트랩을 이용해서 그리려고 한다면, 구간을 정해줘야합니다. "x의 값이 얼마에서 얼마일 때까지 그에 해당하는 그래프를 그리겠다." 그러면 $y = x^2 + 2x + 1$ 에 대한 그래프를 그려보도록 하겠습니다. 구간을 linspace 함수를 이용해서 만들어줄 것입니다. -10이상 10이하의 구간에 대해서 그래프를 그리겠습니다. 1 2 3 4 5 6 7 clc, clear, close all x = linspace(-10, 10); y = x.^2 + 2.*x + 1; plot(x, y) grid on cs 이 코드를 실행하면 다음과 같은 그래프가 그려집니다. 위 코드에서 linspace..

코딩/matlab 2020.06.30

[MATLAB] 데이터 정렬하기, sort 함수 (응용: 학점 부여 프로그램)

오늘은 데이터를 정렬하는데 사용되는 sort 함수의 사용법에 대해 알아보도록 하겠습니다. 또한 sort 함수를 이용해서 입력된 학생들의 점수에 따라 학점을 부여하는 간단한 코드를 소개해드리겠습니다. sort 함수 기본 사용법 sort 함수는 기본적으로 오름차순으로 데이터를 정렬합니다. sort 함수가 데이터를 잘 정렬하는지 예제를 통해 살펴보겠습니다. clc, clear, close all A = [19, 29, 38, 47, 26, 5, 17, 87, 44, 24, 67]; B = ["tistory", "image processing", "computer vision", "blog", "amazing", "good", "bskyvision"]; sort(A) sort(B) A 변수에는 숫자들이 담겨있고..

코딩/matlab 2020.06.04

[MATLAB] 이미지 크기 조정하기, imresize 함수

오늘은 매트랩을 이용해서 이미지 크기를 확대시키거나 축소시키는 것에 대해서 다루도록 하겠습니다. 이를 위해서는 imresize라는 함수를 사용하시면 됩니다. imresize 함수로 이미지의 크기를 조정하는 것은 크게 두 가지 방법으로 할 수 있습니다. 1. 구체적인 사이즈를 설정하기 2. 배율을 설정하기 자, 그럼 예시를 통해 하나씩 어떻게 하는지 살펴보도록 하겠습니다. 1. 구체적인 사이즈를 정해주기 265 x 400 크기의 이미지를 200 x 200, 800 x 600 사이즈로 바꿔보겠습니다. 필요한 코드는 다음과 같습니다. clc, clear, close all img = imread('test.JPG'); figure(1) imshow(img); img1 = imresize(img, [200, 2..

코딩/matlab 2020.05.29