1
난 다음 코드 매트랩 가지고matlab의 ncread 함수가 부동 소수점 수를 줄이는 이유는 무엇입니까?
converted = ncread(this_file, 'U');
disp(converted(50,10,20));
및 결과는 다음
는-0.1561
실제 수는 -0.15617890 그러나이 코드는 부동의 수를 변경 번호. 왜?
난 다음 코드 매트랩 가지고matlab의 ncread 함수가 부동 소수점 수를 줄이는 이유는 무엇입니까?
converted = ncread(this_file, 'U');
disp(converted(50,10,20));
및 결과는 다음
는-0.1561
실제 수는 -0.15617890 그러나이 코드는 부동의 수를 변경 번호. 왜?
MATLAB은 기본적으로 소수점 이하 4 자리 만 표시합니다. 당신은 더 자리 표시 format
를 사용할 수 있습니다 내가 csvwrite을 사용하여 다음 단계에
format long
converted = ncread(this_file, 'U');
disp(converted(50,10,20));
와 (, 변환 [테스트, 'TXT를.']) fuction 그리고 다시 같은 문제 (나는 더 짧은 숫자를 가짐) : (도와주세요. –
@SiamakFarsi ['csvwrite'] (https://www.mathworks.com/help/matlab/ref/csvwrite.html)는 더 많은 정밀도가 필요하다면 [dlmwrite'] (https://www.mathworks.com/help/matlab/ref/dlmwrite.html) 대신'dlmwrite ([test, '.txt '], converted,'precision ', 8);' – frslm
dlmwrite dident work :(여전히 출력이 동일합니다.) csvwrite와 dlmwrite 모두 부동 소수점에 7 자리 숫자가 있습니다. –