用TIGER SHARC DSP201實現反正切函數,Atan2(y,x) 高精度
上傳時間: 2016-05-11
上傳用戶:奇奇奔奔
描述:matlab的Atan2函數與vb.net的Atan2函數計算結果并不一致。該程序用vb.net實現了matlab的Atan2函數。
上傳時間: 2014-01-24
上傳用戶:sk5201314
C函數速查手冊 出版社:人民郵電出版社 《C函數速查手冊》中所講的C語言函數按照功能順序和字母順序進行排序,讀者既可以按照功能順序查找,也可以按照字母順序學習。《C函數速查手冊》不僅適合于C語言初學者學習使用,而且也可以作為中、高級C語言開發人員的參考手冊。 目錄 第1章 數學函數 1.1 _clear87函數:清除浮點狀態字 1.2 _status87函數:取浮點狀態字 1.3 abs函數:求整數的絕對值 1.4 acos、acosl函數:反余弦函數 1.5 asin、asinl函數:反正弦函數 1.6 atan函數:反正切函數 1.7 Atan2、Atan2l函數:計算Y/X的反正切值 1.8 cabs函數:計算復數的模 1.9 ceil函數:向上取整 1.10 cos函數:余弦函數 1.11 cosh函數:雙曲余弦函數 1.12 div函數:求兩個整數相除的商和余數 1.13 exp函數:指數函數 1.14 fabs函數:求浮點數的絕對值 1.15 floor函數:向下取整 1.16 fmod函數:計算x對y的模 1.17 frexp函數:將浮點數分為底數與指數 1.18 hypot函數:計算直角三角形的斜邊 1.19 labs函數:取長整數的絕對值 1.20 ldexp、ldexpl函數:冪計算 1.21 ldiv函數:兩個長整型數相除 1.22 log、logl函數:計算自然對數 1.23 log10、log10l函數:計算常用對數 1.24 max函數:求兩個數中的最大者 1.25 min函數:求兩個數中的最小者 1.26 modf、modfl函數:分割數為整數部分和小數部分 1.27 poly函數:計算多項式 1.28 pow函數:指數函數 1.29 pow10函數:指數函數 1.30 rand函數:隨機數發生器 1.31 random函數:隨機數發生器 1.32 randomize函數:初始化隨機數發生器 1.33 sin函數:正弦函數 1.34 sinh函數:雙曲正弦函數 1.35 sqrt函數:計算平方根 1.36 srand函數:初始化隨機數發生器 1.37 tan、tanl函數:正切函數 1.38 tanh、tanhl函數:雙曲正切函數 第2章 字符串函數 2.1 atof函數:把字符串轉換成浮點數 2.2 atoi函數:將字符串轉換成整型數 2.3 atol函數:將字符串轉換成長整型數 2.4 ecvt函數:將浮點數轉換為字符串 2.5 fcvt函數:將浮點數轉換為字符串 2.6 gcvt函數:將浮點數轉換成字符串 2.7 itoa函數:將整數值轉換為字符串 2.8 isalnum函數:字母、數字判斷函數 2.9 isalpha函數:字母判斷函數 2.10 isascii函數:整數值的字符分類 2.11 iscntrl函數:控制字符判斷函數 2.12 isdigit函數:數字判斷函數 2.13 isgraph函數:打印字符判斷 2.14 islower函數:小寫字母判斷函數 2.15 isprint函數:可打印字符判斷函數 2.16 isptmct函數:標點符號判斷函數 2.17 isspace函數:空格等判斷函數 2.18 isupper函數:大寫字母判斷函數 2.19 isxdigit函數:十六進制數字判斷函數 2.20 ltoa函數:將長整值轉換為字符串 2.21 mbstowcs函數:將多字節字符序列轉換成相應的寬字符序列 2.22 mbtowc函數:將多字節字符轉換成相應的寬字符 2.23 stpcpy函數:復制字符串 2.24 strcat函數:拼接字符串 2.25 strchr函數:查找給定字符 2.26 strcmp函數:比較字符串 2.27 strcmpi函數:比較字符串 2.28 strcpy函數:復制字符串 2.29 strcspn函數:查找不包含指定字符集子串的段 2.30 strdup函數:將字符串復制到新建的位置 2.31 stricmp函數:比較字符串 2.32 strlen函數:獲取字符長度
上傳時間: 2014-12-25
上傳用戶:水口鴻勝電器
用途:測量地磁方向,測量物體靜止時候的方向,測量傳感器周圍磁力線的方向。注意,測量地磁時候容易受到周圍磁場影響,主芯片HMC5883 三軸磁阻傳感器特點(抄自網上): 1,數字量輸出:I2C 數字量輸出接口,設計使用非常方便。 2,尺寸小: 3x3x0.9mm LCC 封裝,適合大規模量產使用。 3,精度高:1-2 度,內置12 位A/D,OFFSET, SET/RESET 電路,不會出現磁飽和現象,不會有累加誤差。 4,支持自動校準程序,簡化使用步驟,終端產品使用非常方便。 5,內置自測試電路,方便量產測試,無需增加額外昂貴的測試設備。 6,功耗低:供電電壓1.8V, 功耗睡眠模式-2.5uA 測量模式-0.6mA 連接方法: 只要連接VCC,GND,SDA,SDL 四條線。 Arduino GND -> HMC5883L GND Arduino 3.3V -> HMC5883L VCC Arduino A4 (SDA) -> HMC5883L SDA Arduino A5 (SCL) -> HMC5883L SCL (注意,接線是A4,A5,不是D4,D5) 源程序: #include <Wire.h> #include <HMC5883L.h> HMC5883Lcompass; voidsetup() { Serial.begin(9600); Wire.begin(); compass = HMC5883L(); compass.SetScale(1.3); compass.SetMeasurementMode(Measurement_Continuous); } voidloop() { MagnetometerRaw raw = compass.ReadRawAxis(); MagnetometerScaled scaled = compass.ReadScaledAxis(); float xHeading = Atan2(scaled.YAxis, scaled.XAxis); float yHeading = Atan2(scaled.ZAxis, scaled.XAxis); float zHeading = Atan2(scaled.ZAxis, scaled.YAxis); if(xHeading < 0) xHeading += 2*PI; if(xHeading > 2*PI) xHeading -= 2*PI; if(yHeading < 0) yHeading += 2*PI; if(yHeading > 2*PI) yHeading -= 2*PI; if(zHeading < 0) zHeading += 2*PI; if(zHeading > 2*PI) zHeading -= 2*PI; float xDegrees = xHeading * 180/M_PI; float yDegrees = yHeading * 180/M_PI; float zDegrees = zHeading * 180/M_PI; Serial.print(xDegrees); Serial.print(","); Serial.print(yDegrees); Serial.print(","); Serial.print(zDegrees); Serial.println(";"); delay(100); }
上傳時間: 2013-12-16
上傳用戶:stella2015
用途:測量地磁方向,測量物體靜止時候的方向,測量傳感器周圍磁力線的方向。注意,測量地磁時候容易受到周圍磁場影響,主芯片HMC5883 三軸磁阻傳感器特點(抄自網上): 1,數字量輸出:I2C 數字量輸出接口,設計使用非常方便。 2,尺寸小: 3x3x0.9mm LCC 封裝,適合大規模量產使用。 3,精度高:1-2 度,內置12 位A/D,OFFSET, SET/RESET 電路,不會出現磁飽和現象,不會有累加誤差。 4,支持自動校準程序,簡化使用步驟,終端產品使用非常方便。 5,內置自測試電路,方便量產測試,無需增加額外昂貴的測試設備。 6,功耗低:供電電壓1.8V, 功耗睡眠模式-2.5uA 測量模式-0.6mA 連接方法: 只要連接VCC,GND,SDA,SDL 四條線。 Arduino GND -> HMC5883L GND Arduino 3.3V -> HMC5883L VCC Arduino A4 (SDA) -> HMC5883L SDA Arduino A5 (SCL) -> HMC5883L SCL (注意,接線是A4,A5,不是D4,D5) 源程序: #include <Wire.h> #include <HMC5883L.h> HMC5883Lcompass; voidsetup() { Serial.begin(9600); Wire.begin(); compass = HMC5883L(); compass.SetScale(1.3); compass.SetMeasurementMode(Measurement_Continuous); } voidloop() { MagnetometerRaw raw = compass.ReadRawAxis(); MagnetometerScaled scaled = compass.ReadScaledAxis(); float xHeading = Atan2(scaled.YAxis, scaled.XAxis); float yHeading = Atan2(scaled.ZAxis, scaled.XAxis); float zHeading = Atan2(scaled.ZAxis, scaled.YAxis); if(xHeading < 0) xHeading += 2*PI; if(xHeading > 2*PI) xHeading -= 2*PI; if(yHeading < 0) yHeading += 2*PI; if(yHeading > 2*PI) yHeading -= 2*PI; if(zHeading < 0) zHeading += 2*PI; if(zHeading > 2*PI) zHeading -= 2*PI; float xDegrees = xHeading * 180/M_PI; float yDegrees = yHeading * 180/M_PI; float zDegrees = zHeading * 180/M_PI; Serial.print(xDegrees); Serial.print(","); Serial.print(yDegrees); Serial.print(","); Serial.print(zDegrees); Serial.println(";"); delay(100); }
上傳時間: 2014-03-20
上傳用戶:tianyi223