Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Obliczanie cotangensa.
Novy.
post 20.12.2011, 16:02:31
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 8
Dołączył: 28.10.2011

Ostrzeżenie: (0%)
-----


Siema chciałem zrobić coś do obliczania cotangensa, mam taki o to skrypt:

  1. <?php
  2. function radiany($deg) // funkcja dziala tak samo jak deg2rad, wiec to nie wina funkcji
  3. {
  4. return $deg * M_PI / 180;
  5. }
  6.  
  7. $deltay = "-1542.51";
  8. $deltax = "562.22";
  9.  
  10. $r = $deltay/$deltax; // dziele delty
  11. $wb = abs($r); // wartosc bezwzgledna
  12. $wb = round($wb, 5);
  13.  
  14. $rad = radiany($wb);
  15. $ctan = 1/(tan($rad)); // licze cotangens
  16.  
  17. $ctan = round($ctan, 5);
  18.  
  19. echo "Cotangens jest równy ".$ctan.".";
  20.  
  21. ?>



Ten post edytował Novy. 20.12.2011, 17:02:26
Go to the top of the page
+Quote Post
nospor
post 20.12.2011, 16:05:25
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://pl.php.net/manual/en/function.tan.php
Cytat
Workaround for cotangent function

<?php
//FOR PHP 4
function cot($rad)
{
return tan(M_PI_2 - rad2deg($rad));
}

//FOR PHP 3
function cot($rad)
{
return tan(M_PI/2 - rad2deg($rad));
}


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Novy.
post 20.12.2011, 16:11:19
Post #3





Grupa: Zarejestrowani
Postów: 50
Pomógł: 8
Dołączył: 28.10.2011

Ostrzeżenie: (0%)
-----


Mi potrzebne deg -> rad, więc zamieniam..

  1. function cot($rad)
  2. {
  3. return tan(M_PI_2 - deg2rad($rad));
  4. }


I otrzymuje 20.86739, czyli tyle co w skrypcie który napisałem wyżej.

Chyba że nie musze zmieniać tego rad2deg, ale i tak wynik jest zły, bo wynosi jeszcze mniej, 8,coś...
Go to the top of the page
+Quote Post
nospor
post 20.12.2011, 16:12:54
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Skoro masz już w $deg to w kodzie co ci podałem nic masz nie zamieniać.... no troszkę myśl
  1. function cot($deg)
  2. {
  3. return tan(M_PI_2 - $deg);
  4. }


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Novy.
post 20.12.2011, 16:17:02
Post #5





Grupa: Zarejestrowani
Postów: 50
Pomógł: 8
Dołączył: 28.10.2011

Ostrzeżenie: (0%)
-----


oj ;d

co nie zmienia faktu, iż wynik dalej jest zły biggrin.gif

-2.37856057029 jeszcze lepiej haha.gif
Go to the top of the page
+Quote Post
nospor
post 20.12.2011, 16:18:59
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Bo pewnie źle wywołujez tę funkcję. Pokaż kod po zmianach włącznie z funkcją oraz z twoim kodem jak to wszystko wywołujesz i wyliczasz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Novy.
post 20.12.2011, 16:23:40
Post #7





Grupa: Zarejestrowani
Postów: 50
Pomógł: 8
Dołączył: 28.10.2011

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. $deltay = "-1542.51";
  4. $deltax = "562.22";
  5.  
  6. $r = $deltay/$deltax; // dziele delty
  7. $wb = abs($r); // wartosc bezwzgledna
  8. $wb = round($wb, 5);
  9.  
  10. function cot($deg)
  11. {
  12. return tan(M_PI_2 - $deg);
  13. }
  14.  
  15. $ctan = cot($wb);
  16. $ctan = round($ctan, 5);
  17.  
  18. echo "Cotangens jest równy ".$ctan.".";
  19.  
  20. ?>
Go to the top of the page
+Quote Post
nospor
post 20.12.2011, 16:40:09
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A na Twoim kalkulatorze tan z 1 stopnia to ile?

Wywolanie powinno byc takie:
$ctan = cot(deg2rad($wb));
cos w tym manualu w komentach źle napisali
Powód edycji: [nospor]:


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Novy.
post 20.12.2011, 16:41:52
Post #9





Grupa: Zarejestrowani
Postów: 50
Pomógł: 8
Dołączył: 28.10.2011

Ostrzeżenie: (0%)
-----


0,017455064
Go to the top of the page
+Quote Post
nospor
post 20.12.2011, 16:43:43
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




zrob poprawke co napisalem w poprzednim poscie. Powinno juz byc dobrze


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Novy.
post 20.12.2011, 16:47:18
Post #11





Grupa: Zarejestrowani
Postów: 50
Pomógł: 8
Dołączył: 28.10.2011

Ostrzeżenie: (0%)
-----


Powinno, ale nie jest :/

Wróciliśmy do punktu wyjścia, wynik to 20.86739.

Nie wiem jak liczy ten kalkulator, że wyszło 69.97405
Go to the top of the page
+Quote Post
nospor
post 20.12.2011, 16:51:39
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Mi wszystko liczy prawidłowo
  1. echo ' '.tan(deg2rad(1));
  2. echo ' '.cot(deg2rad(1));


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Novy.
post 20.12.2011, 17:01:56
Post #13





Grupa: Zarejestrowani
Postów: 50
Pomógł: 8
Dołączył: 28.10.2011

Ostrzeżenie: (0%)
-----


jest dobrze smile.gif dzięki biggrin.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.07.2025 - 12:12