欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Qt 学习:常用数学函数

最编程 2024-03-17 22:51:31
...

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) //平方根计算

推荐阅读