【作者声明】


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

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

  作者保留所有权利。

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


前言

  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]、[=]。

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