C 语言 math函数库手册
- 格式:doc
- 大小:31.00 KB
- 文档页数:14
c语⾔各常⽤函数,c语⾔常⽤函数速查⼿册pdfC语⾔常⽤函数速查⼿册是⼀本⾮常全⾯系统的讲述了学习c语⾔相关的常⽤函数,包括常见的350多个常⽤函数,且每⼀个常⽤函数后⾯都会有⼀个经典的⽰例帮助更快掌握C语⾔,欢迎下载。
图书简介:为了⽅便查找,所有函数都按照所在库进⾏分章讲解。
这样既⽅便读者系统学习,也⽅便同类函数的对⽐和查找。
本书所涉及的函数全⾯,适合所有想学习C语⾔的开发⼈员、爱好者和⼤中专院校学⽣使⽤。
对于经常采⽤C语⾔进⾏开发的开发⼈员,更是⼀本不可多得的案头必备⼯具参考书。
C语⾔常⽤函数速查⼿册全⾯、系统地讲解了C语⾔相关的21个函数库,所涉及的函数多达352个。
为了⽅便读者学习,每⼀个函数都依次对其作⽤、语法形式、参数、返回值进⾏了讲解。
同时,每个函数都配有专门的例⼦,供读者参考学习。
最后给出了本书所涉及C语⾔函数的索引,便于读者检索。
图书⽬录:第1章 输⼊输出函数库:stdio.h第2章 数学函数库:math.h第3章 字符函数库:ctype.h第4章 字符串函数库:string.h第5章 标准库函数库:system.h第6章 图形处理函数库:graphics.h第7章 动态内存管理函数库:alloc.h第8章 ⽬录操作函数库:dir.h第9章 系统接⼝函数库:dos.h第10章 输⼊输出函数库:io.h第11章 浮点数据处理库:float.h第12章 控制台输⼊输出函数库:conio.h第13章 DEBUG相关函数库:assert.h第14章 BIOS相关函数库:bios.h第15章 内存相关函数库:mem.h第16章 进程管理函数库:process.h第17章 函数跳转函数库:setjmp.h第18章 信号定义函数库:signal.h第19章 函数参数处理函数库:stdarg.h第20章 时间函数库:time.h第21章 标准⼯具库函数库:stdlib.h附录 索引。
c语言方程求解函数库在C语言中,可以使用多种方法来解方程。
一种常用的方法是使用数值解法,例如二分法、牛顿迭代法、割线法等。
C语言本身没有提供求解方程的函数库,但可以通过编写相应的数值解法函数来实现。
以下是一个使用二分法求解方程的示例代码:```c#include <stdio.h>#include <math.h>double f(double x) {// 定义方程return x * x - 2;}double solve_equation(double left, double right, double epsilon) { double mid, f_mid;while (fabs(right - left) > epsilon) {mid = (left + right) / 2;f_mid = f(mid);if (f_mid == 0) {return mid; // 找到方程的解} else if (f_mid * f(left) < 0) {right = mid;} else {left = mid;}}return (left + right) / 2; // 返回近似解}int main() {double left, right, epsilon, result;printf("请输入方程求解区间的左边界和右边界:");scanf("%lf %lf", &left, &right);printf("请输入求解的精度(如1e-6):");scanf("%lf", &epsilon);result = solve_equation(left, right, epsilon);printf("方程的解为:%lf\n", result);return 0;}```请注意,这只是一个示例代码,并不能处理所有类型的方程。
函数名称: abs函数原型: int abs(int x);函数功能: 求整数x的绝对值函数返回: 计算结果参数说明:所属文件: <>,<>使用范例:#include <>#include <>int main(){int number=-1234;printf("number: %d absolute value: %d",number,abs(number)); return 0;}@函数名称: fabs函数原型: double fabs(double x);函数功能: 求x的绝对值.函数返回: 计算结果参数说明:所属文件: <>使用范例:#include <>#include <>int main(){float number=;printf("number: %f absolute value: %f",number,fabs(number)); return 0;}@函数名称: cabs函数原型: double cabs(struct complex znum)函数功能: 求复数的绝对值函数返回: 复数的绝对值参数说明: zuum为用结构struct complex表示的复数,定义如下:struct complex{double m;double n;}所属文件: <>#include <>#include <>int main(){struct complex z;double val;=;=;val=cabs(z);printf("The absolute value of %.2lfi %.2lfj is %.2lf",,,val); return 0;}@函数名称: ceil函数原型: double ceil(double num)函数功能: 得到不小于num的最小整数函数返回: 用双精度表示的最小整数参数说明: num-实数所属文件: <>#include <>#include <>int main(){double number=;double down,up;down=floor(number);up=ceil(number);printf("original number %",number);printf("number rounded down %",down);printf("number rounded up %",up);return 0;}@函数名称: sin函数原型: double sin(double x);函数功能: 计算sinx的值.正弦函数函数返回: 计算结果参数说明: 单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result,x=;result=sin(x);printf("The sin() of %lf is %lf",x,result); return 0;}@函数名称: cos函数原型: double cos(double x);函数功能: 计算cos(x)的值.余弦函数.函数返回: 计算结果参数说明: x的单位为弧度所属文件: <>使用范例:#include <>#include <>int main()double result;double x=;result=cos(x);printf("The cosine of %lf is %lf",x,result);return 0;}@函数名称: tan函数原型: double tan(double x);函数功能: 计算tan(x)的值,即计算角度x的正切数值函数返回: 计算结果参数说明: x>=0单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result,x;x=;result=tan(x);printf("The tan of %lf is %lf",x,result);return 0;}@函数名称: asin函数原型: double asin(double x);函数功能: 计算sin^-1(x)的值.反正弦值函数函数返回: 计算结果参数说明: x应在 -1 到 1 范围内.单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=asin(x);printf("The arc sin of %lf is %lf",x,result); return 0;}@函数名称: acos函数原型: double acos(double x);函数功能: 计算cos^-1(x)的值,反余弦函数函数返回: 计算结果参数说明: x应在-1到1范围内.切记单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=acos(x);printf("The arc cosine of %lf is %lf",x,result); return 0;}@函数名称: atan函数原型: double atan(double x);函数功能: 计算tan^-1(x)的值.函数返回: 计算结果参数说明: 单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=atan(x);printf("The arc tangent of %lf is %lf",x,result);return 0;}@函数名称: atan2函数原型: double atan2(double x,double y);函数功能: 计算tan^-1/(x/y)的值.求x/y的反正切值.函数返回: 计算结果参数说明: 单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=,y=;result=atan2(y,x);printf("The arc tangent ratio of %lf is %lf",(y/x),result); return 0;}@函数名称: sinh函数原型: double sinh(double x);函数功能: 计算x的双曲正弦函数sinh(x)的值.函数返回: 计算结果参数说明: 单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result,x=;result=sinh(x);printf("The hyperbolic sin() of %lf is %lf",x,result); return 0;}@函数名称: cosh函数原型: double cosh(double x);函数功能: 计算x的双曲余弦cosh(x)的值.函数返回: 计算结果参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=cosh(x);printf("The hyperboic cosine of %lf is %lf",x,result); return 0;}@函数名称: tanh函数原型: double tanh(double x);函数功能: 计算x的双曲正切函数tanh(x)的值.函数返回: 计算结果参数说明: x>=0所属文件: <>使用范例:#include <>#include <>int main(){double result,x;x=;result=tanh(x);printf("The hyperbolic tangent of %lf is %lf",x,result); return 0;}@函数名称: exp函数原型: double exp(double x);函数功能: 求e的x次幂函数返回: 计算结果.幂的值参数说明: x-指数所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=exp(x);printf("'e' raised to the power of %lf(e^%lf)=%lf",x,x,result); return 0;}@函数名称: floor函数原型: double floor(double x);函数功能: 求出不大于x的最大整数.函数返回: 该整数的双精度实数参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double number=;double down,up;down=floor(number);up=ceil(number);printf("original number %",number);printf("number rounded down %",down);printf("number rounded up %",up);return 0;}@函数名称: fmod函数原型: double fmod(double x,double y);函数功能: 求整数x/y的余数函数返回: 返回余数的双精度数.x/y的余数值.参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double x=,y=;double result;result=fmod(x,y);printf("The remainder of (%lf/%lf) is %lf",x,y,result);return 0;}@函数名称: frexp函数原型: double frexp(double val,int *eptr);函数功能: 把双精度数val分解为数字部分(尾数)x和以2为底的指数n,即val=x*2^n,n存放在eptr指向的变量中.函数返回: 返回数字部分x,<=x且x<1参数说明: val-待分解的数所属文件: <>使用范例:#include <>#include <>int main(){double mantissa,number;int exponent;number=;mantissa=frexp(number,&exponent);printf("The number %lf is",number);printf("%lf times two to the",mantissa);printf("power of %d",exponent);return 0;}@函数名称: log函数原型: double log(double x);函数功能: 求logeX(e指的是以e为底),即计算x的自然对数(ln X) 函数返回: 计算结果参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=log(x);printf("The natural log of %lf is %lf",x,result);return 0;}@函数名称: log10函数原型: double log10(double x);函数功能: 求log10x(10指的是以10为底).计算x的常用对数函数返回: 计算结果参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=log10(x);printf("The common log of %lf is %lf",x,result);return 0;}@函数名称: modf函数原型: double modf(double val,double *iptr);函数功能: 把双精度数val分解为整数部分和小数部分,把整数部分存到iptr指向的单元. 函数返回: val的小数部分参数说明: val 待分解的数所属文件: <>使用范例:#include <>#include <>int main(){double fraction,integer;double number=;fraction=modf(number,&integer);printf("The whole and fractional parts of %lf are %lf and%lf",number,integer,fraction);}@函数名称: pow函数原型: double pow(double x,double y);函数功能: 计算以x为底数的y次幂,即计算x^y的值. 函数返回: 计算结果参数说明: x-底数,y-幂数所属文件: <>使用范例:#include <>#include <>int main(){double x=,y=;printf("%lf raised to %lf is %lf",x,y,pow(x,y)); return 0;}@函数名称: sqrt函数原型: double sqrt(double x);函数功能: 计算x的开平方.函数返回: 计算结果参数说明: x>=0所属文件: <>#include <>#include <>int main(){double x=,result;result=sqrt(x);printf("The square root of %lf is %lf",x,result); return 0;}@函数名称: hypot函数原型: double hypot(double x,double y)函数功能: 已知直角三角形两个直角边长度,求斜边长度函数返回: 斜边长度参数说明: x,y-直角边长度所属文件: <>#include <>#include <>int main(){double result;double x=;double y=;result=hypot(x,y);printf("The hypotenuse is: %lf",result);return 0;}@函数名称: poly函数原型: double poly(double x,int degree,double coeffs[])函数功能: 计算多项式函数返回: 多项式的计算结果参数说明: 计算c[n]*x^n+c[n-1]x^n-1+.....+c[1]*x+c[0]所属文件: <>#include <>#include <>int main(){double array[]={,,,};double result;result=poly,3,array);printf("The polynomial: x**3 - **2 + 5x - 1 at is %lf",result); return 0;}@函数名称: matherr函数原型: int matherr(struct exception *e)函数功能: 数学错误计算处理程序函数返回:参数说明: 该函数不能被直接调用,而是被库函数_matherr()调用所属文件: <>#include<>int matherr(struct exception *a){return 1;}@函数名称: ldexp函数原型: double ldexp(double x,int exponent)函数功能: 计算x*2的exponent次幂,即2*pow(2,exponent)的数值函数返回:参数说明:所属文件: <>#include <>#include <>int main(){double value;double x=2;value=ldexp(x,3);printf("The ldexp value is: %lf",value);return 0;}int abs(int i) 返回整型参数i的绝对值double cabs(struct complex znum) 返回复数znum的绝对值double fabs(double x) 返回双精度参数x的绝对值long labs(long n) 返回长整型参数n的绝对值double exp(double x) 返回指数函数ex的值double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中double ldexp(double value,int exp); 返回value*2exp的值double log(double x) 返回logex的值double log10(double x) 返回log10x的值double pow(double x,double y) 返回xy的值double pow10(int p) 返回10p的值double sqrt(double x) 返回+√x的值double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度double atan(double x) 返回x的反正切tan-1(x)值,x为弧度double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度double cos(double x) 返回x的余弦cos(x)值,x为弧度double sin(double x) 返回x的正弦sin(x)值,x为弧度double tan(double x) 返回x的正切tan(x)值,x为弧度double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度double hypot(double x,double y) 返回直角三角形斜边的长度(z),x和y为直角边的长度,z2=x2+y2double ceil(double x) 返回不小于x的最小整数double floor(double x) 返回不大于x的最大整数void srand(unsigned seed) 初始化随机数发生器int rand() 产生一个随机数并返回这个数double poly(double x,int n,double c[])从参数产生一个多项式double modf(double value,double *iptr)将双精度数value分解成尾数和阶double fmod(double x,double y) 返回x/y的余数double frexp(double value,int *eptr) 将双精度数value分成尾数和阶double atof(char *nptr) 将字符串nptr转换成浮点数并返回这个浮点数double atoi(char *nptr) 将字符串nptr转换成整数并返回这个整数double atol(char *nptr) 将字符串nptr转换成长整数并返回这个整数char *ecvt(double value,int ndigit,int *decpt,int *sign)将浮点数value转换成字符串并返回该字符串char *fcvt(double value,int ndigit,int *decpt,int *sign)将浮点数value转换成字符串并返回该字符串char *gcvt(double value,int ndigit,char *buf)将数value转换成字符串并存于buf中,并返回buf的指针char *ultoa(unsigned long value,char *string,int radix)将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数char *ltoa(long value,char *string,int radix)将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数char *itoa(int value,char *string,int radix)将整数value转换成字符串存入string,radix为转换时所用基数double atof(char *nptr) 将字符串nptr转换成双精度数,并返回这个数,错误返回0int atoi(char *nptr) 将字符串nptr转换成整型数, 并返回这个数,错误返回0long atol(char *nptr) 将字符串nptr转换成长整型数,并返回这个数,错误返回0 double strtod(char *str,char **endptr)将字符串str转换成双精度数,并返回这个数, long strtol(char *str,char **endptr,int base)将字符串str转换成长整型数,并返回这个数,int matherr(struct exception *e)用户修改数学错误返回信息函数(没有必要使用)double _matherr(_mexcep why,char *fun,double *arg1p, double *arg2p,double retval)用户修改数学错误返回信息函数(没有必要使用)unsigned int _clear87() 清除浮点状态字并返回原来的浮点状态void _fpreset() 重新初使化浮点数学程序包unsigned int _status87() 返回浮点状态字。
在 C++ 中,头文件<cmath>提供了数学函数和常量的声明。
这个头文件中定义了一系列用于执行数学运算的函数,例如三角函数、对数函数、指数函数等。
以下是一些<cmath>头文件中常用的数学函数和常量的用法:
常用数学函数:
1.三角函数:
2.对数和指数函数:
3.幂运算和平方根:
4.取整和绝对值:
常用数学常量:
这只是<cmath>头文件中一些常用的数学函数和常量。
在实际编程中,根据具体的需求,可能需要深入了解更多的数学函数和使用方法。
这些函数提供了许多强大的数学工具,可以在科学计算、工程应用等领域发挥重要作用。
C语言是一种非常重要的计算机编程语言,广泛应用于系统软件、应用软件、嵌入式系统、驱动程序等领域。
math库是C语言中非常常用的数学库,提供了很多数学函数供程序员使用。
其中,sqrt函数是math库中的一个常用函数,用于计算一个数的平方根。
本文将讨论C 语言math库对sqrt函数的实现方法。
1. sqrt函数概述让我们来了解一下sqrt函数的概述。
sqrt函数用于计算一个数的平方根,其原型如下:double sqrt(double x);其中,x为要计算平方根的数,函数返回x的平方根。
sqrt函数定义在math.h头文件中,因此在使用sqrt函数之前,需要包含math.h头文件。
2. sqrt函数的实现原理接下来,我们来分析一下sqrt函数的实现原理。
在C语言中,sqrt函数通常是由系统底层的数学库实现的,具体的实现方式可能因系统而异。
一种常见的实现方式是使用牛顿迭代法来计算平方根。
牛顿迭代法是一种用途广泛的求解方程近似解的方法,其具体步骤如下:(1) 选取一个初始值作为计算的起点,假设为y0;(2) 根据迭代公式y = (y0 + x / y0) / 2计算下一个近似值y;(3) 判断计算结果与精度要求的差距,如果小于精度要求,则停止迭代,取当前的y值作为最终结果;否则,将y作为新的y0,重复步骤(2);(4) 最终得到的y值即为所求的平方根。
3. sqrt函数的具体实现针对不同的系统和评台,sqrt函数的实现可能会有一定的差异。
我们以标准的C语言为例,来简单介绍一种可能的sqrt函数实现方法。
```c#include <math.h>double sqrt(double x) {double y0, y = x, temp;if (x == 0.0 || x == 1.0) {return x;}do {y0 = y;temp = x / y0;y = (y0 + temp) / 2;} while (y != y0);return y;}```上述代码是对sqrt函数的一种简单实现,采用了牛顿迭代法来计算平方根。
math.h常用函数-回复math.h库是C语言中一个常用的数学函数库,它提供了许多用于数学计算的函数。
本文将介绍math.h常用函数的各种用法及其实际应用。
首先,math.h库中的常用函数有:abs、ceil、floor、round、sqrt、pow、log、exp、sin、cos、tan等等。
下面将逐个介绍这些函数。
1. abs函数:用于计算绝对值。
例如,abs(-5)的结果为5,abs(4.5)的结果为4.5。
2. ceil函数:用于向上取整。
ceil(4.2)的结果为5,ceil(-3.7)的结果为-3。
3. floor函数:用于向下取整。
floor(4.9)的结果为4,floor(-2.3)的结果为-3。
4. round函数:用于四舍五入取整。
round(4.5)的结果为5,round(4.4)的结果为4。
5. sqrt函数:用于计算平方根。
例如,sqrt(9)的结果为3,sqrt(25.0)的结果为5.0。
6. pow函数:用于计算幂次方。
例如,pow(2, 3)的结果为8,pow(3.5, 2)的结果为12.25。
7. log函数:用于计算自然对数。
例如,log(1.0)的结果为0,log(10.0)的结果为2.3026。
8. exp函数:用于计算指数函数。
例如,exp(1.0)的结果为2.7183,exp(2.5)的结果为12.1825。
9. sin函数:用于计算正弦值。
例如,sin(0)的结果为0,sin(3.14/2)的结果为1。
10. cos函数:用于计算余弦值。
例如,cos(0)的结果为1,cos(3.14)的结果为-1。
11. tan函数:用于计算正切值。
例如,tan(0)的结果为0,tan(3.14/4)的结果为1。
下面将就每个函数的实际应用进行更详细的介绍。
1. abs函数广泛应用于计算绝对值,常用于计算两个数的差值时取绝对值以保证结果的准确性。
2. ceil和floor函数可以用于数学运算的精确性控制。
详细请查看/cpp/u/math_h//cpp/u/biaozhunku/头文件:#include <math.h>acos() 函数返回一个以弧度表示的反余弦值,其原型为:double acos (double x);【参数】x 为余弦值,范围为-1 到1 之间,超出此范围将会导致错误,并设置errno 的值为EDOM.【返回值】返回0 至π 之间的计算结果,单位为弧度,在函数库中角度均以弧度来表示。
弧度与角度的关系为:弧度= 180 / π 角度角度= π / 180 弧度注意:使用GCC 编译时请加入-lm。
【实例】求0.5 的反余弦。
1.#include <math.h>2.main(){3.double angle;4.angle = acos(0.5);5.printf("angle = %f\n", angle);6.}运行结果:angle = 1.047198又如,由余弦值求对应的角度。
1.#include<stdio.h>2.#include<math.h>3.int main(void)4.{5.double angl,result;6.angl = 1;7.result =acos(cos(angl));/*求反余弦值*/8.printf("acos(%lf) is %lf\n",cos(angl),result);/*格式化输出*/9.angl = 3.1415926;10.result = acos(cos(angl));/*求反余弦值*/11.printf("acos(%lf) is %lf\n",cos(angl),result);/*格式化输出*/12.return 0;13.}运行结果:acos(0.540302) is 1.000000acos (-1.000000) is 3.141593这个例子可以对照余弦函数例子学习,示例中都是使用余弦值作为参数,然后再使用acos() 函数求出该角度以便对比。
Mathematica函数大全--运算符及特殊符号一、运算符及特殊符号Line1;执行Line,不显示结果Line1,line2顺次执行Line1,2,并显示结果name关于系统变量name的信息name关于系统变量name的全部信息!command执行Dos命令n! N的阶乘!!filename显示文件内容<Expr>> filename打开文件写Expr>>>filename打开文件从文件末写() 结合率[]函数{}一个表<*Math Fun*> 在c语言中使用math的函数(*Note*)程序的注释#n第n个参数##所有参数rule& 把rule作用于后面的式子%前一次的输出%%倒数第二次的输出%n第n个输出var::note变量var的注释"Astring "字符串Context ` 上下文a+b 加a-b减a*b或a b 乘a/b除a^b 乘方base^^num以base为进位的数lhs&&rhs且lhs||rhs或!lha非++,-- 自加1,自减1+=,-=,*=,/= 同C语言>,<,>=,<=,==,!=逻辑判断(同c)lhs=rhs立即赋值lhs:=rhs建立动态赋值lhs:>rhs建立替换规则expr//funname相当于filename[expr]expr/.rule将规则rule应用于exprexpr//.rule 将规则rule不断应用于expr知道不变为止param_ 名为param的一个任意表达式(形式变量)param__名为param的任意多个任意表达式(形式变量)二、系统常数Pi 3.1415....的无限精度数值E 2.17828...的无限精度数值Catalan 0.915966..卡塔兰常数EulerGamma 0.5772....高斯常数GoldenRatio 1.61803...黄金分割数Degree Pi/180角度弧度换算I复数单位Infinity无穷大-Infinity负无穷大ComplexInfinity复无穷大Indeterminate不定式三、代数计算Expand[expr]展开表达式Factor[expr]表达式因式分解Factor[poly,Modulus->p] Z p域分解Factor[poly,Extension->{a1, a2,… }] 代数数域分解Factor[poly,GaussianIntegers->True] 复整数域分解Factor[poly,Extension->Automatic]poly的系数所在数域分解(以下函数都可在各数域内进行)Simplify[expr]化简表达式FullSimplify[expr]将特殊函数等也进行化简PowerExpand[expr]展开所有的幂次形式ComplexExpand[expr,{x1,x2...}]按复数实部虚部展开FunctionExpand[expr]化简expr中的特殊函数Collect[expr, x]合并同次项Collect[expr, {x1,x2,...}]合并x1,x2,...的同次项Together[expr]通分Apart[expr]部分分式展开Apart[expr, var] 对var的部分分式展开Cancel[expr]约分ExpandAll[expr]展开表达式ExpandAll[expr, patt] 展开表达式FactorTerms[poly]提出共有的数字因子FactorTerms[poly, x] 提出与x无关的数字因子FactorTerms[poly, {x1,x2...}]提出与xi无关的数字因子Coefficient[expr, form]多项式expr中form的系数Coefficient[expr, form, n]多项式expr中form^n的系数Exponent[expr, form]表达式expr中form的最高指数Numerator[expr] 表达式expr的分子Denominator[expr]表达式expr的分母ExpandNumerator[expr]展开expr的分子部分ExpandDenominator[expr]展开expr的分母部分ExpandDenominator[expr]展开expr的分母部分TrigExpand[expr]展开表达式中的三角函数TrigFactor[expr]给出表达式中的三角函数因子TrigFactorList[expr]给出表达式中的三角函数因子的表TrigReduce[expr]对表达式中的三角函数化简TrigToExp[expr] 三角到指数的转化ExpToTrig[expr]指数到三角的转化RootReduce[expr]ToRadicals[expr]四、解方程Solve[eqns, vars]从方程组eqns中解出varsSolve[eqns, vars, elims] 从方程组eqns中削去变量elims,解出vars DSolve[eqn, y, x]解微分方程,其中y是x的函数DSolve[{eqn1,eqn2,...},{y1,y2...},x]解微分方程组,其中yi是x的函数DSolve[eqn, y, {x1,x2...}]解偏微分方程RSolve[eqn, a[n], n] 解函数方程例1、RSolve u x2x1u x1zu x2,u x,x{{u[x] BesselJ[x,z] C[1]+BesselY[x,z] C[2]}} 2、RSolve[{y[x+2]==ay[x+1]+y[x],y[0]==0,y[1]==1},y,x]RSolve[{eqn1, eqn2, … }, {a1[n], a2[n], …}, n]RSolve[eqn, a[n1, n2, …], {n1, n2, …}]Resolve[expr]Resolve[expr, dom]FindInstance[expr, vars]求不定方程的特解FindInstance[expr, vars, dom]求不定方程的特解(在dom数域内)FindInstance[expr, vars, dom, n]求不定方程的n个特解Eliminate[eqns, vars] 把方程组eqns中变量vars约去SolveAlways[eqns, vars] 给出等式成立的所有参数满足的条件Reduce[eqns, vars] 化简并给出所有可能解的条件Reduce x22y21&&x0&&y0&&x y Integers,x,y LogicalExpand[expr] 用&&和||将逻辑表达式展开InverseFunction[f] 求函数f的逆函数Root[f, k] 求多项式函数的第k个根Roots[lhs==rhs, var] 得到多项式方程的所有根五、微积分函数D[f, x]求f[x]的微分∂f/∂xD[f, {x, n}]求f[x]的n阶微分n f x nD[f,x1,x2..] 求f[x]对x1,x2...偏微分x1x2...fDt[f, x]求f[x]的全微分df/dxDt[f]求f[x]的全微分dfDt[f, {x, n}] n阶全微分df^n/dx^nDt[f,x1,x2..]对x1,x2..的偏微分d d x1d d x2...fIntegrate[f, x] f[x]对x在的不定积分Integrate[f, {x, xmin, xmax}] f[x]对x在区间(xmin,xmax)的定积分Integrate[f, {x, xmin, xmax}, {y, ymin, ymax}] f[x,y]的二重积分Limit[expr, x->x0] x趋近于x0时expr的极限Limit[expr, x->x0, Direction -> 1] x趋近于x0+时expr的极限Limit[expr, x->x0, Direction ->-1] x趋近于x0-时expr的极限Residue[expr, {x,x0}] expr在x0处的留数Series[f, {x, x0, n}] 给出f[x]在x0处的幂级数展开Series[f, {x, x0,nx}, {y, y0, ny}]先对y幂级数展开,再对xNormal[expr]化简并给出最常见的表达式(可截断Series的误差O[x])SeriesCoefficient[series, n]给出级数中第n次项的系数SeriesCoefficient[series, {n1,n2...}]' 或Derivative[n1,n2...][f]一阶导数InverseSeries[s, x] 给出逆函数的级数ComposeSeries[serie1,serie2...] 给出两个基数的组合SeriesData[x,x0,{a0,a1,..},nmin,nmax,den]表示一个在x0处x的幂级数,其中aii 为系数O[x]^n n阶小量x^nO[x, x0]^n n阶小量(x-x0)^n六、多项式函数Variables[poly]给出多项式poly中独立变量的列表CoefficientList[poly, var]给出多项式poly中变量var的系数CoefficientList[poly, {var1,var2...}]给出多项式poly中变量var(i)的系数列? PolynomialMod[poly, m] poly中各系数mod m同余后得到的多项式,m可为整式PolynomialQuotient[p, q, x]以x为自变量的两个多项式之商式p/q PolynomialRemainder[p, q, x] 以x为自变量的两个多项式之余式PolynomialGCD[poly1,poly2,...] poly(i)的最大公因式PolynomialLCM[poly1,poly2,...] poly(i)的最小公倍式PolynomialReduce[poly, {poly1,poly2,...},{x1,x2...}]得到一个表{{a1,a2,...},b}其中Sum[ai*polyi]+b=polyResultant[poly1,poly2,var] 约去poly1,poly2中的varFactor[poly] 因式分解(在整式范围内)FactorTerms[poly] 提出poly 中的数字公因子FactorTerms[poly, {x1,x2...}] 提出poly 中与xi 无关项的数字公因子FactorList[poly] 给出poly 各个因子及其指数{{poly1,exp1},{...}...}FactorSquareFreeList[poly] 同上FactorTermsList[poly,{x1,x2...}] 给出各个因式列表,第一项是数字公因子,第二项是与xi 无关的因式,其后是与xi 有关的因式按升幂的排排?Cyclotomic[n, x] C n x k x e 2i k n (割圆多项式,即单位根的极小多项式)Decompose[poly, x] 迭代分解,给出{p1,p2,...},其中p1(p2(...))=polyInterpolatingPolynomial[data, var] 在数据data 上的插值多项式 data 可以写为{f1,f2..}相当于{{x1=1,y1=f1}..} data 可以写为{{x1,f1,df11,df12,..},{x2,f2,df21..} 可以指定数据点上的n 阶导数值RootSum[f, form] 得到f[x]=0的所有根,并求得Sum[form[xi]]七、随机函数Random[type,range] 产生type 类型且在range 范围内的均匀分布随机数,type 可以为Integer,Real,Complex,不写默认为Real ,range 为{min,max},不写默认为{0,1} Random[] 0~1上的随机实数SeedRandom[n] 以n 为seed 产生伪随机数 如果采用了 <在 2.0版本为 <<"D:\\Math\\PACKAGES\\STATISTI\\Continuo.m"Random[distribution]可以产生各种分布如Random[BetaDistribution[alpha, beta]]stribution[alpha, beta]}Random[NormalDistribution[miu,sigma]]等常用的分布如BetaDistribution,CauchyDistribution,ChiDistribution, NoncentralChiSquareDistribution,ExponentialDistribution, ExtremeValueDistribution,NoncentralFRatioDistribution,GammaDistribution,HalfNormalDistribution, LaplaceDistribution, LogNormalDistribution,LogisticDistribution,RayleighDistribution,NoncentralStudentTDistribution,UniformDistribution, WeibullDistribution八、数值函数N[expr] 表达式的机器精度近似值N[expr, n]表达式的n位近似值,n为任意正整数NSolve[lhs==rhs, var]求方程数值解NSolve[eqn, var, n] 求方程数值解,结果精度到n位NDSolve[eqns, y, {x, xmin, xmax}]微分方程数值解NDSolve[eqns, {y1,y2,...}, {x, xmin, xmax}]FindRoot[lhs==rhs, {x,x0}]以x0为初值,寻找方程数值解FindRoot x52,x,1,WorkingPrecision100精确到100位有效数字FindRoot[lhs==rhs, {x, xstart, xmin, xmax}]NSum[f, {i,imin,imax,di}] 数值求和,di为步长NSum[f, {i,imin,imax,di}, {j,..},..] 多维函数求和NProduct[f, {i, imin, imax, di}]函数求积NIntegrate[f, {x, xmin, xmax}] 函数数值积分优化函数:FindMinimum[f, {x,x0}]以x0为初值,寻找函数最小值FindMinimum[f, {x, xstart, xmin, xmax}]LinearProgramming[c,m,b]解线性组合c.x在m.x>=b&&x>=0约束下的最小值,x,b,c为向量,m为矩阵LatticeReduce[{v1,v2...}]向量组vi的极小无关组数据处理:Fit[data,funs,vars]用指定函数组对数据进行最小二乘拟和data可以为{{x1,y1,..f1},{x2,y2,..f2}..}多维的情况emp: Fit[{10.22,12,3.2,9.9}, {1, x, x^2,Sin[x]}, x]Interpolation[data]对数据进行差值,data同上,另外还可以为{{x1,{f1,df11,df12}},{x2,{f2,.}..}指定各阶导数InterpolationOrder默认为3次,可修改ListInterpolation[array]对离散数据插值,array可为n维ListInterpolation[array,{{xmin,xmax},{ymin,ymax},..}] FunctionInterpolation[expr,{x,xmin,xmax}, {y,ymin,ymax},..]以对应expr[xi,yi]的为数据进行插值Fourier[list] 对复数数据进行付氏变换InverseFourier[list]对复数数据进行付氏逆变换Min[{x1,x2...},{y1,y2,...}]得到每个表中的最小值Max[{x1,x2...},{y1,y2,...}]得到每个表中的最大值Select[list, crit] 将表中使得crit为True的元素选择出来Count[list, pattern] 将表中匹配模式pattern的元素的个数Sort[list] 将表中元素按升序排列Sort[list,p]将表中元素按p[e1,e2]为True的顺序比较list 的任两个元素e1,e2,实际上Sort[list]中默认p=Greater集合论:Union[list1,list2..] 表listi的并集并排序Intersection[list1,list2..]表listi的交集并排序Complement[listall,list1,list2...]从全集listall中对listi的差集九、虚数函数Re[expr]复数表达式的实部Im[expr] 复数表达式的虚部Abs[expr] 复数表达式的模Arg[expr]复数表达式的辐角Conjugate[expr] 复数表达式的共轭十、数的头及模式及其他操作Integer _Integer整数Real _Real实数Complex _Complex复数Rational_Rational 有理数(*注:模式用在函数参数传递中,如MyFun[Para1_Integer,Para2_Real]规定传入参数的类型,另外也可用来判断If[Head[a]==Real,...]*) IntegerDigits[n,b,len]数字n以b近制的前len个码元RealDigits[x,b,len]类上FromDigits[list] IntegerDigits的反函数Rationalize[x,dx] 把实数x有理化成有理数,误差小于dxChop[expr, delta]将expr中小于delta的部分去掉,dx默认为10^-10 Accuracy[x]给出x小数部分位数,对于Pi,E等为无限大Precision[x]给出x有效数字位数,对于Pi,E等为无限大SetAccuracy[expr, n] 设置expr显示时的小数部分位数SetPrecision[expr, n] 设置expr显示时的有效数字位数十一、区间函数Interval[{min, max}] 区间[min, max](* Solve[3 x+2==Interval[{-2,5}],xx]*) IntervalMemberQ[interval, x] x在区间内吗?IntervalMemberQ[interval1,interval2]区间2在区间1内吗?IntervalUnion[intv1,intv2...] 区间的并IntervalIntersection[intv1,intv2...]区间的交十二、矩阵操作a.b.c或Dot[a, b, c]矩阵、向量、张量的点积Inverse[m] 矩阵的逆Transpose[list]矩阵的转置Transpose[list,{n1,n2..}]将矩阵list 第k行与第nk列交换Det[m]矩阵的行列式Eigenvalues[m]特征值Eigenvectors[m]特征向量Eigensystem[m]特征系统,返回{eigvalues,eigvectors}LinearSolve[m, b] 解线性方程组m.x==bNullSpace[m] 矩阵m的零空间,即m.NullSpace[m]==零向量RowReduce[m] m化简为阶梯矩阵Minors[m, k] m的所有k*k阶子矩阵的行列式的值(伴随阵,好像是) MatrixPower[mat, n] 阵mat自乘n次MatrixExp[mat]e matOuter[f,list1,list2..] listi中各个元之间相互组合,并作为f的参数的到的矩矩? Outer[Times,list1,list2]给出矩阵的外积SingularValues[m] m的奇异值,结果为{u,w,v},m=Conjugate[Transpose[u]].DiagonalMatrix[w].vPseudoInverse[m] m的广义逆QRDecomposition[m] QR分解SchurDecomposition[m] Schur分解LUDecomposition[m] LU分解Norm[z]=Abs[z];Norm[v]=Sqrt[v.Conjugate[v]];向量的模(内积开平方)Norm[v, p]=Total[Abs[v^p]]^(1/p)。
函数名称: abs函数原型: int abs(int x);函数功能: 求整数x的绝对值函数返回: 计算结果参数说明:所属文件: <>,<>使用范例:#include <>#include <>int main(){int number=-1234;printf("number: %d absolute value: %d",number,abs(number));return 0;}@函数名称: fabs函数原型: double fabs(double x);函数功能: 求x的绝对值.函数返回: 计算结果参数说明:所属文件: <>使用范例:#include <>#include <>int main(){float number=;printf("number: %f absolute value: %f",number,fabs(number));return 0;}@函数名称: cabs函数原型: double cabs(struct complex znum)函数功能: 求复数的绝对值函数返回: 复数的绝对值参数说明: zuum为用结构struct complex表示的复数,定义如下:struct complex{double m;double n;}所属文件: <>#include <>#include <>int main(){struct complex z;double val;=;=;val=cabs(z);printf("The absolute value of %.2lfi %.2lfj is %.2lf",,,val); return 0;}@函数名称: ceil函数原型: double ceil(double num)函数功能: 得到不小于num的最小整数函数返回: 用双精度表示的最小整数参数说明: num-实数所属文件: <>#include <>#include <>int main(){double number=;double down,up;down=floor(number);up=ceil(number);printf("original number %",number);printf("number rounded down %",down);printf("number rounded up %",up);return 0;}@函数名称: sin函数原型: double sin(double x);函数功能: 计算sinx的值.正弦函数函数返回: 计算结果参数说明: 单位为弧度所属文件: <>使用范例:#include <>int main(){double result,x=;result=sin(x);printf("The sin() of %lf is %lf",x,result);return 0;}@函数名称: cos函数原型: double cos(double x);函数功能: 计算cos(x)的值.余弦函数.函数返回: 计算结果参数说明: x的单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=cos(x);printf("The cosine of %lf is %lf",x,result);return 0;}@函数名称: tan函数原型: double tan(double x);函数功能: 计算tan(x)的值,即计算角度x的正切数值函数返回: 计算结果参数说明: x>=0单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result,x;x=;result=tan(x);printf("The tan of %lf is %lf",x,result);}@函数名称: asin函数原型: double asin(double x);函数功能: 计算sin^-1(x)的值.反正弦值函数函数返回: 计算结果参数说明: x应在-1 到 1 范围内.单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=asin(x);printf("The arc sin of %lf is %lf",x,result);return 0;}@函数名称: acos函数原型: double acos(double x);函数功能: 计算cos^-1(x)的值,反余弦函数函数返回: 计算结果参数说明: x应在-1到1范围内.切记单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=acos(x);printf("The arc cosine of %lf is %lf",x,result);return 0;}@函数名称: atan函数原型: double atan(double x);函数功能: 计算tan^-1(x)的值.函数返回: 计算结果参数说明: 单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=atan(x);printf("The arc tangent of %lf is %lf",x,result);return 0;}@函数名称: atan2函数原型: double atan2(double x,double y);函数功能: 计算tan^-1/(x/y)的值.求x/y的反正切值. 函数返回: 计算结果参数说明: 单位为弧度所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=,y=;result=atan2(y,x);printf("The arc tangent ratio of %lf is %lf",(y/x),result); return 0;}@函数名称: sinh函数原型: double sinh(double x);函数功能: 计算x的双曲正弦函数sinh(x)的值.函数返回: 计算结果参数说明: 单位为弧度所属文件: <>使用范例:#include <>int main(){double result,x=;result=sinh(x);printf("The hyperbolic sin() of %lf is %lf",x,result); return 0;}@函数名称: cosh函数原型: double cosh(double x);函数功能: 计算x的双曲余弦cosh(x)的值.函数返回: 计算结果参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=cosh(x);printf("The hyperboic cosine of %lf is %lf",x,result); return 0;}@函数名称: tanh函数原型: double tanh(double x);函数功能: 计算x的双曲正切函数tanh(x)的值. 函数返回: 计算结果参数说明: x>=0所属文件: <>使用范例:#include <>#include <>int main(){double result,x;x=;result=tanh(x);printf("The hyperbolic tangent of %lf is %lf",x,result);}@函数名称: exp函数原型: double exp(double x);函数功能: 求e的x次幂函数返回: 计算结果.幂的值参数说明: x-指数所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=exp(x);printf("'e' raised to the power of %lf(e^%lf)=%lf",x,x,result); return 0;}@函数名称: floor函数原型: double floor(double x);函数功能: 求出不大于x的最大整数.函数返回: 该整数的双精度实数参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double number=;double down,up;down=floor(number);up=ceil(number);printf("original number %",number);printf("number rounded down %",down);printf("number rounded up %",up);return 0;}@函数名称: fmod函数原型: double fmod(double x,double y);函数功能: 求整数x/y的余数函数返回: 返回余数的双精度数.x/y的余数值.参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double x=,y=;double result;result=fmod(x,y);printf("The remainder of (%lf/%lf) is %lf",x,y,result);return 0;}@函数名称: frexp函数原型: double frexp(double val,int *eptr);函数功能: 把双精度数val分解为数字部分(尾数)x和以2为底的指数n,即val=x*2^n,n存放在eptr 指向的变量中.函数返回: 返回数字部分x,<=x且x<1参数说明: val-待分解的数所属文件: <>使用范例:#include <>#include <>int main(){double mantissa,number;int exponent;number=;mantissa=frexp(number,&exponent);printf("The number %lf is",number);printf("%lf times two to the",mantissa);printf("power of %d",exponent);return 0;}@函数名称: log函数原型: double log(double x);函数功能: 求logeX(e指的是以e为底),即计算x的自然对数(ln X)函数返回: 计算结果参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=log(x);printf("The natural log of %lf is %lf",x,result);return 0;}@函数名称: log10函数原型: double log10(double x);函数功能: 求log10x(10指的是以10为底).计算x的常用对数函数返回: 计算结果参数说明:所属文件: <>使用范例:#include <>#include <>int main(){double result;double x=;result=log10(x);printf("The common log of %lf is %lf",x,result);return 0;}@函数名称: modf函数原型: double modf(double val,double *iptr);函数功能: 把双精度数val分解为整数部分和小数部分,把整数部分存到iptr指向的单元. 函数返回: val的小数部分参数说明: val 待分解的数所属文件: <>使用范例:#include <>#include <>int main(){double fraction,integer;double number=;fraction=modf(number,&integer);printf("The whole and fractional parts of %lf are %lf and%lf",number,integer,fraction);return 0;}@函数名称: pow函数原型: double pow(double x,double y);函数功能: 计算以x为底数的y次幂,即计算x^y的值. 函数返回: 计算结果参数说明: x-底数,y-幂数所属文件: <>使用范例:#include <>#include <>int main(){double x=,y=;printf("%lf raised to %lf is %lf",x,y,pow(x,y));return 0;}@函数名称: sqrt函数原型: double sqrt(double x);函数功能: 计算x的开平方.函数返回: 计算结果参数说明: x>=0所属文件: <>使用范例:#include <>#include <>int main(){double x=,result;result=sqrt(x);printf("The square root of %lf is %lf",x,result);return 0;}@函数名称: hypot函数原型: double hypot(double x,double y)函数功能: 已知直角三角形两个直角边长度,求斜边长度函数返回: 斜边长度参数说明: x,y-直角边长度所属文件: <>#include <>#include <>int main(){double result;double x=;double y=;result=hypot(x,y);printf("The hypotenuse is: %lf",result);return 0;}@函数名称: poly函数原型: double poly(double x,int degree,double coeffs[]) 函数功能: 计算多项式函数返回: 多项式的计算结果参数说明: 计算c[n]*x^n+c[n-1]x^n-1+.....+c[1]*x+c[0]所属文件: <>#include <>#include <>int main(){double array[]={,,,};double result;result=poly,3,array);printf("The polynomial: x**3 - **2 + 5x - 1 at is %lf",result); return 0;}@函数名称: matherr函数原型: int matherr(struct exception *e)函数功能: 数学错误计算处理程序函数返回:参数说明: 该函数不能被直接调用,而是被库函数_matherr()调用所属文件: <>#include<>int matherr(struct exception *a){return 1;}@函数名称: ldexp函数原型: double ldexp(double x,int exponent)函数功能: 计算x*2的exponent次幂,即2*pow(2,exponent)的数值函数返回:参数说明:所属文件: <>#include <>#include <>int main(){double value;double x=2;value=ldexp(x,3);printf("The ldexp value is: %lf",value);return 0;}int abs(int i) 返回整型参数i的绝对值double cabs(struct complex znum) 返回复数znum的绝对值double fabs(double x) 返回双精度参数x的绝对值long labs(long n) 返回长整型参数n的绝对值double exp(double x) 返回指数函数ex的值double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中double ldexp(double value,int exp); 返回value*2exp的值double log(double x) 返回logex的值double log10(double x) 返回log10x的值double pow(double x,double y) 返回xy的值double pow10(int p) 返回10p的值double sqrt(double x) 返回+√x的值double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度double atan(double x) 返回x的反正切tan-1(x)值,x为弧度double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度double cos(double x) 返回x的余弦cos(x)值,x为弧度double sin(double x) 返回x的正弦sin(x)值,x为弧度double tan(double x) 返回x的正切tan(x)值,x为弧度double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度double hypot(double x,double y) 返回直角三角形斜边的长度(z),x和y为直角边的长度,z2=x2+y2double ceil(double x) 返回不小于x的最小整数double floor(double x) 返回不大于x的最大整数void srand(unsigned seed) 初始化随机数发生器int rand() 产生一个随机数并返回这个数double poly(double x,int n,double c[])从参数产生一个多项式double modf(double value,double *iptr)将双精度数value分解成尾数和阶double fmod(double x,double y) 返回x/y的余数double frexp(double value,int *eptr) 将双精度数value分成尾数和阶double atof(char *nptr) 将字符串nptr转换成浮点数并返回这个浮点数double atoi(char *nptr) 将字符串nptr转换成整数并返回这个整数double atol(char *nptr) 将字符串nptr转换成长整数并返回这个整数char *ecvt(double value,int ndigit,int *decpt,int *sign)将浮点数value转换成字符串并返回该字符串char *fcvt(double value,int ndigit,int *decpt,int *sign)将浮点数value转换成字符串并返回该字符串char *gcvt(double value,int ndigit,char *buf)将数value转换成字符串并存于buf中,并返回buf的指针char *ultoa(unsigned long value,char *string,int radix)将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数char *ltoa(long value,char *string,int radix)将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数char *itoa(int value,char *string,int radix)将整数value转换成字符串存入string,radix为转换时所用基数double atof(char *nptr) 将字符串nptr转换成双精度数,并返回这个数,错误返回0int atoi(char *nptr) 将字符串nptr转换成整型数, 并返回这个数,错误返回0long atol(char *nptr) 将字符串nptr转换成长整型数,并返回这个数,错误返回0 double strtod(char *str,char **endptr)将字符串str转换成双精度数,并返回这个数,long strtol(char *str,char **endptr,int base)将字符串str转换成长整型数,并返回这个数,int matherr(struct exception *e)用户修改数学错误返回信息函数(没有必要使用)double _matherr(_mexcep why,char *fun,double *arg1p,double *arg2p,double retval)用户修改数学错误返回信息函数(没有必要使用)unsigned int _clear87() 清除浮点状态字并返回原来的浮点状态void _fpreset() 重新初使化浮点数学程序包unsigned int _status87() 返回浮点状态字。