2014-01-29 4 views
1

Matlab에서 결과 테이블을 생성하고 싶습니다. 나는 상징적 상자의 latex 명령을 사용한다. 유효 자릿수를 어떻게 지정할 수 있습니까?Matlab : 4 자릿수 또는 일정량의 소수 자릿수를 출력하는 latex 명령?

문제 프로필

>> results 

results = 

    0.0025 0.0024 0.0024 

>> latex(vpa(sym(results),4))  #THIS SHOULD PRINT with 4 decimals, how? 

ans = 

\left(\begin{array}{ccc} 0.0025401858540021748922299593687057 & 0.0023686521873358401535369921475649 & 0.0023649304185866526495374273508787 \end{array}\right) 

>> vpa(sym(results),4) 

ans = 

[ 0.00254, 0.002369, 0.002365] 
+0

조나 [여기]를 제공 (http://stackoverflow.com/a/21452748/164148) stdout을 조작하는 방법이 해결책이지만 심볼릭 라텍스 명령에 내장 된 문자열 조작 옵션이 있는지 여부는 알고 있습니다. 그러므로이 질문을 남겼습니다. – hhh

답변

3

나는 vpa에 대한 그 구문은 유효 숫자의 최소 수를 설정 생각합니다. 가변 정밀도 정확도를 설정하려고 시도 했습니까?

d1 = digits(4); % records and sets accuracy 
latex(vpa(sym(results))) 
digits(d1); % restore previous accuracy 
+0

@hhh이 답변을 사용하고 있습니까? 가변 정밀도 정확도를 설정하려고 시도 했습니까? –

0

고맙습니다!

는 I은 (직접 라텍스 형식으로 출력 전달 함수)이 재치하여 다음 함수 생성 :

function tf2latex(tf) 

[num,den]=tfdata(tf); 
syms s 
d1 = digits(4); % records and sets accuracy 
latex(vpa(poly2sym(cell2mat(num),s)/poly2sym(cell2mat(den),s))) 
digits(d1); 

end