CASIO fx-4500PA实用程序

【作者声明】


  本文所有文字均为作者原创,所有图片均为作者本人真实拍摄或制作。

  版权所有,仅供阅读欣赏,严禁任何单位或个人以任何形式转载、复制、引用、抄袭、截图、模仿、翻译本评测的部分或全部内容(包括但不限于文字、图片)。

  作者保留所有权利。

  请尊重作者劳动成果,谢谢合作。


前言

  fx-4500PA是由20世纪90年代的fx-4500P升级而来的一款高级可编程科学计算器,直到2010年之后才停产(具体停产年份不详)。其功能与计算速度和fx-4500PA完全一致,拥有1103步编程字节数,程序采用文件管理的形式,可以互相嵌套调用。但fx-4500P只具备基本的计算与编程功能,对于常用的解方程等功能无法直接实现。此外,其内置的定积分功能使用的是辛普森积分法,速度慢、精度差,难以满足计算需求。有鉴于此,这里提供fx-4500PA的六个程序文件,分别实现牛顿法解方程、高斯-克朗罗德数值积分、牛顿法解二元方程组三个功能。录入本文所提供的程序(包括示例)之后,将占用880字节,此外定积分程序还需动态占用120字节,剩余103字节用于输入比较复杂的方程或函数。

程序文件说明

【F1:EQN】
以“Y=f(X)”的形式写入需要求解的方程“f(X)=0”,或者写入定积分的被积函数,是F2和F3共用的程序。

【F2:SOLVE】
牛顿法解方程的主程序,在F1中写好需要求解的方程之后执行此程序,输入初值X0,等待一会即可给出方程的一个解。

【F3:GAUSS INT】
高斯-克朗罗德(Gauss-Kronrod)数值积分法的主程序,在F1中写好被积函数之后,运行F4,再执行此程序,输入积分下限、积分上限,等待一会即可得到精度较高的积分结果。

【F4:GAUSS POINT】
高斯-克朗罗德(Gauss-Kronrod)数值积分法中使用的高斯点以及权函数的值,本程序采用15点高斯-克朗罗德数值积分法,对于一般的定积分,能保证和目前流行的科学计算器的积分结果基本一致。

【F5:EQN 2】
以“P=f1(X,Y),Q=f2(X,Y)”的形式写入需要求解的二元方程组{f1(X,Y)=0,f2(X,Y)=0}。

【F6:SOLVE 2】
牛顿法解二元方程组的主程序,在F5中写好需要求解的方程组之后执行此程序,输入初值X0和Y0,等待一会即可给出方程的一组解。

程序代码

说明:以下程序仅适用于fx-4500P、fx-4500PA,其中“=>”是一个整体符号,表示条件判断;“ \ ”代替条件判断结束符号(空心三角形,按[2ndF]、[√¯]所输入的符号);“^”代表“x^y”符号。

【F1:EQN】(可根据需要修改)

L1:  Y=eXsin X

【F2:SOLVE】

L1:  Lbl 0
L2:  S=1E-5
L3:  {A}:A"X0="
L4:  A=0=>A=S\
L5:  Lbl 1
L6:  X=A:Prog EQN:Q=Y
L7:  X=A+S:Prog EQN:R=(Y-Q)/S
L8:  Abs (Q/R/A)<5e-10=>A:"X="◢Goto 0\
L9:  A=A-Q/R
L10: Goto 1

【F3:GAUSS INT】

L1:  {A}:A"A=":{B}:B"B="
L2:  Rad
L3:  S=0:T=1
L4:  Lbl 0
L5:  X=Z[T](B-A)/2+(B+A)/2
L6:  Prog EQN
L7:  S=S+C[T]Y(B-A)/2
L8:  T=T+1
L9:  T<=15=>Goto 0\
L10: Defm 0:S:"∫(F(X))="

【F4:GAUSS POINT】

L1:  Defm 15
L2:  Z[1]=-9.914553711E-1
L3:  Z[2]=-9.491079123E-1
L4:  Z[3]=-8.648644234E-1
L5:  Z[4]=-7.415311856E-1
L6:  Z[5]=-5.860872355E-1
L7:  Z[6]=-4.058451514E-1
L8:  Z[7]=-2.077849550E-1
L9:  Z[8]=0
L10: D=2.293532201E-2
L11: E=6.309209263E-2
L12: F=1.047900103E-1
L13: G=1.406532597E-1
L14: H=1.690047266E-1
L15: I=1.903505781E-1
L16: J=2.044329401E-1
L17: K=2.094821411E-1
L18: T=9:Lbl 0
L19: Z[T]=-Z[16-T]:C[T]=C[16-T]:T=T+1
L20: T<=15=>Goto 0\
L21: 0:"END"

【F5:EQN 2】(可根据需要修改)

L1:  P=X^3+Y^3-4
L2:  Q=X^4+Y²-3

【F6:SOLVE 2】

L1:  Lbl 0
L2:  S=1E-5
L3:  {A}:A"X0=":{B}:B"Y0="
L4:  A=0=>A=S\B=0=>B=S\
L5:  Lbl 1
L6:  X=A:Y=B:Prog EQN 2:G=P:H=Q
L7:  X=A+S:Prog EQN 2:I=(P-G)/S:J=(Q-H)/S
L8:  X=A:Y=B+S:Prog EQN 2:K=(P-G)/S:L=(Q-H)/S
L9:  N=(IL-JK)^-1:U=KH-GL:V=GJ-HI
L10: Abs (NU/A)<5E-10=>Abs (NV/B)<5E-10=>A:"X="◢B:"Y="◢Goto 0\\
L11: A=A+NU:B=B+NV
L12: Goto 1

运行效果举例

使用【F1:EQN】中已定义的函数y=exp(x)×sin(x),计算从0到π的定积分。

第一步:运行程序【F4:GAUSS POINT】,存储高斯点与权函数的值。

第二步:运行程序【F3:GAUSS INT】。

第三步:输入积分下限A的值,按[0]、[=]。

第四步:输入积分上限B的值,按[SHIFT]、[EXP]、[=]。

等待一段时间后,就出现了结果:

fx-5800P编程将矩阵化为行最简形

【作者声明】


  本文所有文字均为作者原创,所有图片均为作者本人真实拍摄或制作。

  版权所有,仅供阅读欣赏,严禁任何单位或个人以任何形式转载、复制、引用、抄袭、截图、模仿、翻译本评测的部分或全部内容(包括但不限于文字、图片)。

  作者保留所有权利。

  请尊重作者劳动成果,谢谢合作。


前言

  fx-5800P是CASIO在2006年发布的一款可编程的科学计算器,拥有许多高级的函数计算功能,具备比较完整的类BASIC语言,广泛应用在各个领域。其中的矩阵计算功能可以定义并计算Mat A~Mat F六个最大10×10的矩阵,然而由于上市时间较早,且一直没有更新的缘故,其矩阵计算也只有行列式(det)、转置(Trn)、逆矩阵等简单的功能,没有最常用的矩阵化简(Rref)功能。比fx-5800P更高级的fx-9750GII、fx-9860系列、fx-CG系列等图形计算器均具备这一功能,且能够直接对矩阵施行初等行变换操作。了解线性代数的朋友都知道,将矩阵变为行最简形的过程,能够在求逆矩阵、矩阵的秩、解线性方程组、向量组的线性相关性、求解特征向量等等场合都要用到,而fx-5800P的矩阵功能能够计算矩阵的大小和数量比较可观,却没有Rref功能,实在可惜。有鉴于此,我们在这里给出fx-5800P简化矩阵的程序算法,以供参考。

数学基础

对于任意的矩阵A[m×n],总能够经过有限次的初等行变换将其化为行最简形矩阵,即非零行的第一个非零元都是1,且这些非零元所在的列的其他元素都是0。行最简形矩阵是通过矩阵的初等行变换得来的,矩阵的初等行变换包含以下三种:

(1)对调矩阵的两行,例如对调i,j两行,记为ri↔rj;
(2)以一个不为0的数k乘以某一行中的所有元素,例如第i行乘k,记作ri×k;
(3)将某一行的所有元素乘以k之后,然后加到另一行对应的元素上,例如第j行乘以k加到第i行,记作ri+k×rj。

  三种初等行变换都是可逆的,且逆变换都是同一类型的初等变换。

  例如我们求解线性方程组,直接根据方程组写出增广矩阵:

然后对增广矩阵作初等行变换:

根据行最简形矩阵,我们可以直接写出方程组的解(其中k为任意常数):

x={x1, x2, x3, x4}={k+4, k+3, k, -3}

程序算法

  fx-5800P现有的矩阵相关的功能除了上面所列举的,在程序中还可以直接输入矩阵,以及调用、修改矩阵的元素。有了这些关键的功能,我们就能够在程序中实现矩阵的简化了。

(1)矩阵的定义
  我们可以直接在计算模式下的[FUNCTION]-[MATRIX]菜单中的“EDIT”选择矩阵Mat A定义,也可以直接在程序中对Mat A赋值一个矩阵。由于fx-5800P没有Dim指令,没有办法获取矩阵的行数和列数的信息,因此需要在程序开头提示输入行数与列数,分别赋值给变量R和C。

(2)施行第一类初等行变换——交换
  初等变换的过程可以机械化,从第1行第1列的元素开始,按列的顺序进行初等行变换,不需要额外考虑像上例中第一步“r1↔r2”这样的交换过程。但是如果在简化过程中遇到非零行中本应该是第一个非零元的元素是0的时候,这时候就要去寻找所在的列上有没有不为0的元素,然后和找到的这个元素所在的行进行对换,这样就对应了第一类初等行变换操作。如果某一列的元素都是0,那么就继续化简下一列,目标非零元所在的行不变。

(3)施行第二类初等行变换——归一
  在(2)的条件下,找到非零行的第一个非零元之后,这一行的所有元素都乘以这个非零元的倒数,完成第二类初等行变换操作。

(4)施行第三类初等行变换——化零
  完成(3)之后,便可以找到对应列上不为0的元素,用这个元素的相反数作为系数,乘上已经化为1的非零行,加到这个元素对应的这一行上去,使其变为0,这样就简化完一列元素了,当处理的列数和行数相等的时候,结束程序,否则回到第(2)步简化下一列,目标非零元所在的行数加一。

计算器程序

程序名:MAT-RREF

  源矩阵统一定义在Mat A中,用于变换的矩阵是Mat F。依照上述算法,即有下面的程序(For循环较多,加入缩进表示更直观):

Lbl 0
"MAT IS ALREADY  DEFINED?"(询问矩阵是否已定义好)
"1:YES   2:NO  "?→F
If F≠1 And F≠2
    Then Goto 0
IfEnd
"ROW="?→R(输入行数)
"COL="?→C(输入列数)
If F=2
    Then "MAT=[[,][]...]"?→Mat A(没有定义好矩阵的时候,可以直接在程序中以线性形式输入矩阵)
IfEnd
Mat A→Mat F
1→I
For 1→J To C
    For 1→N To R-I
        If Mat F[I,J]=0(交换)
            Then For 1→E To C
                     Mat F[I+N,E]→T
                     Mat F[I,E]→Mat F[I+N,E]
                     T→Mat F[I,E]
                 Next
        IfEnd
    Next
    If Mat F[I,J]≠0(归一)
        Then 1/Mat F[I,J]→S
        For 1→E To C
            S×Mat F[I,E]→Mat F[I,E]
        Next
        For 1→K To R(化零)
            If K≠I
                Then -Mat F[K,J]→S
                For 1→E To C
                    S×Mat F[I,E]+Mat F[K,E]→Mat F[K,E]
                Next
            IfEnd
        Next
        Isz I
    IfEnd
    If I=R+1
        Then Mat F[R,J]=1⇒Break
        Dsz I
    IfEnd
Next
Mat F

运行效果

  运行程序“MAT-RREF”,这里选择未定义矩阵,直接在运行过程中输入矩阵。先输入行数4、列数5,然后按下图的方式输入矩阵,这里使用的是前面例子里面的增广矩阵。

输入完之后按[EXE],等待一会即可得到矩阵计算的结果,按方向键查看完整的矩阵:

总结

  这一程序不仅填补了fx-5800P无法简化矩阵的功能空缺,整个程序的算法也是值得借鉴的,可以在各种可编程的计算器上实现(前提是拥有矩阵计算功能)。如果将矩阵变量替换为二维数组,稍加修改之后还能应用到各类计算机程序语言中,处理更大的矩阵以及更复杂的线性方程组求解等问题。

图形计算器编程绘图应用——图解一阶微分方程

【作者声明】


  本文所有文字均为作者原创,所有图片均为作者本人真实拍摄或制作。

  版权所有,仅供阅读欣赏,严禁任何单位或个人以任何形式转载、复制、引用、抄袭、截图、模仿、翻译本评测的部分或全部内容(包括但不限于文字、图片)。

  作者保留所有权利。

  请尊重作者劳动成果,谢谢合作。


前言

  一阶微分方程是最常见的一类微分方程。我们在《高等数学》等课程中学过一些微分方程的解法,例如齐次方程、线性方程等等。然而在实际应用中,我们更关心的是微分方程在某个初始条件下的特解,并且很多微分方程无法使用通常的初等积分法求解,这时运用数值法或几何法求解微分方程的优势就体现出来了。
这里运用几何法来求解微分方程,即先绘制出微分方程的斜率场,然后在斜率场中从初始条件开始绘制微分方程特解对应的积分曲线。其实,有很少的一部分图形计算器(一般是具有CAS功能的图形计算器)拥有内置的绘制微分方程斜率场的功能,然而大多数图形计算器却不具备这种功能,因此本文利用图形计算器的编程绘图功能,编写程序绘制微分方程斜率场,进而再画出积分曲线。

数学原理

一、微分方程斜率场

  当一阶微分方程y’=f(x,y)不能或无法轻易地运用一般方法求出解的时候,可以采用近似解法求解。设该方程右边的函数f(x,y)在某区域D内有定义,那么过D内的每一点M(x,y)都可以作一条以f(x,y)为斜率的直线,即对于D内的每一点,都确定一个斜率值与之对应,即该微分方程在区域D内确定了一个斜率场。以点M为起点的或点M附近的一个线段,能直观地表示D内过该点的积分曲线的斜率。如果D内的一条曲线在任意一点的切线斜率都和斜率场在该点处的线段斜率一致,那么这条曲线就是该微分方程的一条积分曲线。
  在这篇文章中,我们不涉及关于一阶微分方程初值问题是否有解、解是否唯一的讨论,总是假定所讨论的一阶微分方程初值问题的解都是存在且唯一的。

二、常微分方程初值问题的数值解法

  常微分方程初值问题的数值解法有很多,例如欧拉(Euler)法、龙格-库塔(Runge-Kutta)方法、亚当斯(Adams)方法等等,本文使用四阶龙格-库塔方法作为积分曲线绘制的算法。算法如下:

对于微分方程y’=f(x,y),有初始条件y(x0)=y0,那么:y[n+1]=y[n]+h(k1+2·k2+2·k3+k4)/6,其中
k1=f(x[n],y[n])
k2=f(x[n]+h/2,y[n]+h·k1/2)
k3=f(x[n]+h/2,y[n]+h·k2/2)
k4=f(x[n]+h,y[n]+h·k3)
h为迭代的步长值。

程序方案

一、程序文件

  为了保护程序代码不被修改,我们将程序分为绘图主程序(DIFFGRPH)与微分方程程序(DIFFEQN)两部分,绘图主程序用于绘制斜率场及积分曲线,作为程序入口调用,无需修改;微分方程程序仅需要写入绘制的微分方程,根据需要进行修改。

二、斜率场绘制

  按照一般图形计算器的屏幕大小,将屏幕视窗区域分为8行,然后按照行宽划分纵列,这样屏幕就被划分为很多个小正方形区域,以小正方形区域中心为起点,绘制过该点的斜率场线段。

三、绘制给定初始条件的积分曲线

  在斜率场绘制完成后,输入初始条件,迭代的步长值默认使用计算器的绘制间隔,即可开始积分曲线的绘制。为了突出显示初始条件,可以以初始条件点为圆心,画一个半径很小的圆,然后向X值增大的方向绘制积分曲线,再回到初始条件,向X值减小的方向绘制积分曲线,使得曲线贯穿整个屏幕。

四、颜色分配

  如果是彩屏图形计算器,最好在绘图的时候加上颜色指令,让斜率场线段、初始条件、积分曲线分别以三种颜色显示,得到更好的绘图效果。

程序算法

  我们分别以CASIO的fx-CG50图形计算器和德州仪器的TI-84 Plus为例进行说明,求解的微分方程为y’=sin x cos y,初始条件为x=-π/2,y=0。

CASIO fx-CG50

绘图主程序(DIFFGRPH):
 Cls
 Rad
 (Xmax-Xmin)÷32→E
 (Ymax-Ymin)÷16→I
 For Xmin+E→A To Xmax-E Step 2E
 For Ymax-I→B To Ymin+I Step -2I(使用For循环划分正方形小区域)
 A→X
 B→Y
 Prog "DIFFEQN"
 Green F-Line A-0.5Icos tan⁻¹ P,B-0.5Isin tan⁻¹ P,A+0.5Icos tan⁻¹ P,B+0.5Isin tan⁻¹ P
 (使用绿色线以正方形小区域中心为基准,以该点为中心,按照该点的斜率值绘制一段线段)
 Next
 Next
 "X0="?→W
 "Y'(X0)="?→Z(输入初始条件)
 Z→R
 (Xmax-Xmin)/128→H
 Blue Circle W,Z,2H(用蓝色突出显示初始条件点)
 For W→A To Xmax Step H(向X值增大的方向绘制积分曲线)
 A→U
 Z→V
 A→X
 Z→Y
 Prog "DIFFEQN"
 P→J
 A+H÷2→X
 Z+HJ÷2→Y
 Prog "DIFFEQN"
 P→K
 Z+HK÷2→Y
 Prog "DIFFEQN"
 P→L
 A+H→X
 Z+HL→Y
 Prog "DIFFEQN"
 P→M
 Z+H(J+2K+2L+M)÷6→Z
 Red F-Line U,V,X,Z(用红色绘制积分曲线)
 Next
 R→Z
 For W→A To Xmin Step -H(向X值减小的方向绘制另一半积分曲线)
 A→U
 Z→V
 A→X
 Z→Y
 Prog "DIFFEQN"
 P→J
 A-H÷2→X
 Z-HJ÷2→Y
 Prog "DIFFEQN"
 P→K
 Z-HK÷2→Y
 Prog "DIFFEQN"
 P→L
 A-H→X
 Z-HL→Y
 Prog "DIFFEQN"
 P→M
 Z-H(J+2K+2L+M)÷6→Z
 Red F-Line U,V,X,Z(用红色绘制积分曲线)
 Next

微分方程程序(DIFFEQN)
 sin Xcos Y→P
 (将f(x,y)表达式的值赋值给变量P)

TI-84 Plus

绘图主程序(DIFFGRPH):
  ClrDraw
  Radian
  (Xmax-Xmin)/24→E
  (Ymax-Ymin)/16→I
  For(A,Xmin+E,Xmax-E,2E)
  For(B,Ymax-I,Ymin+I,­2I)(使用For循环划分正方形小区域)
  A→X
  B→Y
  prgmDIFFEQN
  Line(A-0.5Icos(tan⁻¹(P)),B-0.5Isin(tan⁻¹(P)),A+0.5Icos(tan⁻¹(P)),B+0.5Isin(tan⁻¹(P)))
  (以正方形小区域中心为基准,以该点为中心,按照该点的斜率值绘制一段线段)
  End
  End
  Disp "X0="
  Input W
  Disp "Y'(X0)="
  Input Z(输入初始条件)
  (Xmax-Xmin)/96→H
  Circle(W,Z,2H)(突出显示初始条件点)
  Z→R
  For(A,W,Xmax,H)(向X值增大的方向绘制积分曲线)
  A→U
  Z→V
  A→X
  Z→Y
  prgmDIFFEQN
  P→J
  A+H/2→X
  Z+HJ/2→Y
  prgmDIFFEQN
  P→K
  Z+HK/2→Y
  prgmDIFFEQN
  P→L
  A+H→X
  Z+HL→Y
  prgmDIFFEQN
  P→M
  Z+H(J+2K+2L+M)/6→Z
  Line(U,V,X,Z)(绘制积分曲线)
  End
  R→Z
  For(A,W,Xmin,­H)(向X值减小的方向绘制另一半积分曲线)
  A→U
  Z→V
  A→X
  Z→Y
  prgmDIFFEQN
  P→J
  A-H/2→X
  Z-HJ/2→Y
  prgmDIFFEQN
  P→K
  Z-HK/2→Y
  prgmDIFFEQN
  P→L
  A-H→X
  Z-HL→Y
  prgmDIFFEQN
  P→M
  Z-H(J+2K+2L+M)/6→Z
  Line(X,Z,U,V)(绘制积分曲线)
  End

微分方程程序(DIFFEQN):
  sin(X)cos(Y)→P
  (将f(x,y)表达式的值赋值给变量P)

程序运行

  本文提供的程序没有涉及到视窗的设置,运行程序前,应当先检查视窗范围,手动设置视窗到合适的范围。通常情况下,使用默认的初始窗即可。整幅图像绘制完成后,计算器会停留在图形界面,如果需要退出图形界面,按下[AC/ON]或[CLEAR]键即可。

程序运行效果:

CASIO fx-CG50:视窗为默认的初始窗

TI-84 Plus:视窗为ZDecimal

整段程序运行下来需要的时间并不多,基本上都在1分钟左右,比较适合实际应用。

总结

  我们又一次巧妙地利用图形计算器的编程功能,解决了微分方程斜率场绘图的问题。本文的程序中使用四阶龙格-库塔方法计算并绘制积分曲线的这一段程序,也可以稍作删减修改之后用于fx-5800P等无绘图功能的可编程计算器上,作为常微分方程初值问题的数值求解程序使用。从这一实例可以看到,图形计算器编程功能中自带的绘图命令(点、线、圆、法线、切线等等),与其他程序命令结合之后,能够很方便地完成复杂的图形绘制,从而解决相对复杂的数学问题。

SOLVE功能在部分可编程计算器上的实现

【作者声明】


  本文所有文字均为作者原创,所有图片均为作者本人真实拍摄或制作。

  版权所有,仅供阅读欣赏,严禁任何单位或个人以任何形式转载、复制、引用、抄袭、截图、模仿、翻译本评测的部分或全部内容(包括但不限于文字、图片)。

  作者保留所有权利。

  请尊重作者劳动成果,谢谢合作。


  在早期的可编程计算器(包括图形计算器)上,例如fx-4000P、fx-7000G等型号,除了基本的计算、编程、BASE-N、统计与回归,就没有其他功能了,特别是目前函数计算器上都有的定积分牛顿法解方程的功能,在这些计算器上是没有的。定积分功能在这些计算器的说明书的附录中有辛普森积分法的程序,而牛顿法解方程可能没有,或者是以一个三次方程的解法作为例子,没有普适性。鉴于这一原因,参照定积分的程序以及运行方式,编写了一套类似于目前函数计算器SOLVE功能的牛顿法解方程的程序。

  这里的牛顿法解方程程序占用两个程序存储区(本文使用P0和P1),其中P0为程序的主体,并作为运行的接口;P1为需要求解的方程。

  牛顿法的数学原理本文不再赘述,使用的是下图所示的牛顿迭代公式:

  在具体的实现过程中,方程统一使用“f(x)=0”的形式,只需要输入f(x)的部分;原方程所对应的函数的导数值采用数值计算的方式得出而不是直接计算导函数,使用1e-5作为Δx,且直接用导数的定义进行计算,这样就可以应对绝大多数情况了。

实现的算法如下:
P0:
1. 规定数值求导的Δx为1e-5。
2. 提示输入迭代初始值x0。
3. 若初始值输入的是0,为避免后续检查是否满足求解精度时报错,将初始值进行偏移操作,偏移量为Δx。
4. 插入循环标记Label 0。
5. 将初始值x0赋值给函数f(x)的自变量x,调用P1计算f(x),并将计算的结果Q赋值给M。
6. 将x+Δx赋值给x,调用P1计算f(x),将计算的结果Q与M的差值除以Δx作为数值求导的结果赋值给N。
7. 检查迭代是否满足精度要求,这里规定|(M/N)/Δx|<1e-9,若满足则输出结果;若不满足,返回循环标记Label 0。
P1:
1. 计算f(x)的值并赋值给变量Q。

  以fx-4000P为例,程序如下(方程以求解0.8X+tan⁻¹ X-π=0为例):

【Prg 0】
1e-5→S:
"X0=":?→A:
A=0=>S→A:
Lbl 0:
A→X:Prg 1:Q→M:
A+S→X:Prg 1:(Q-M)÷S→N:
Abs (M÷N÷A)<1e-9=>A◢
A-M÷N→A:
Goto 0
【Prg 1】
0.8X+tan⁻¹ X-π→Q
注:程序中的“=>”符号是一个整体,按[SHIFT]、[7]调用。

  将角度单位设置为弧度后,运行程序Prg 0,计算器提示“X0=?”,此时输入0作为初始值,按[EXE],等待一段时间即可得到解:2.448218394,按[AC]退出方程求解。

CASIO fx-CG系列图形计算器CAS应用程序Khicasen

【作者声明】


  本文所有文字均为作者原创,所有图片均为作者本人真实制作。

  版权所有,仅供阅读欣赏,严禁任何单位或个人以任何形式转载、复制、引用、抄袭、截图、模仿、翻译本评测的部分或全部内容(包括但不限于文字、图片)。

  作者保留所有权利。

  请尊重作者劳动成果,谢谢合作。


  CASIO彩屏图形计算器fx-CG10、fx-CG20、fx-CG50原生不带有CAS(Computer Algebra System,计算机代数系统)功能,虽然早期有诸如Eigenmath等简单的第三方CAS应用程序(Add-in),但其计算能力不容乐观,达不到一般的CAS使用需求,因此国外有人制作了Xcas(或称χcas,Khicas,Chicas)的fx-CG系列第三方CAS应用。这一Add-in经过实际的测试,其拥有的功能以及计算能力都非常不错,本文将对该Add-in提供简单的评测,以供参考。

  Xcas是一款比较强大的CAS应用程序,在各类平台下都有应用程序,例如HP Prime图形计算器的CAS功能以及其他的部分功能即全部来源于Xcas。因此fx-CG系列拥有该应用程序之后,也能够拥有非常强大的CAS计算能力,甚至在部分方面超越了ClassPad(fx-CP400、ClassPad 330 PLUS等)、TI-Nspire、TI-89 Titanium等计算器自带的CAS功能。

Xcas官方网站:http://www-fourier.ujf-grenoble.fr/~parisse/giac.html

fx-CG系列Xcas应用文档:https://www-fourier.ujf-grenoble.fr/~parisse/casio/khicasioen.html

fx-CG系列Xcas应用下载:https://www-fourier.ujf-grenoble.fr/~parisse/casio/khicasen.g3a

  在fx-CG系列图形计算器上安装了Khicasen应用之后,进入应用首先会提示设置时间。此时直接输入指令即可设置时间,该功能补充了fx-CG系列图形计算器没有的时钟功能。

  下方菜单对应F1-F6功能按键,其中前三个按键里黄色的字符通过SHIFT键调用,红色的字符通过ALPHA键调用。例如SHIFT、F3对应的是积分(int),我们可以尝试计算一个不定积分:

  可以看到,计算结果以自然书写显示方式呈现,更加直观、容易理解。而且计算过程耗时也比较短。

  F4对应的CATALOG按键是调用Xcas内置的分类目录菜单,用户可以根据指令分类找到自己需要的命令。

  1:All(全部命令),2:Algebra(代数运算,包括因式分解、展开、简化代数式等);3:Linear algebra(线性代数,包括一些基本的线性代数指令);4:Calculus(微积分,包括微分方程、导数、积分、拉普拉斯变换与逆变换、无穷符号、极限、求和、泰勒展开等);5:Arithmetic(算术与数论);6:Complexes(复数);7:Graphs(绘图,包括函数绘制、参数图象绘制、极坐标图象绘制、微分方程斜率场绘制等等)。

  8:Polynomials(多项式运算);9:Pribabilities(概率与分布运算,包括各种分布函数、误差函数等等);10:Program_cmds(程序指令);11:Reals(实数运算);12:Solve(求解运算,包括一般的函数求解、复数方程求解、数值求解、微分方程求解、数列通项公式求解等等);13:Statistics(统计学运算);14:Trigonometry(三角函数运算,包括各类三角变换的功能)。

  15:Options(选项);16:Lists(列表运算);17:Matrices(矩阵计算,包括各类矩阵分析的功能,如Jordan标准形、奇异值分解等);18:Programs(程序,包括一些Python程序指令);19:Turtle shift QUIT(小海龟编程指令)。

  每一菜单下的指令都有帮助菜单,选中指令时,按F6进入帮助菜单,包括对该指令的说明以及语法帮助,还有示例操作。

  F5是大小写字母转换,F6是Xcas相关的操作及模式设置。

  按AC/ON可以选择是否清除历史记录。

  以下将对一些CAS计算的功能进行举例。

  导数计算。

  按EXE执行计算之后,首先给出自然书写显示形式的结果,可以按方向键选定算式的区域,如果需要简化结果,可以按F2(Simp)执行简化选定区域的算式。这一操作与HP 50g的EQW编辑器有些相似。

  返回到计算界面,结果以线性形式显示。

  积分计算,开头举例是一个不定积分,这里再计算一个定积分。

  拉普拉斯逆变换、拉普拉斯变换:

  微分方程求解:

  极限计算:

  非线性方程符号解:

  数列通项公式求解:(以斐波那契数列为例)

  因式分解:

  矩阵的特征向量:

  矩阵的Jordan标准形:

  矩阵的奇异值分解:

  微分方程斜率场绘图:

  三角变换:

  以上只是fx-CG系列图形计算器Khicasen计算功能的冰山一角,更多的功能还需要用户深度探索。

  Khicasen也同样支持Python,能够直接运行计算器内的*.py程序。如果需要Python的语法支持(例如乘方使用“**”符号等),需要勾选设置里面的Python选项。

  以官方Python程序例程OCTA.py为例,在F6菜单中选择Run script,然后选择OCTA.py文件,按EXE编译并运行。

  如果需要编辑Python程序,可以选择F6菜单中的Edit script。

  Khicasen里面的Python工具和fx-CG50内置的Python在命令和使用方面存在一些差别,有些fx-CG50内置的Python指令在Khicasen里面不包括,使用时需要注意。


  以上就是fx-CG系列图形计算器的第三方CAS应用程序Khicasen的简要介绍,更多的内容请参考Xcas文档。

CASIO早期可编程函数计算器简介

【作者声明】


  本文所有文字均为作者原创,所有图片均为作者本人真实拍摄。

  版权所有,仅供阅读欣赏,严禁任何单位或个人以任何形式转载、复制、引用、抄袭、截图、模仿、翻译本评测的部分或全部内容(包括但不限于文字、图片)。

  作者保留所有权利。

  请尊重作者劳动成果,谢谢合作。


  这里所讨论的CASIO早期可编程函数计算器,包括20世纪80年代推出的fx-180P、fx-3600P等型号以及20世纪90年代推出的fx-3600Pv、fx-3900Pv等型号。这些可编程函数计算器的共同点在于:

  (1)使用按键编程的方式进行程序的编辑与录入。所谓按键编程,即写入程序的方式是记录按下的按键顺序;

  (2)通过程序选择按键来直接选择或调用程序,如[P1]、[P2]等;

  (3)无法在编辑程序的过程中删除程序的步骤(fx-3900Pv除外),只能使用[PCL]键一次性将该程序全部清除;

  (4)程序的基本语句除按顺序计算外,只有两个条件跳转命令“x>0”、“x≤M”以及一个无条件跳转命令“RTN”,这三个命令都会让程序返回至程序的开头处;

  (5)大多数可执行辛普森法一元数值定积分计算,积分式按一定方式存储在程序区中,并在“∫dx”模式中进行积分。


一、机型展示与对比

  (1)fx-180P:使用两节AA型电池供电,内部计算位数11位,2程序存储区共38步可用;除基本计算外,还拥有单、双变量统计与线性回归的功能,无双曲函数功能(hyp)。

  (2)fx-3600P:使用一个CR2025供电,内部计算位数11位,2程序存储区共38步可用;除基本计算外,还拥有单、双变量统计与线性回归的功能。

  (3)fx-3600Pv:使用一个GR925(SR925)与太阳能电池双重供电,内部计算位数11位,2程序存储区共38步可用;除基本计算外,还拥有单、双变量统计与线性回归的功能、进制转换与位运算功能。

  (4)fx-3900Pv:使用一个CR2025供电,内部计算位数11位,4程序存储区共300步可用,可显示程序按键并编辑修改;除基本计算外,还拥有双变量统计与线性回归的功能,无双曲函数功能(hyp)。


二、编程功能简介

  CASIO早期可编程函数计算器,使用按键编程的方式来实现编程。写入程序时使用“LRN”模式,而运行程序则在基本计算模式“RUN”中进行。

【程序的写入】

  写入程序时,首先进入“LRN”模式,然后选择一个程序存储区。此时计算器开始记录按键的顺序。例如需要计算公式“S=πr²”,则按键顺序为[π]、[×]、[ENT]、[x²]、[=]。其中“ENT”用于程序运行时输入变量的值。

【程序的运行】

  运行程序时,返回到“RUN”模式,直接按相应的程序区按键,当计算器显示“ENT”时,程序在这里中断,输入公式中的变量值之后再按[RUN]键,即可继续执行程序。

  如果需要反复执行程序,则需要利用[RTN]来实现无条件跳转;如果需要执行一个循环或者判断的过程,可以使用[x>0]、[x≤M]进行条件的判断。

  程序指令共有以下五个:

  (1)ENT:中断程序并提示输入变量的值;

  (2)HLT:中断程序并显示当前计算结果的值;

  (3)x>0:当前计算的结果若大于0,则跳转到程序的开头;

  (4)x≤M:当前计算的结果若小于或等于独立存储器内变量M的值,则跳转到程序的开头;

  (5)RTN:直接无条件跳转到程序的开头。

  运行控制指令有两个:

  (1)RUN:程序被中断时,让程序继续运行;

  (2)AC:退出程序。

  【例】

  以从1分别到10、100、1000的自然数求和为例,编写程序。

  进入LRN模式,选择程序区(假设这里选择P1),最好选择之后按PCL清除一次该程序区。程序如下(17步):

  1、Kin+2、Kout2、Kin+1、Kout2、+、1、=、x≤M、Kout1、HLT、1、Kin1、Kin2、ENT、Min、RTN

  运行前,将1赋值给K1、K2,然后将10赋值给M(使用Min),再按[P1],等待一会之后计算器进入中断状态(HLT)并显示结果55;

  然后按[RUN]继续执行程序,此时程序再次被ENT中断,提示输入数值,此时输入100,按[RUN],等待一段时间之后,计算器被HLT中断,显示结果5050;

  再按[RUN]执行程序,然后被ENT中断,输入1000,再按[RUN],等待较长的一段时间,计算器被HLT中断,显示结果500500。

  按[AC]退出程序。

  (注:像Kin+2指令,是由三个按键[Kin]、[+]、[2]完成的,其含义为将当前计算的结果加上K2,然后把这一结果重新赋值给K2;而Kin1指令是指将当前计算结果赋值给K1;Kout2指令则是将K2的值调用出来作为当前的结果。)


三、积分功能简介

  在这类可编程函数计算器上进行积分时,被积式的写入需要使用LRN模式。写入被积式前,需要按[Min]键;然后按照被积式的书写顺序输入,积分变量x使用[MR]键代替;被积式输入完成后,还需要按[=]键再退出被积式的写入。与程序录入一样,最好在写入被积式前按[PCL]清除当前程序区的程序。

  执行积分计算,需要进入“∫dx”模式。先按被积式所在的程序区按键,此时计算器显示“ENT”,提示输入辛普森积分法的分区数n。分区数n只能是1~9之间的整数,输入分区数后,按[HLT]确认,计算器将分区数转为积分区间的分区个数2^n;然后输入积分下限,按[ENT],再输入积分上限,按[ENT],计算器开始进行积分计算。经过一段时间后,计算器给出积分结果,此时结果显示为科学记数法,需要按[=]转换为常规显示。

  【例】

  计算1/(1+x^2)从0到1的定积分,分区个数为2^5=32。

  进入LRN模式,选择程序区(假设为P2,此时最好再按[PCL]清除该程序区),然后输入:

  Min、1、÷、(、1、+、MR、x²、)、=

  然后进入∫dx模式,选择[P2],然后输入分区数5,按[HLT];输入下限0,按[ENT];输入上限1,按[ENT],计算器开始计算积分。

  等待一段时间后显示结果:7.85398163E-01,然后按[=]得到积分结果0.785398163。

  定积分计算完成后,K1~K6这六个存储器中分别存入了以下内容:

  K1:积分下限;K2:积分上限;K3:分区个数;

  K4:被积式在积分下限的值;K5:被积式在积分上限的值;K6:积分结果。


  由于现在的可编程函数计算器以及图形计算器的程序存储容量大、处理速度快、编写方便,这些早期的可编程函数计算器的编程方式或许比较难以被现在的用户接受,程序一旦稍微复杂,对于编程本身来说难度会直线上升,毕竟要想尽办法在有限的步数内写出程序,在这一侧面,这些老计算器也间接地印证了那个年代的人们物尽其用的优秀精神。

EL-W82TL的秘密

【作者声明】


  本文所有文字均为作者原创,所有图片均为作者本人真实制作或拍摄。

  版权所有,仅供阅读欣赏,严禁任何单位或个人以任何形式转载、复制、引用、抄袭、截图、模仿、翻译本评测的部分或全部内容(包括但不限于文字、图片)。

  作者保留所有权利。

  请尊重作者劳动成果,谢谢合作。


主要评测部分见https://www.haruakira.com/2017/05/08/elw531tl/

TI-84 Plus图形计算器的方程(组)求解

【作者声明】


  本文所有文字均为作者原创,所有图片均为作者本人亲自制作。

  版权所有,仅供阅读欣赏,严禁任何单位或个人以任何形式转载、复制、引用、抄袭、截图、模仿、翻译本文的部分或全部内容(包括但不限于文字、图片)。

  作者保留所有权利。

  请尊重作者劳动成果,谢谢合作。


  本文所述内容基于TI-84 Plus操作系统OS 2.55以上版本、TI-84 Plus CE操作系统OS 5.2.1以上版本讲述。请保证计算器的操作系统是最新的,若不是最新的操作系统,可以从德州仪器教育技术官网获得。


【一元方程的求解】

  对于TI-84 Plus这款经典的计算器,很多人抱怨找不到方程求解器,或者认为最容易找到的MATH菜单中的那个方程求解器“Solver…”功能太过于简单,因此希望有一个比较好的方程求解功能。

  为了内容的完整性,首先还是先提一下最容易找到的“Solver…”。

  按下MATH键,按上方向键就能看到“Solver…”,按ENTER就能够进入输入方程的界面。

  TI-84 Plus系列的黑白屏版本只能像上图一样,输入“0=f(x)”形式的方程。例如要求解x^3-2x^2=4x+7,需要将方程变形,然后在计算器上面输入。

  按ENTER,计算器提示给X输入一个初始值。我们可以尝试输入一个估计值,当然也可以直接利用X当前的值。输入估计值之后,如果按下ENTER,光标会跳到下一行,即选定求根区间。一般为了方便这一步骤一般不执行。

  求解之前,必须确保闪动的光标在需要求解的变量所在行。确认完成,按ALPHA、ENTER(即SOLVE),等待一段时间,计算器就给出了方程的近似解。

  这一界面上,变量X左侧多出一个小方块,表示此时变量X的值就是解。同时,下方多出一行用小方块标出的求解误差信息,表示将解得的近似根代入方程,左边与右边的差值大小。这个差值越小,说明得到的解越精确。

  这时候如果按下CLEAR,小方块会消失,可以再次输入初值求解(这一点对于有多重实根的方程很重要);如果按上方向键,会返回到方程输入界面,可以修改方程。但是在求解完成的界面下按CLEAR之后按上方向键是无效的。

  退出求解方程功能,按2ND、MODE(即QUIT),回到主界面。

  对于TI-84 Plus CE,操作是类似的。不同的是TI-84 Plus CE可以分别输入方程的左右两边,而且输入的方程可以使用自然书写(MathPrint)的方式来输入使得表达式更直观,求解的时候既可以按alpha、enter(solve),也可以直接按graph(f5)求解。

  第二种方法是直接在主界面使用solve()函数。这个函数只能通过CATALOG菜单来调用,即按2ND、0,然后按LN(跳转到字母S),按方向键翻找,找到“solve(”。如果不知道这个函数如何使用,计算器上若有帮助文档应用(CtlgHelp),开启之后可以按+来查看语法。

  由此可知,这一函数的语法是solve(表达式,变量,估计值[,下限,上限]),其中“[ ]”及“[ ]”里面的内容是可以不用输入的,表达式也只能是“f(x)=0”形式中的“f(x)”。仍然使用上面的例子,在计算器上输入solve(X^3-2X^2-4X-7,X,0),按ENTER即可得到解。

  TI-84 Plus CE上的使用方法与TI-84 Plus一致。

  如果solve函数能够很方便地调用,或许前面那个“Solver…”就没人使用了,这可能是solve只能通过CATALOG调用的原因。为了节省篇幅,后续的内容不再赘述TI-84 Plus CE的情况,TI-84 Plus CE的操作与TI-84 Plus是十分相似的。


【线性方程组的求解】

  对于实系数线性方程组,我们可以通过化简方程的增广矩阵来求解。能够求解的未知数的个数受能够支持矩阵的维数限制,最大能够编辑50×51大小的矩阵。

  例:求解三元线性方程组{2x-y+z=0,3x+2y-5z=1,x+3y-2z=4}。

  按2ND、[x^-1](即MATRIX),按右方向键移到矩阵的MATH菜单,然后向下翻,直到找到“rref(”,输入到屏幕上。按ALPHA、ZOOM(即打开F3快捷菜单),使用ENTER配合方向键选择行数为3、列数为4,移动框到OK上,按ENTER输入3×4的矩阵模板。每输入一个元素,按一次右方向键(不要使用ENTER键),直到输入完成,补上括号。若矩阵大小超过6×6,应当使用MATRIX菜单中的EDIT功能来编辑大矩阵,输入矩阵使用NAMES下的矩阵。

  按ENTER得到结果。此时可以按左或右方向键显示不完整的内容。如果这时候按下其他方向键或者其他按键,结果将不能再滚动显示,只能复制下来在编辑的状态下显示。

  如果需要得到分数结果,可以在输入表达式之后按ALPHA、Y=(即调用F1快捷键),按4选择分数转换命令得到分数结果。

  矩阵的行最简式表示该方程组的解就是{x=13/28,y=47/28,z=3/4}。这一方法不仅可以求解常规的实系数线性方程组,还可以求解齐次线性方程组和非齐次线性方程组,只需要在化简系数矩阵或者增广矩阵之后自己再列出同解方程组,即可得到方程组的基础解系,进而得到通解。


【一元方程及二阶线性方程组的图象解法】

  TI-84 Plus是图形计算器,所以我们也可以利用图像绘制的功能来求解。仍然使用前述的一元方程为例。在图象函数编辑界面中输入函数表达式,按ZOOM、4,然后按ZOOM、0可以得到较为直观的图象。

  按2ND、TRACE(即CALC),选择“zero”,即求取函数零点的功能。然后计算器询问零点的下限、上限、估计值,根据图像上的点来输入或者用方向键左右移动到合适的位置,按ENTER确认,完成之后,计算器即给出零点的坐标。图中X的值就是方程的近似根。

  对于二阶线性方程组,需要在图象函数编辑界面中输入两个函数,必须将“ax+by=c”的形式化为“y=(c-ax)/b”的形式再输入。例如求解{x+2y=3,4x+5y=6},应当输入Y1=(3-X)/2、Y2=(6-4x)/5。对于这个例子可以使用ZOOM、4标准小数视窗。

  按2ND、TRACE(即CALC),选择“intersect”,即交点功能。选择第一条曲线,再选择第二条曲线,输入估计值。这些步骤都需要按ENTER确认。完成这些步骤就可以得到交点坐标,“X=-1    Y=2”就是方程组的解。

  寻求交点的解法也可以用于求解其他的一元方程,只需要将方程两边的内容分别输入到两个图象函数中,绘制图象,求得交点的横坐标即是方程的解。


【使用PlySmlt2应用求解线性方程组与多项式方程】

  PlySmlt2应用是德州仪器官方提供的以APP形式安装在计算器上的方程求解器应用。如果计算器上缺少该应用,可前往德州仪器教育技术官网下载。该应用可以求解1~10次的多项式方程,也可以求解2~10元的线性方程组。这个应用的优势在于可以直接输入系数,然后一次性得到所有的解(包括多项式方程的复数根),但大多数情况都是近似根。线性方程组不限制系数矩阵为非奇异阵,因此可以直接给出通解。

  主界面、多项式方程求解设置界面、线性方程组求解界面:

  线性方程组求解示例:

  多项式方程求解示例:


  以上就是TI-84 Plus系列计算器的方程求解的几种方法。由于TI-84 Plus没有CAS(计算机代数系统),因此对于多元非线性方程组(例如二元二次方程组)是无法求解的。

函数计算器的复数计算

【作者声明】


  本文所有文字均为作者原创,所有图片均为作者本人亲自制作。

  版权所有,仅供阅读欣赏,严禁任何单位或个人以任何形式转载、复制、引用、抄袭、截图、模仿、翻译本文的部分或全部内容(包括但不限于文字、图片)。

  作者保留所有权利。

  请尊重作者劳动成果,谢谢合作。


第一章 数学基础

  对任意两实数a,b,称z=a+ib为复数,其中i²= -1。称i为虚数单位。a称为复数z的实部,记作a=Re(z) ; b称为复数的虚部,记作b=Im(b)。电学中为避免与电流记号i混淆,改用j表示虚数单位。本文统一使用数学上使用的i作为虚数单位记号。

  现有如下概念:

  (1)纯虚数:Re(z)=0,且Im(z)≠0;

  (2)复数相等:Re(z1)=Re(z2),且Im(z1)=Im(z2),有z1=z2;

  (3)复数系:全体复数,记为C

  (4)复平面:由于复数z由一对有序实数对(a,b)确定,因此复数系C可与给定的平面直角坐标系上的点一一对应,这样的表示复数的平面称作复平面;

  (5)代数形式:形如z=a+ib的表示复数的形式;

  (6)向量形式:复平面上原点O到点P的平面向量vct(OP);

  (7)极坐标形式:将平面直角坐标化为极坐标后,形如z=rθ的表示复数的形式,在电学中称相量;

  (8)三角形式:形如z=r(cos θ+i sin θ)的表示复数的形式。

复数的四则运算

  (1)两个复数的加法:令z1=a1+ib1,z2=a2+ib2,有

z1+z2=(a1+a2)+i(b1+b2)

  (2)两个复数的减法:令z1=a1+ib1,z2=a2+ib2,有

z1-z2=(a1-a2)+i(b1-b2)

  (3)两个复数的乘法:令z1=a1+ib1=r1(cos θ1+i sin θ1),z2=a2+ib2=r2(cos θ2+i sin θ2),有

zz2=(aa2-bb2)+i(ab2+ab1)=rr2[cos(θ1+θ2)+i sin(θ1+θ2)]

  (4)两个复数的除法:令z1=a1+ib1=r1(cos θ1+i sin θ1),z2=a2+ib2=r2(cos θ2+i sin θ2),有

z1/z2=[(aa2+bb2)/(a2²+b2²)]+i[(ab1-ab2)/(a2²+b2²)]

=(r1/r2)[cos(θ1-θ2)+i sin(θ1-θ2)]

  复数的四则运算满足交换律、结合律、分配律。

共轭复数、复数的模与辐角

  (1)令z1=a1+ib1,z2=a2+ib2,若有a1=a2,b1=(-b2),则z1与z2一起称为共轭复数;

  (2)复数z=a+ib=r(cos θ+i sin θ)的模记作|z|,|z|=√(a²+b²)=r

  (3)复数z=a+ib=r(cos θ+i sin θ)的辐角记作Arg(z),Arg(z)=Arctan(b/a)=θ+2kπ(kZ)由于辐角有无穷多个,因此常用辐角主值arg(z)=arctan(z)=θ

棣莫弗(De Moivre)公式

  用于计算复数的乘方。复数z=r(cos θ+i sin θ)的n次方z^n按以下公式计算:

z^n=(r^n)(cos +i sin )

  复数的n次方根(n∈N*)则按以下公式计算:

z^(1/n)=[r^(1/n)]{cos[(θ+2kπ)/n]+i sin[(θ+2kπ)/n]},(k=0,1,…,n-1)

复数的基本初等函数

  (1)指数函数

  对于复数z=a+ib,称

w=e^z=(e^a)(cos b+i sin b)

为复数z的指数函数。特别地,有欧拉(Euler)公式

e^(iθ)=cos θ+i sin θ

  欧拉公式被誉为世界上最美的公式,当θ=π时,有

e^(iπ)+1=0

  包含自然界的最基本的五个数——自然对数的底e,虚数单位i,圆周率π,数的基本单位1和0。

  若底数不为e,则有

x^z=(x^a)[cos(b ln x)+i sin(b ln x)]= (x^a) ∠(b ln x),(xR

  (2)对数函数

  对于复数z=a+ib,称

w=Ln z=ln |z|+i Arg(z),(z≠0)

为复数z的对数函数,Ln z是多值函数,一般使用主值ln z

ln z=ln |z|+i arg(z)

  (3)幂函数

  对于复数z=a+ib,称

w=z^α=e^(α Ln z),(α为复常数,z≠0)

为复数z的幂函数,z^α一般是多值函数,分以下情况讨论:

  ①α为正整数n时,是单值函数

z^n=e^(n Ln z)=e^{n[ln |z|+i arg(z)+2kπ·i]}=(|z|^n)·e^[i·n·arg(z)]

  ②α=1/nnN*)时,是n值函数

z^(1/n)=e^[(Ln z)/n]=[|z|^(1/n)]·e^{i[arg(z)+2kπ]/n},(k=0,1,…,n-1)

  ③α=0时,z^0=1

  ④α为有理数(p/q)(pq为互质整数且q≠0)时,有q个值

z^(p/q)=e^[(p/q)·Ln z]=e^{[(p/q)·Ln z]+i·(p/q)·[arg(z)+2kπ]},(k=0,1,…,q-1)

  ⑤α为无理数或复数时,有无穷多值。

  (4)三角函数

  对于复数z=a+ib,称

cos z=[e^(iz)+e^(-iz)]/2=cos(a)ch(b)-i sin(a)sh(b)

sin z=[e^(iz)-e^(-iz)]/(2i)=sin(a)ch(b)+i cos(a)sh(b)

分别为复数的余弦函数和正弦函数。实变函数的诱导公式、恒等变换定理对复变函数仍适用。复变函数cos z和sin z是复数域上的无界函数。复数的其他四个三角函数定义如下:

tan z=(sin z)/(cos z)

cot z=(cos z)/(sin z)

sec z=1/(cos z)

csc z=1/(sin z)

  (5)反三角函数

Arccos z=-i Ln[z+√(z²-1)]

Arcsin z=-i Ln[iz+√(1-z²)]

Arctan z=(i/2)Ln[(i+z)/(i-z)]

  (6)双曲函数与反双曲函数

sh z=(e^z-e^-z)/2,Arsh z=Ln[z+√(z²+1)]

ch z=(e^z+e^-z)/2,Arch z=Ln[z+√(z²-1)]

th z=(e^z+e^-z)/(e^z-e^-z),Arth z=(1/2)Ln[(1+z)/(1-z)]

cth z=(e^z-e^-z)/(e^z+e^-z),Arcth z=(1/2)Ln[(z+1)/(z-1)]


第二章 使用函数计算器计算复数的四则运算

  本章适用于未配置复数计算功能的计算器,对于像fx-991ES PLUS、fx-991CN X、fx-991EX、EL-W506/516X、EL-509/520/5160T、TI-36X Pro等拥有复数计算功能的函数计算器,可忽略本章内容。

  以fx-82CN X为例,如果需要计算复数的加减法,可以直接将复数代数形式的实部与实部、虚部与虚部分别相加或相减,得到结果。当复数不是代数形式时(如极坐标形式),应当利用坐标转换函数Rec()将坐标转换为直角坐标。

  例1:计算(2+3i)+(9+7i)

  解:计算实部,2+9=11;计算虚部,3+7=10。结果为11+10i。

  例2:计算(3-4i)+(10∠135°)

  解:在以度数为角度单位的条件下(屏幕上方显示符号“D”),输入Rec(10,135),得到直角坐标转换结果。

  对于特殊的角度(15°的整数倍),模在一定范围内时,此时单独查看变量xy可以得到带根号的结果。(这一步可以省略)

  在不另外使用变量xy的情况下,可以直接将xy用于计算。分别计算实部与虚部相加的结果如下:

  此时即得到结果为(3-5√2)+(-4+5√2)i。如果需要得到极坐标结果,此时应该使用Pol()函数:

  计算复数的乘除法时,使用极坐标形式较为方便。因此如果给的复数是代数形式,要使用坐标转换函数Pol()先将坐标转化为极坐标再计算。

  例3:计算(3-4i)÷(10∠135°)

  解:将3-4i转化为极坐标形式,输入Pol(3,-4),得到极坐标转换结果:

  按照复数乘法公式,分别计算模和辐角:

  由于辐角主值取值范围在(-180°,180°]之内,因此需要对辐角进一步处理,得到结果(1/2)∠171.87°:

  和例2类似,如果需要代数形式的结果,可以再使用Rec()函数转化,得到结果-0.495+0.0707i:

  应当注意的是,每一次使用Pol()或者Rec()函数之后,变量xy的值会立即更新,因此如果计算时如果需要使用变量,尽量避免使用xy这两个变量。

  不同品牌的计算器操作方式大同小异。例如夏普EL-W531T的坐标转换是先输入坐标然后再执行→或→xy命令。EL-W531T的例3计算如下:

  拥有复数计算功能的计算器在复数的四则运算与结果转换方面使用起来就非常轻松,如果需要时常计算复数四则运算,建议选用fx-991ES PLUS或fx-991CN X、TI-36X Pro、EL-W506T等配置有复数功能的函数计算器。如下所示,在这些高级函数计算器的复数计算模式中,可以直接得到结果:


第三章 使用函数计算器计算复数的乘方与开方

  对于没有配置复数功能的函数计算器,我们需要手动输入公式来完成计算复数的乘方与开方。

  例4:计算(2+3i)³

  使用fx-82CN X与EL-W531T解:首先将2+3i化为极坐标形式,这时候模与辐角就可分别存入变量xy中。

  然后根据棣莫弗公式,复数z=rθn次方为z^n=(r^n)∠(),此时直接输入x^3和3y并转化为直角坐标:

  此时即得到结果-46+9i。这一方法可以适用于任意次幂的计算。

  例5:计算√(2+3i)

  使用fx-82CN X与EL-W531T解:根据棣莫弗公式,此时应当有两个根。由于√(2+3i)=(2+3i)^0.5,仍然按照上面的方法计算。

  计算第二个根时,需要重新计算一次Pol(2,3),计算器的重现功能让我们不用再输入一遍表达式,直接按上方向键↑调出历史计算,再按一次=即可将xy再次更新回rθ。第二个根的辐角是0.5(y+360),即弧度制下的(1/2)(y+2π)。

  这样就得到了√(2+3i)=±1.674±0.896i。这一结果还可以进一步转化为极坐标形式:

  例6:计算1/(3+4i)

  使用fx-82CN X与EL-W531T解:方法与例4和例5类似。

  对于有复数计算功能的函数计算器(如fx-991CN X、fx-991ES PLUS、EL-W506T、EL-W509T等),一般只能直接计算平方、立方、倒数,CASIO的CLASSWIZ系列的复数功能可计算复数的任意整数次幂。如果遇到开方的情况,可以直接利用复数模式中的模与辐角函数来计算。

  例7:计算√(2+3i)

  使用fx-991CN X解:进入复数模式,直接输入公式,按S-D切换结果。

  夏普函数计算器的计算方法类似:

  例8:使用fx-991CN X的公式计算功能(CALC)计算例4~例6。

  解:进入复数模式,首先输入公式|A+Bi|^C∠(CArg(A+Bi))。然后按CALC键,为各变量指定相应的值,按=确认。

  按=得出结果,再次按下=可以连续计算,重新指定变量的值。

  按上、下方向键选取要重新指定的值,输入并按=确定。例5的计算与结果:

  例6的计算结果:

  公式计算这一功能可以输入一次公式而多次使用,提高计算效率。


第四章 使用函数计算器计算复数的初等函数

  复数的初等函数,只能直接按照公式来计算。没有复数功能的函数计算器按照实部与虚部分开的原则来计算,有复数功能的函数计算器,可以直接输入公式计算。

  例9:根据指数函数公式e^z=(e^a)(cos b+i sin b)(其中z=a+ib),计算e^(2+3i)。

  注意:根据指数函数的定义,计算必须在弧度制下进行!

  使用fx-82CN X计算:首先按SHIFT、设置,选择2:角度单位,将角度单位改为弧度。

  输入e^2×cos(3),得到实部;然后输入e^2×sin(3),得到虚部:

  使用fx-991CN X计算,进入复数模式,更改角度单位为弧度,输入公式即可。

  其他的初等函数与之类似,按照公式计算即可。如果代数形式的公式定义中涉及三角函数,一定要使用弧度作为当前的角度单位,不然就会得到错误的计算结果。例如上例中的计算,如果角度单位被指定为度数,计算结果则会出错: