Odeslat nové téma Odpovědět na téma  [ Příspěvků: 21 ]  Přejít na stránku Předchozí  1, 2
Autor Zpráva
 Předmět příspěvku: Re: Výškoměr, něco pro matematiky
PříspěvekNapsal: stř 02.08.2017 10:33 
Mazák
Mazák

Registrován: 7.5.2015
Příspěvky: 7413
Bydliště: ČR
Obrázky: 8
Arduino Pow(er), není matematika. Tedy je, ale "dirkovaná (0,1)" "Arduino" je jeden z programovací jazyků.
Dle odkazu vst. proměnné "float" a výst. je typu "double" (což je nejasné) a nejspíš" double"="float"
Neb Arduino je založeno na "Céčku" a tam pro Datové typy (druhy proměnných) platí "Data types:
char is 8 bits, int is 16 bits, long is 32 bits, long long is 64 bits,
float and double are 32 bits (this is the only supported floating point format), pointers are 16 bits
Tak jako Tabulkový procesor(Excel)si umí typy potřebně převádět, mohl by to umět i Arduino. Nejlíp vyzkoušet.
pow(base, exponent)
Je ale možné, že to tak obecně neplatí a různé Arduino verze X.Y to mohou mít jinak.
V jednom českém manuálu je příklad se vstupy "int", "int" a výstupem "float"
1 //ukazka pouziti
2
3 int a = 10;
4 int b = 3;
5 float c;
6
7 void setup() {
8 Serial.begin(9600);
9 }
10
11 void loop() {
12 c = pow(a,b);
13 Serial.println(c);
14 delay(1000);
15 }

CELÝ MANUÁL K PŘÍKLADU
Language Reference, Arduino program
Jiný anglický manuál matematickou funkci mocnění pow(a,b) nemá zařazenu. V mat. jen max(x,y) a min(x,y)
Arduino manual
==edit02 V ČEŠTINĚ
PRŮVODCE SVĚTEM ARDUINA


Nahoru
 Profil Soukromé album  
 
 
 Předmět příspěvku: Re: Výškoměr, něco pro matematiky
PříspěvekNapsal: stř 02.08.2017 10:40 
Mazák
Mazák

Registrován: 24.11.2013
Příspěvky: 627
Bydliště: Praha 10, ČR
Obrázky: 9
Celeron píše:
...
Ale ten druhej co jsi upravoval po Zelkarovi nevychází. Máš tam chybu, exponent v POW má být zápornej, pak to vychází stejně jako Zelkarovi.
...

Chyba tam není, ověřil jsem si to ;-).
Ten exponent má být skutečně kladný, protože došlo k inverzi vnitřku té mocniny.
Neměl jsi v tom excelu vzorec zadaný např. jako P0 = P / pow(1 + ...; 5.257)? Potom by to znaménko nesedělo.


Nahoru
 Profil Soukromé album  
 
 Předmět příspěvku: Re: Výškoměr, něco pro matematiky
PříspěvekNapsal: stř 02.08.2017 11:07 
Mazák
Mazák

Registrován: 24.11.2013
Příspěvky: 627
Bydliště: Praha 10, ČR
Obrázky: 9
Celeron píše:
Chlapi matematický, pomocí pow(x,y) se mocní x na y a oboje může být float. Pomocí pow(x, 1/y) jde odmocňovat. Není u toho nějaký omezení třeba u některých datových typů? V excelu to chodí ale co v arduiňákoj? A ještě, musí být x a y stejný datový typ, tedy třeba float, float, nebo jdou i kombinace třeba int,long a pod?
Díky

Obecně s céčkem se to má tak:
Dejme tomu, že existuje funkce např.: double pow(float a, float b), tj. vstupní parametry a,b jsou typu float, výsledek je double.
https://www.arduino.cc/en/Reference/Pow
Potom když jí zavolám příkazem: int c = pow(1, 2); kde jsem všude použil inty, tak dojde k automatickému přetypování z intu na float a u výsledku naopak z double na int. Tedy pokud je konverze známá a v tomto případě by to neměl být problém. Konverze je primitivní, nečekejte nějaké zaokrouhlování. To se provede spec. funkcí nebo trikem: int c = pow(a, b) + 0.5;
Snad Arduino používá standardní C a ne nějaký vlastní metajazyk.
Explicitní přetypování:
https://www.arduino.cc/en/Reference/Cast
edit ---------
Beru zpět. Arduino používá modernější objektový jazyk, asi něco na způsob c++. Jinými slovy: všechno je podobné, maximálně ještě snazší.


Nahoru
 Profil Soukromé album  
 
 Předmět příspěvku: Re: Výškoměr, něco pro matematiky
PříspěvekNapsal: stř 02.08.2017 11:33 
Mazák
Mazák

Registrován: 30.8.2011
Příspěvky: 5331
Bydliště: Plzeň, CZ
Obrázky: 0
osobne wiring nepovazuju za jazyk ale specializovany preprocessor. Jazyk je bezne C/C++ kompilovane GCC pro ARM. Wiring nadstavba dela jen odlehci otravnym vecem ala nastaveni kompilatoru, linkeru a predpripravi/zavola setup/loop

_________________
coptery@FrSky X9E, 3.4m Go-3,EPP Spartan,SkySurfX8,SE.5,MPX Extra 300s@Jeti DC-16


Nahoru
 Profil Soukromé album  
 
 Předmět příspěvku: Re: Výškoměr, něco pro matematiky
PříspěvekNapsal: stř 02.08.2017 15:19 
Mazák
Mazák
Uživatelský avatar

Registrován: 22.4.2010
Příspěvky: 10493
Bydliště: Nový Bydžov ČR
Obrázky: 14
Grugh píše:
Chyba tam není, ověřil jsem si to ;-).
Ten exponent má být skutečně kladný, protože došlo k inverzi vnitřku té mocniny.
Neměl jsi v tom excelu vzorec zadaný např. jako P0 = P / pow(1 + ...; 5.257)? Potom by to znaménko nesedělo.


Ne, / to není, ale blbec jsem zapsal do Excelu P0 = P * pow(1 - 0.0065 * Z / (273.15 + t); 5.257) :roll: Zvláštní, že to spravil zápornej exponent. Cesty matematiky jsou nevyzpytatelný. :mrgreen:
Omlouvám se, že jsem Tě podezříval. :oops:
Díky
Jirka


Nahoru
 Profil Soukromé album {RCalbum.cz}  
 
 Předmět příspěvku: Re: Výškoměr, něco pro matematiky
PříspěvekNapsal: úte 15.08.2017 19:04 
Mazák
Mazák
Uživatelský avatar

Registrován: 22.4.2010
Příspěvky: 10493
Bydliště: Nový Bydžov ČR
Obrázky: 14
Tak vejškoměr, kterej má autokalibraci na naše a dalších možných 15 letišť je hotovej. Udělal bych finál desku, ale modul pro micro SDHC kartu je skoro o půlku větší než vlastní Arduino Pro mini. Ta deska SDHC je jen jednostraná a navíc je tam zcela zbytečnej stabec 3V3.
Neviděl jste někdo na netu nějakou pidi SDHC s SPI?
Díky
Jirka


Nahoru
 Profil Soukromé album {RCalbum.cz}  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 21 ]  Přejít na stránku Předchozí  1, 2

 


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 21 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  

 

  Powered by phpBB® Forum Software © phpBB Group  Český překlad – phpBB.cz 

 

NAVRCHOLU.cz