qt中求對數、指數等數學函數


C語言中、Qt中,都沒有以任意爲底數的對數函數,所以log5 ^3 [以5爲底]是沒有的。但是可以用logx(y)=ln(y)/ln(x)來代替,修改代碼如下
1、Qt中對數,通過自然對數qLn()轉換一下,logx(y)=ln(y)/ln(x)

  1. #include <QtWidgets/QApplication>  
  2. #include <QDebug>  
  3. #include <QtCore/qmath.h>  
  4. int main(int argc, char *argv[])  
  5. {  
  6.     double a,b;  
  7.     a=2*3.14-1;  
  8.     b=qLn(3)/qLn(5);  
  9. }  

 2、Qt中求指數,通過qPow(qreal x, qreal y),相當於x的y次方。y是指數



  1. #include <QtWidgets/QApplication>    
  2. #include <QDebug>    
  3. #include <QtCore/qmath.h>    
  4. int main(int argc, char *argv[])    
  5. {    
  6.     double b;     
  7.     b=qPow(2,1);  //b = 2  
  8. }    

 

 3、Qt中求以常數e爲底數的指數。正好是qLn()的逆反。用qExp(qreal y)


  1.     
  2. #include <QtWidgets/QApplication>      
  3. #include <QDebug>      
  4. #include <QtCore/qmath.h>      
  5. int main(int argc, char *argv[])      
  6. {      
  7.     double b;    
  8.     double a = qLn(4000000); //a=15.201804919084164    
  9.     b=qExp(a); //b = 3999999.9999999986 有精度損失  
  10. }      

 


此外還有常用的:

qreal qCos(qreal v)  qreal qAcos(qreal v) //餘弦、反餘弦

qreal qSin(qreal v)  qreal qAsin(qreal v)  //正弦、反正弦

qreal qTan(qreal v) qqreal qAtan(qreal v) //tan函數,arctan函數 

real qAtan2(qreal y, qreal x) //求一個座標點的反正切函數

int qCeil(qreal v) //返回大於或者等於指定表達式的最小整數

qreal qFabs(qreal v) //求浮點數x的絕對值

int qFloor(qreal v) //其功能是“向下取整”,或者說“向下舍入”,即取不大於x的最大整數(與“四捨五入”不同,下取整是直接去掉小數部分)

qreal qLn(qreal v) qqreal qExp(qreal v)//自然對數以及相反值

qreal qPow(qreal x, qreal y) //計算x的y次冪

qreal Sqrt(qreal v) //平方根計算

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章