Qt學習:常用數學函數

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

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

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

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

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

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

此外還有常用的:
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) //平方根計算

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