>

m x n 값을 가진 .mat 파일이 있습니다. 간단하게하기 위해 다음과 같이 2 개의 행과 3 개의 열이 있다고 가정 해 봅시다.

2 4 6 2 1 4

각 행에 .mat 파일의 각 행이 있고 각 행의 값이 쉼표로 구분되는 방식으로 .mat 파일에서 텍스트 파일로 이러한 값을 내보낼 수 있기를 원합니다. 위 예의 경우 txt 파일에서 다음과 같아야합니다.

2,4,6 2,1,4

지금까지 내가 한 일 :

gt1 = load('Benchmark\AAmpiidata\groundtruth.mat');
r = gt1.gTruth.LabelData{1,1}{1,1};
allOneString = sprintf('%.0f,', r(1,:));
allOneString = allOneString(1:end-1);% strip final comma
fid=fopen('allOneString.txt','w');
fprintf(fid,'%s',allOneString);
fclose(fid);true

필요에 따라 .mat 파일에서 첫 번째 행을 추출 할 수 있습니다. 나는 이것을 얻는다 :

492,304,78,220

그러나 p.mat 파일에서 여러 행을 추출하는 방법을 모르겠습니다. 도움을 주시면 감사하겠습니다!

P.S. 위 코드에서 .mat 파일 gt1  직접 값이 없습니다. gt1.gTruth.LabelData{1,1}{1,1} 를 사용하여 필요한 값 (mxn)을 추출 할 수 있습니다.


  • 답변 # 1

    사용하는 MATLAB 버전에 따라 두 가지 답변이 있습니다.

    답변 1 : MATLAB 2018 이하 :

    gt1 = load('Benchmark\AAmpiidata\groundtruth.mat');
    r = gt1.gTruth.LabelData{1,1}{1,1};
    dlmwrite('allOneString.txt',r)
    
    

    답변 2 : MATLAB 2019 (2019-a이 답변 작성 시점)

    gt1 = load('Benchmark\AAmpiidata\groundtruth.mat');
    r = gt1.gTruth.LabelData{1,1}{1,1};
    writematrix(r,'allOneString.txt')
    
    

관련 자료

  • 이전 install4j를 사용하여 (기본값) 레지스트리 값을 변경하는 방법
  • 다음 python - 팬더 데이터 프레임의 열에 nparray 데이터를 추가 한 후 정렬 할 수 있습니까?