일반적인 프로그래밍 질문이지만 Matlab에 대한 특정 고려 사항이있을 수 있습니다.큰 행렬 가져 오기 : 전체 또는 열 가져 오기? - MATLAB
매우 큰 데이터 파일을 가져오고 있습니다. 전체 파일을 메모리로 가져온 다음 부분 행렬로 나누거나 모든 n 열을 새 행렬로 가져 오는 것이 더 나은 방법인가/빠름/더 효율적입니까?
제 생각 엔 캐시에 모든 것을로드하고 처리하는 것이 더 빠를 것이라고 추측합니다.하지만 그것은 단순한 무식한 추측입니다.
데이터 파일의 형식은 무엇입니까? 텍스트 파일, ASCII로 구분 된 숫자 파일, CSV 파일입니까? 파일 스트림을 열고 파일 스트림을 읽고 마지막으로 파일 스트림을 닫는다는 점에서 C와 비슷한 구문을 사용하는 MATLAB에 내장 된 여러 데이터 유형에 대한 특수 처리기가 있습니다. 나는 이것들 중 하나가 최선의 방법이 될 것이라고 생각합니다. – Engineero
행렬을 사용하여 수행 할 작업을 지정할 수 있습니까? 목표가 행렬을 메모리에로드하고 나중에 계산을하지 않으면 캐시를 사용할 이유가 없습니다. –
안녕하세요, Engineero에 대한 의견을 보내 주셔서 감사합니다. 현재 데이터가 CSV라는 가정하에 코드를 작성하고 있습니다. 내가하고있는 일은'data = csvread ('filename')'을하고 데이터 행렬을 여러 개의 행렬로 나누는 것이다. 'matrix_1_2 = data (:, 1 : 2)'등. 첫 번째 두 열만 검색하고, 저장 한 다음 두 번째 열 쌍을 검색하는 것보다 낫지 않습니까? – msmf14