2010-11-18 11 views
2

Matlab'da, komut penceresinde görüntülenecek ondalık basamak sayısı nasıl kontrol edilir? Örneğin Ondalık basamakların belirli sayılarının nasıl gösterileceği

,

>> X = 0,4654

X = sırasıyla 0.5, 0.47 değişken x değerini, 0.465 görüntülemek nasıl

0.4654 

komut penceresi

Teşekkürler!

+2

olası yinelenen [mümkün Matlab'de açıkça çıkış numaralarını biçimlendirmek için mi?] (Http://stackoverflow.com/questions/1759982/is-it-possible-in-matlab-to-explicitly- format-the-output-sayıları) – mtrw

+0

mtwr'ın dediği gibi, sorunuz muhtemelen yukarıdaki mesajda cevaplandırılmıştır. Num2str kullanın. –

cevap

4

Ben keyfi yerlere yuvarlama orada inşa edilmiştir sanmıyorum ama yuvarlak yerlerin arasında/10^numarası (yerlerin x * 10^numarası) yaparak yuvarlak sonucu elde edebilirsiniz. Bu o kurtulmak istiyorsanız size yaparak istediğiniz sonuçları alabilir senin durumunda böyle dereceye sprintf özel olarak biçimlendirilmiş baskı yapmak zorunda, sondaki sıfırlar ile yazdırır:

sprintf('%.1f', round(x*10)/10) 
sprintf('%.2f', round(x*100)/100) 
sprintf('%.3f', round(x*1000)/1000) 

Umarım bu yardımcı olur!

Düzenleme: Eğer matrisleri için bunu yapmak istiyorsanız, daha iyi bir yol varsa emin değilim ama sen yapabilirsin bir matris olarak x verilen satırların üzerine sadece döngü:

for i=1:length(x(:,1)), 
disp(sprintf('%.2f\t', round(x(i,:)*100)/100)) 
end 
+0

Teşekkürler! İşe yarıyor! Ama x'in bir matris ise ne olduğunu merak ediyordum. Cevabınızdaki yol, tüm satırları tek bir satırda gösterecektir. Ancak, farklı satırdaki farklı satırın, tıpkı komut penceresinde bir matrisin gösterilmesine benzer olmasını umuyorum. – Tim

+0

Hey Tim, düzgün bir şekilde nasıl yapılacağından emin değilim, ancak sadece satırlar üzerinde döngü yaparak görüntüleyebilirsiniz, cevabımı içerecek şekilde düzenledim. – ameer

2

Sen kontrole sahip format komutunu kullanarak komut penceresi. Size belirli seçenekler sunan doc format'a göz atmanızı öneriyorum.

daha hassas gerekiyorsa, kapalı disp kullanarak daha iyi olabilir ve/veya yuvarlama fonksiyonu gibi olurdu: z = round(x/y)*y

0

Değişikliği biçimi.

format shortG 
ait