반응형
*.fig 파일 실행 후 다음 명령어 사용.
a = get(gca,'Children');
xdata = get(a,'XData');
ydata = get(a, 'YData');
zdata = get(a, 'ZData');
▶ Figure에 여러개의 그래프가 있는 경우: data가 cell로 저장되어 있으므로 cell에서 행렬 형태로 다음과 같이 원하는 그래프만 저장
x1 = xdata{1};
y1 = ydata{1};
x2 = xdata{2};
y2 = ydata{2};
csvwrite('ScatteredField.csv',[x1', y1', y2', y3', y4', y5']);
- 이 경우 문제는 Figure의 legend 순서대로 data들이 저장되지 않음 > 따라서 여러개 그래프의 경우 저장된 data가 뭐가 뭔지 모름
▶ Figure에서 여러개 그래프 중 원하는 그래프만 남기고 (즉, 나머지 그래프는 삭제) 위의 형태로 data 저장하면 cell이 아닌 일반적인 행렬 변수로 저장됨
- 원하는 그래프 하나만 남기고 나머지는 삭제 (플롯 브라우저에서 다수 선택후 삭제)한 후 데이터 저장 > Cntrl+Z로 원래 상태로 복귀 후 다음 저장할 그래프만 남기고 나머지는 삭제 후 데이터 저장 과정 반복
ydata = get(get(gca,'Children'), 'YData');
- 어떤 데이터를 저장하는지 확실히 보이기 때문에 가장 실수가 없을 방법임
- 귀찮더라도 그래프 하나씩 저장하는 것이 효율적인 듯~
반응형
'Major > Programming' 카테고리의 다른 글
[펌] 포인터 이해를 돕는 짤 (0) | 2022.08.28 |
---|---|
Adaptive Simpson's Method (Adaptive Integral) (0) | 2022.08.23 |
[C++] 복소수 입력받아 변수에 저장하기 [Input a complex number and store it in a complex variable] (0) | 2022.06.08 |
Epochs, Mini-Batch (Batch Size), Iterations (0) | 2020.09.12 |
Pretrained CNNs Download for MATLAB (0) | 2020.09.08 |
댓글