Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 16 kwi 2026, o 09:26


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
Autor Wiadomość
PostNapisane: 18 maja 2015, o 20:52 
Offline
Użytkownik

Dołączył(a): 04 cze 2013
Posty: 517
Pomógł: 26

Koledzy mam taki wzór :

CO2 = 3*TWW*10^(7-PH)

TWW = jest liczbą całkowitą z przedziału 0->25
PH= jest zmiennoprzecinkowa z przedziału 6.00->8.30

W programie przekształcam PH na całkowite ->600->830
Tylko jak teraz przekształcić wzór aby wynik był taki sam jak w przypadku zmiennoprzecinkowych PH gdy korzystam z całkowitych PH na dodatek w postaci całkowitej. Podpowie ktoś?

_________________
Przewodnik|Sterownik akwariowy



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 maja 2015, o 20:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 kwi 2013
Posty: 62
Lokalizacja: Częstochowa
Pomógł: 5

Piszesz kod na mikrokontroler czy na peceta? Jeśli na PC to nie ma co się bawić tylko użyć liczby zmiennoprzecinkowej i funkcji na potęgę z biblioteki math. Jeśli na uC to trzeba będzie coś wymyślić z tą potęgą...


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 maja 2015, o 21:02 
Offline
Użytkownik

Dołączył(a): 04 cze 2013
Posty: 517
Pomógł: 26

Pisze na AVR. Kombinowałem z tą potęgą ale nic nie wymyśliłem i dlatego jedyna deska ratunku to zostało mi forum.

_________________
Przewodnik|Sterownik akwariowy



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 maja 2015, o 21:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 sty 2013
Posty: 169
Lokalizacja: Silesia - P-ce
Pomógł: 10

Możesz wykorzystać funkcję pow() z biblioteki math.h

Cytuj:
double pow (double __x, double __y)
The function pow() returns the value of __x to the exponent __y.


Spróbuj tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Wynik otrzymasz w typie double.


Autor postu otrzymał pochwałę

_________________
Niewiele trzeba by być szczęślwym.Wystarczy chcieć



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 maja 2015, o 22:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 sie 2013
Posty: 230
Lokalizacja: Zabrze
Pomógł: 17

Wykładnik potęgi przyjmuje wartości z zakresu -1.30 do 1.00, czyli nie tylko dodatnie i ujemne, ale i ułamkowe.
W przypadku ostatnim (wykładnik jest ułamkiem) przekształcenie na liczbę całkowitą (*100) wymusza nie tylko zastosowanie funkcji potęgującej, ale i pierwiastkującej o stopniu pierwiastka 100.
Odpowiednie wzory są np. tu: http://www.matemaks.pl/potegowanie-i-pierwiastkowanie.html


Autor postu otrzymał pochwałę

_________________
40-32:2=4!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 maja 2015, o 23:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1988
Lokalizacja: Lipsko
Pomógł: 125

A ja się zastanawiam, czy te metody zastępcze nie zajmą w sumie więcej pamięci niż użycie float, bo wyjdzie z tego w końcu: "zamienił stryjek siekierkę na kijek"... nie wspominając już o czytelności samego kodu.


Autor postu otrzymał pochwałę

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2015, o 07:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 kwi 2013
Posty: 62
Lokalizacja: Częstochowa
Pomógł: 5

Jak wygląda wykres funkcji co = f(tww, ph) w zadanym zakresie? Może dałoby się zastosować tablicowanie wybranych punktów i liniową interpolację pomiędzy nimi. Wykreśliłbym ten wykres, ale jestem w delegacji i nie mam matlaba na służbowym kompie. Może dokładność liniowego przybliżenia byłaby wystarczająca. Oczywiście o ile nie wysyłasz sondy na Marsa :)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 maja 2015, o 18:50 
Offline
Użytkownik

Dołączył(a): 04 cze 2013
Posty: 517
Pomógł: 26

danielos napisał(a):
Możesz wykorzystać funkcję pow() z biblioteki math.h

Cytuj:
double pow (double __x, double __y)
The function pow() returns the value of __x to the exponent __y.


Spróbuj tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Wynik otrzymasz w typie double.


Dzięki za podpowiedź funkcja działa tylko jeszcze mam jeden problem co zrobić w przypadku ujemnej liczby?

Już wiem pytanie nie aktualne :D :D

_________________
Przewodnik|Sterownik akwariowy



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2015, o 18:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 gru 2014
Posty: 53
Pomógł: 2

matekogon napisał(a):
danielos napisał(a):
Możesz wykorzystać funkcję pow() z biblioteki math.h

Cytuj:
double pow (double __x, double __y)
The function pow() returns the value of __x to the exponent __y.


Spróbuj tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Wynik otrzymasz w typie double.


Dzięki za podpowiedź funkcja działa tylko jeszcze mam jeden problem co zrobić w przypadku ujemnej liczby?

Już wiem pytanie nie aktualne :D :D

To podaj odpowiedz dla potomnych ;-)

Dmuchnięte z pąpki od materaca.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 maja 2015, o 20:18 
Offline
Użytkownik

Dołączył(a): 04 cze 2013
Posty: 517
Pomógł: 26

Oczywiście odpowiedzią na moje drugie pytanie jest jeśli wykładnik potęgi jest ujemny : a^-x to można to przekształcić na dodatni wykładnik korzystając ze wzoru a^-x=1/a^x

_________________
Przewodnik|Sterownik akwariowy



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Majestic-12 [Bot] i 4 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO