Soru sorMatlab ondalık sonucu kesirli sayı olarak görmek
zehrayaman tarafından 4 yıl önce soruldu

Merhabalar arkadaşlar ödevimi tamamladım ancak bir eksiğim kaldı. Örneğin eğim yani m=-0.1777 buluyorum. Ancak bunu sonuçta yani fprintf komutunun ekrana yazdırdığı kısımda kesirli sayı olarak görmem lazım. Yani -0.1777 değil de -32/180 olarak nasıl görebilirim? İnternette rat yani rational kodunu kullanın diyor. Ancak tam olarak nereye ve nasıl yazacağımı anlayamadım. Şimdiden ilginiz için teşekkür ederim.

6 Cevap
Caglar Yönetici tarafından 4 yıl önce cevaplandı

药>> rat(-0.1777)
ans = -0 + 1/(-6 + 1/(3 + 1/(-3 + 1/(-6 + 1/35))))
veya

>> format rational
>> 0.5
ans =
1/2

zehrayaman tarafından 4 yıl önce cevaplandı

Teşekkürler ancak matlabda inputla girdiğim değerlerden 0.1777 buluyor. Yani bulduğu herhangi bir sayıyı otomatik printfe yazarken kesirli yazmalı. Sayı belli olmuyor her seferinde, ben 4 değer giriyorum bir sayı hesaplıyor.

Caglar Yönetici tarafından 4 yıl önce cevaplandı

Merhaba,

Sayıları fprintf'e iletirken rat fonksiyonundan gecirebilirsiniz, yeterli olur mu:

>> sonuc = 0.1 + 0.0777
sonuc = 0.1777
>> fprintf('Bulunan sonuc: %s', rat(sonuc))
Bulunan sonuc: 0 + 1/(6 + 1/(-3 + 1/(3 + 1/(6 + 1/(-35)))))>>

zehrayaman tarafından 4 yıl önce cevaplandı

Böyle sonuç veriyor evet ancak mesela 0.1777 = 32/180 miş kesirli olarak. Ancak sizin bulunan sonuç kısmında bir sürü garip sayılar var yani bu kısmı anlayamadım. Direk 32/180 olarak yazamaz mı matlab?

Caglar Yönetici tarafından 4 yıl önce cevaplandı

Öncelikle 32/180 de sadeleşmiş değil. 8/45 olabilirdi.

0.1777 de 32/180'e eşit değil.

>> 32/180

ans =

0.1778

rat algoritması benim örneğimde olduğu gibi birden fazla kesir kullanarak sonuc veriyor.
Buna benzer bir de rats var, isterseniz onun sonuclarını da deneyin.

mustafakorkut tarafından 3 yıl önce cevaplandı

peki sonuç kesirli çıkıyorsa onu nasıl ondalıklı sayı şekline çevirebilirim yardımcı olursanız sevinirim.