본문 바로가기

MATLAB/ㄴ 기타

(59)
37. matfile 파일을 메모리로 불러오지 않고 MAT 파일에 있는 변수에 액세스 및 변경 설명 MAT 파일 객체를 사용하면 파일을 메모리로 불러오지 않고 MAT 파일에 있는 변수에 액세스하고 변경할 수 있습니다. 변수의 일부를 불러오거나 저장할 수 있습니다. MAT 파일 객체를 사용하여 변수를 부분적으로 불러오고 저장하면 load 및 save 명령을 사용할 때보다 필요한 메모리가 적습니다. 구문 matObj = matfile(filename) * matObj = matfile(filename)은 filename으로 지정된 MAT 파일에 연결되는 matlab.io.MatFile 객체를 생성합니다. 이 MAT 파일 객체를 사용하면 변수를 메모리로 불러올 필요 없이 변수에 직접 액세스하고 변경할 수 있습니다. matObj =..
36. MapReduce 시작하기 해마다 데이터 수집 장치가 늘어나고 다양해짐에 따라 수집되는 데이터의 크기와 속도도 가파르게 증가하고 있습니다. 이러한 빅데이터 세트는 GB, TB급의 데이터를 담고 있을 수 있으며 하루에도 MB, GB 단위로 증가할 수 있습니다. 이렇게 수집된 정보는 통찰력을 얻을 수 있는 가능성을 주기도 하지만, 동시에 많은 어려움을 주기도 합니다. 대다수 알고리즘은 빅데이터셋을 적절한 시간 내에 적절한 메모리 양을 사용하여 처리하도록 설계되어 있지 않습니다. MapReduce는 이러한 어려움을 해결하여 대규모 데이터셋에서 중요한 통찰력을 얻을 수 있게 해 줍니다. 1) MapReduce란? MapReduce는 메모리에 담을 수 없을 정도로 큰 데이터셋을 분석하기 위한 프로그래밍 기법입니다. 많은 사람에게 친숙한 H..
35. 메모리에 담을 수 없는 큰 데이터를 위한 tall형 배열 tall형 배열을 사용하면 datastore에 상주하지 않는 큰 데이터에 대한 작업을 수행할 수 있습니다. 데이터저장소에서는 대규모 데이터 세트 전체를 메모리에 한 번에 불러오는 대신 이 데이터 세트를 메모리에 담을 수 있는 각각의 작은 블록 단위로 나눠 작업할 수 있습니다. tall형 배열은 일반적인 함수를 사용하여 메모리에 상주하지 않는 큰 데이터에 대한 작업을 수행할 수 있도록 이 기능을 확장합니다. 1) tall형 배열이란? 데이터를 한 번에 모두 메모리에 불러오지 않기 때문에 첫 번째 차원의 tall형 배열 크기가 임의적으로 커질 수 있습니다 (즉, 가질 수 있는 행 개수에 제한이 없음). MapReduce 같은 기술로 대규모 데이터에 사용되는 특수 코드를 작성하는 대신, tall형 배열을 사용..
34. 이미지 파일 읽기와 분석하기 이 예제에서는 이미지 모음을 위한 데이터저장소를 만들고, 이미지 파일을 읽어오고, 최대 평균 HSV(색상, 채도, 밝기)를 사용하여 이미지를 찾는 방법을 보여줍니다. 두 개의 MATLAB 디렉터리를 식별하고 .jpg, .tif, .png 확장자를 갖는 이미지를 포함하는 데이터저장소를 만듭니다. 최대 평균 HSV 값과 해당 이미지 데이터를 초기화합니다. 모음에 있는 이미지마다 이미지 파일을 읽어오고 모든 이미지 픽셀에 대해 평균 HSV 값을 계산합니다. 평균값이 이전 이미지의 평균값보다 크면, 그 값을 새 최댓값(maxAvgH, maxAvgS 또는 maxAvgV)으로 기록하고 해당 이미지 데이터(dataH, dataS 또는 dataV)도 기록합니다. 최대 평균 색상, 채도 및 밝기를 갖는 이미지를 확인합니..
33. 테이블 형식의 대용량 텍스트 파일 읽어오기 및 분석하기 이 예제에서는 테이블 형식의 데이터가 포함된 대용량 텍스트 파일을 위한 데이터저장소를 생성한 다음, 한 번에 데이터 블록 하나씩 또는 파일 하나씩을 읽어오고 처리하는 방법을 보여줍니다. 1) 데이터저장소 만들기 tabularTextDatastore 함수를 사용하여 샘플 파일 airlinesmall.csv에서 데이터저장소를 만듭니다. 데이터저장소를 만들 때, 데이터에 있는 텍스트인 NA를 누락된 데이터로 처리하도록 지정할 수 있습니다. 데이터저장소의 속성은 속성값을 변경하여 수정할 수 있습니다. MissingValue 속성을 수정하여 누락된 값이 0으로 처리되도록 지정합니다. 이 예제에서는 도착 지연 시간에 대한 변수 ArrDelay를 관심 변수로 선택합니다. preview 함수를 사용하여 데이터를 미리 ..
32. 데이터저장소 시작하기 1) 데이터저장소란? 데이터저장소는 하나의 파일, 또는 여러 파일이나 데이터의 모음을 읽기 위한 객체입니다. 데이터저장소는 구조와 형식이 같은 데이터에 대한 저장 공간 역할을 합니다. 예를 들어, 데이터저장소의 각 파일에는 같은 유형(예: 숫자형 또는 텍스트)의 데이터가 있어야 하며, 이러한 데이터는 동일한 순서로 나타나고 동일한 구분 기호로 구분됩니다. 데이터저장소는 다음과 같은 경우에 유용합니다. * 데이터 모음에 있는 각 파일의 크기가 너무 커서 메모리에 담을 수 없는 경우. 데이터저장소에서는 각 파일의 데이터를 메모리에 맞는 더 작은 크기로 읽고 분석할 수 있습니다. * 데이터 모음에 있는 파일의 이름이 무작위인 경우. 데이터저장소는 하나 이상의 폴더에 있는 파일에 대한 저장 공간 역할을 합니다...
31. 로우 레벨 I/O 함수를 사용하여 이진 데이터 가져오기 1) 데이터를 가져오는 데 사용할 수 있는 로우 레벨 함수 로우 레벨 파일 I/O 함수를 사용하면 파일에서 데이터를 읽어오거나 파일에 데이터를 쓸 때 최대한 제어할 수 있습니다. 그러나 이런 함수를 사용할 때는 사용이 쉬운 하이 레벨 함수에 비해 파일에 더 자세한 정보를 지정해야 합니다. 하이 레벨 함수가 데이터를 가져올 수 없는 경우 다음 중 하나를 사용하십시오. 1. fscanf - 텍스트 편집기에서 볼 수 있는 파일(텍스트 파일이나 ASCII 파일)에서 형식 지정된 데이터를 읽어옵니다. 2. fgetl과 fgets - 파일의 라인을 한 번에 하나씩 읽어옵니다. 여기서 각각의 라인은 새 줄(Newline) 문자로 구분됩니다. 3. fread - Byte 또는 Bit 수준에서 데이터 스트림을 읽어옵니다..
30. 로우 레벨 I/O 함수를 사용하여 텍스트 데이터 파일 가져오기 1) 개요 로우 레벨 파일 I/O 함수를 사용하면 파일에서 데이터를 읽어오거나 파일에 데이터를 쓸 때 최대한 제어할 수 있습니다. 그러나 이런 함수를 사용할 때는 사용이 쉬운 하이 레벨 함수에 비해 파일에 더 자세한 정보를 지정해야 합니다. 하이 레벨 함수가 데이터를 가져올 수 없는 경우 다음 중 하나를 사용하십시오. 1. fscanf - 텍스트 편집기에서 볼 수 있는 파일(텍스트 파일이나 ASCII 파일)에서 형식 지정된 데이터를 읽어옵니다. 2. fgetl과 fgets - 파일의 라인을 한 번에 하나씩 읽어옵니다. 여기서 각각의 라인은 새 줄(Newline) 문자로 구분됩니다. 3. fread - Byte 또는 Bit 수준에서 데이터 스트림을 읽어옵니다. 2) 형식 지정된 패턴의 데이터 읽어오기 im..