문제

매트릭스를 텍스트 파일에 저장하려면 다른 프로그램으로 읽을 수 있습니다. 지금은 사용합니다.

save('output.txt', 'A','-ascii');

그러나 이것은 내 파일을 다음과 같이 저장합니다

6.7206983e+000  2.5896414e-001
6.5710723e+000  4.9800797e-00
6.3466334e+000  6.9721116e-001
5.9975062e+000  1.3346614e+000
6.0224439e+000  1.8127490e+000
6.3466334e+000  2.0517928e+000
6.3965087e+000  1.9721116e+000

그러나 나는 모든 숫자가 아니라 "전자 통지"없이 저장하고 싶습니다. 이 작업을 수행하는 쉬운 방법이 있습니까?

편집 : 감사합니다! 그것은 잘 작동합니다. 죄송하지만 롤백을 사용하여 편집을 엉망으로 만들었습니다.

도움이 되었습니까?

해결책

나는 그것을 사용할 것이다 fprintf 기능, 데이터를 출력 할 형식을 직접 정의 할 수 있습니다.

fid = fopen('output.txt', 'wt');
fprintf(fid,'%0.6f %0.6f\n', A.');
fclose(fid);

이것은 소수점 이후 6 자리의 정밀도로 행렬 A를 출력합니다. 또한 함수를 사용해야합니다 fopen 그리고 fclose.

다른 팁

성능 및 사용자 정의 서식이 필요한 경우 Ditto Gnovice의 솔루션.

dlmwrite 서식의 제어 (필드 별이 아닌 글로벌)를 제공합니다. 그러나 성능 저하로 고통받습니다. 나는 몇 년 전에 테스트를 실시했으며 DLMWrite는 Fopen/fprintf/fclose 솔루션보다 5-10 배 느린 느낌이었습니다. (편집 : 15x10000 매트릭스와 같은 큰 행렬을 언급하고 있습니다)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top