Mám úlohu na vytvorenie programu, ktorý dokáže vypočítať plochu pod grafom v určitej oblasti. Moja funkcia je f(x)=3+(tan(x))^2
Premenil som to na javascript, takže to vyzerá takto:
var y = 3 + Math.pow(Math.tan((x)*(180/Math.PI)), 2)
To dáva správny výsledok pri určitých hodnotách x. Ale niekedy, napr. na x = 3.4
, dáva to zvláštne číslo ako 16, kde som niečo okolo čakal 3
alebo 4
.
Čítal som, že to môže byť spôsobené problémom s pohyblivou rádovou čiarkou, ale nemal by to znamenať veľký rozdiel? Nerozumiem tomu. :(
Na zmenu systému používam slučku for x
hodnota a pole na uloženie hodnôt.
odpovede:
1 pre odpoveď č. 1x*180/π
prevádza uhol x
, uvedené v radiánoch, v stupňoch. Ale to je takmer úplne zlé tu: trigonometrické funkcie skriptu JavaScript očakávajú svoje argumenty v radiánoch. Takže ak je váš uhol v radiánoch, nepotrebujete vôbec žiadnu konverziu, a ak je v stupňoch, mali by ste konvertovať iným spôsobom okrúhle, a to x*π/180
.