您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > Mathcad2001-数学运算-函数运算
3.函数运算(1)简单算术运算Mathcad2001可以作为一个计算器使用,用户只要在工作页上输入变量的值,如a:=100.6b:=58.4然后就可以用等号来进行各种简单的算术运算,如加:a+b=159减:a-b=42.2乘:a*b=5.875×103平方根:n次方根:指数:642.703.10ba651.43a88.33b11610948.8ba(2)三角函数和反三角函数Mathcad2001提供下列三角函数和反三角函数:sin(z)(正弦函数)、cos(z)(余弦函数)、tan(z)(正切函数)、cot(z)(余切函数)、sec(z)(正割函数)、csc(z)(余割函数)、asin(z)(反正弦函数)、acos(z)(反余弦函数)、atan(z)(反正切函数)、acot(z)(反余切函数)、asec(z)(反正割函数)、acsc(z)(反余割函数)。Mathcad2001缺省以弧度为单位进行三角函数的计算,如:x:=3.34sin(x)=-0.197tan(x)=0.201Mathcad2001没有提供弧度向角度转换的函数,但可以通过输入内置的单位deg来进行角度的转换,如角度为200度,可用下法转换成弧度:x:=200x:=x*degx=3.491所得到的反三角函数的结果缺省也为弧度。如:asin(0.2)=0.201要转换成弧度,可单击此式,并在右侧占位符上输入deg,然后单击此区域外部,如:asin(0.2)=11.537degMathcad2001还提供两个返回角度的函数:angle(x,y):返回平面上从x正坐标轴到点(x,y)的夹角,其值为0到2π。atan2(x,y):返回平面上从x正坐标轴到点(x,y)的夹角,其值为-π到π。与acot(z)函数相比,atan2(x,y)的输入只能是实数,而acot(z)的输入可为复数或实数,其结果为0到π。如:angle(10,5)=0.464atan2(-10,-5)=-2.678其单位也为弧度,可以使用上述方法进行角度转换。(3)对数和指数函数Mathcad2001提供三个对数和指数函数,它们是:Exp(z):返回e的z次幂。Ln(z):返回z的自然对数(z≠0)。Log(z,b):返回z的以b为基的对数(z≠0,b≠0),如果输入的参数中省略基b,则返回以10为基的对数。例如:x:=5.67b:=2自然对数:ln(x)=1.735以10为底对数:log(x)=0.754以2为基的对数:log(x,b)=2.503指数:exp(x)=290.035(4)复数Mathcad2001提供下列复数函数:Arg(z):返回复平面从实轴到z的夹角,结果为从-π到π。csgn(z):返回复数的符号,当z=0时返回0;当Re(z)0或Re(z)=0且Im(z)0时返回1;其它值返回-1。Im(z):返回z的虚部。Re(z):返回z的实部。sigmum(z):返回单位向量,当z=0时返回1,否则返回z/|z|。例如:z:=1-iarg(z)=-0.785csgn(z)=1Im(z)=-1Re(z)=1signum(z)=0.707-0.707i|z|=1.414izz707.0707.0(5)近似函数Mathcad2001提供下列近似函数:ceil(x):返回大于或等于x的最小整数,其中x必须是实数。floor(x):返回小于或等于x的最大整数,其中x必须是实数。round(x,n):对实数x在第n位小数上进行四舍五入。例如:x:=356.123456789ceil(x)=357floor(x)=356round(x,3)=356.123round(x,4)=356.1235(6)解方程和方程组Mathcad2001提供下列求解和优化方程的内置函数:find(x,y,...):求解方程或方程组的未知解。minerr(x,y,...):求解方程或方程组的近似未知解。root(f(x),x,a,b):求解方程的根。isolve(M,v):求方程的解。polyroots(v):求多项式的根。minimize(f,var1,var2,...):求满足条件的优化最小值。maximize(f,var1,var2,...):求满足条件的优化最大值。(a)用root函数求解一般方程的根对各种类型的方程,要给出一个通用的求根解析表达式是不可能的。“root”函数是Mathcad2001中一个用Mathcad编程语言写成的内置函数,其算法就是数值求根的割线法。割线法就是从一个初始点开始(这个初始点就是我们给出的根的估计值),与在方程函数曲线上邻近的一个点作曲线的割线,找到割线与横坐标轴的交点。从交点出发再作曲线的割线,不断用割线与横坐标轴的交点去逼近曲线与横坐标轴的交点(即方程的解)。用root求根函数几乎可以求解所有类型的一元方程,其缺点是必须先给出一个根的估计值。root函数是专用的求根函数,其调用格式可有两种形式:①root(expr,var);②r:=root(expr,var)。式中有两个参数:“expr”是求解方程的函数名或表达式;“var”是根的估计值(guessvalue),即直观上对方程根的一个估计。大多数函数方程都可能存在着多根,此时根的估计是一个较为困难的问题。下面我们以一个解方程根的例子来说明如何估算方程的根。例1:求下式为0时的根f(x):=ln(x2+1)-sin(x)-4首先应该估计一下此方程根的范围。由于sin(x)取值在0和1之间,因此ln(x2+1)的最大值为5,这样可算得根x的范围大约在-12~12,即根可能是这范围内的一个任意数。根的估算有两种方法,第一种是使用随机函数rnd,即根可能是下列函数中的一个或数个:r:=rnd(24)-12r=-11.97root(f(r),r)=-11.475单击上面的“r:=rnd(24)-12”语句,重复按F9键,可以在root(f(r),r)=中观察到所给出根的变化,把这些数值代入方程即可求出所合适的根,如-11.475、-6.514、4.449等。第二种方法是画出此函数的X-Y坐标图(如图27所示)。图27从图中可以看出,此方程有六个根,数值大约为-11.5、-10.1、-6.5、4.5、5.8、9.1,再把它们依次代入root函数中,即可求出此方程根的近似值,如:x:=-11.5root(f(x),x)=-11.475x:=-10.1root(f(x),x)=-10.117………………………最后可得六个根分别是-11.475、-10.117、-6.514、4.449、5.817、9.005。由于求根函数root的算法是数值法,得到的根是近似值。系统缺省数据的显示精度为15位,如果用户对这精度不满意,可在求解之前重新定义误差控制常数TOL。大部分方程的根是实数,但是也有少部分方程可能得到复数根,如例2。例2:求下式为0时的根f(x):=2x2-5x+4这时用作图法无法看出根的近似值,应考虑是否为复数解。使用随机函数:r:=rnd(100)-50r=-40.859root(f(r),r)=1.25-0.661i单击上面的“r:=rnd(100)-50”语句,重复按F9键,可以在root(f(r),r)=中观察到所给出根的变化,即只有两个复数根:1.25-0.661i和1.25+0.661i。也可使用估值:x:=1+iroot(f(x),x)=1.25+0.661ix:=-1-5iroot(f(x),x)=1.25-0.661i也是只有两个复数根:1.25-0.661i和1.25+0.661i。(b)用函数polyroots求多项式方程的根方程表达式为多项式的方程叫做多项式方程。虽然也可用root求根函数求解多项式方程的根,但十分麻烦。为此,Mathcad2001专门设计了函数polyroots,它可以方便地求出一个多项式所有的根。它并不需要根的估计值。多项式的一般形式为:c0+c1x+c2x2+……+cnxn其中系数可以是实数或复数。在Mathcad2001中,把多项式的系数记为向量形式,即:它被称为多项式的系数向量,系数向量的个数就是多项式的阶数。Mathcad2001规定最高阶数的系数cn不能为零,而低阶系数可以为零,但要占据nccccc210:相应的位置。即系数向量分量的个数不能少,次序不能乱,在所缺少项的相应位置一定要输入0,不可跳过。多项式的阶等于函数中自变量的最高次幂,n次多项式共有n个根,实系数多项式的复根是共轭出现的。对于高次多项式求根,常用的解析解法是配方法,即把高次多项式化为一些一次或二次多项式的乘积,这有时需要很高的技巧。解多项式的数值解法与解一般函数方程的数值解法相同。求根函数polyroots是一个单自变量函数,使用格式为:polyroots(v)polyroots的自变量,即参数是一个向量,它就是多项式函数的系数向量。其返回值也是一个向量,即多项式的根向量。例:求下列多项式的根:f(x):=x3-10x+2系数向量是:调用求根函数:r:=polyroots(c)求得根向量为:10102c057.3201.0258.3r或根向量的转置矩阵:用polyroots函数求解高次多项式时,有时会产生较大的误差,这不能用改变求解精度TOL来解决。先用polyroots函数求得多项式的根,将这些根依次代入多项式进行检验。将误差较大的根作为根的估计值,再用root求根函数求解多项式的根,可提高所得根的精度。057.3201.0258.3Tr(c)求解模块及求解方程组求解模块(SolveBlock)不是一个函数,而是一个独特的结构,或可看作Mathcad2001中的一个特殊的程序。利用它可以求解方程组,即使要求解的方程组没有根,也会给出一组根,并满足误差最小的条件。求解模块的结构是先给出一组根的估计值;然后使用关键词Given(大、小写或大小写混合使用均可);接着是方程组;最后使用关键词Find。例:根的估计值:x:=1y:=1关键词:Given方程组:x+y=6(圆)x+y=2(直线)(方程组中等号要用“Ctrl+=”输入)关键词:Find(x,y)=求出一个根414.2414.0再次使用根估计值x:=-1y:=1重复上述步骤可得另一个根:414.0414.2),(yxFind(d)不等式方程求解使用求解模块还可以求解不等式方程或不等式方程组。例:求解不等式(x-1)(3x-5)(x-4)0解:不等式的解是一个或几个区域,先画出f(x):=(x-1)(3x-5)(x-4)的X-Y坐标图(如图28所示)。从图中可以看出此不等式的解是两个区域,一个在1到1.7之间,另一个是大于等于4。下面再使用求解模块来精确求解。图28根的估计值:x:=0关键词:Given不等式:(x-1)(3x-5)(x-4)0(注:用Ctrl+0输入大于等于符“”或使用工具面板中的相应布尔运算符)关键词:Find(x)=1.6再次使用根估计值x:=1、x:=2、x:=3时重复上述步骤均得到根1~1.6,而使用根估计值x:=4时得到根为4。可见此不等式的两个区域分别是1≤x≤1.6和4≤x≤。(e)用lsolve函数求解线性方程函数lsolve(M,v)返回线性方程组Mx=v的解向量,其中参数M是一个方阵,非奇异矩阵。我们把行列式值为0的矩阵称为奇异矩阵,而把行是线性独立的矩阵称为非奇异矩阵;v是维数和M矩阵行数相等的向量。例:有如下线性方程组001.09.87.87.21.801.01.49.107.93.71.05.63.08.15.411.16.62.03.0zyxwzyxwzyxwzyxw其系数矩阵为;其常数项向量为:v10.10.010.001M0.34.57.38.10.21.
本文标题:Mathcad2001-数学运算-函数运算
链接地址:https://www.777doc.com/doc-3383606 .html