![]() |
中国面包师贴吧-楼主(阅:3297/回:0)用程序编写计算公式的高次方程数字计算机用程序编写计算公式的高次方程数字计算机 用程序编写计算公式的高次方程数字计算机是一种可以计算高次方程的数字计算机,它由按键,液晶显示器,中央处理器组成。按键输入的程序保存在磁带上面,中央处理器在程序的作用下计算方程式。按照方程式的求根公式进行编程,按照数学计算公式进行编程。 中央处理器由程序语句判断执行电路,程序语句判断控制电路,端口,加法器,减法器,乘法器,除法器,n次方计算器,对数计算器,三角函数计算器构成。 键盘输入的程序按每行保存在磁带中,程序语句判断电路根据键盘输入的程序的关键字判断电路执行相应的操作,例如输入ADD,电路执行加法操作,程序语句判断控制电路根据键盘输入的程序的关键字控制电路的工作,例如输入NIUDUN DIEDAI,电路将上面计算电路执行多次,进行牛顿迭代计算。 它的相关资料下载网址为: 链接:https://pan.baidu.com/s/1rICunk-o_hacg9_5jFgjFw?pwd=r1e2 提取码:r1e2 微云文件分享:高次方程数字计算机下载地址:https://share.weiyun.com/AHg7uLez 高次方程数字计算机 https://www.aliyundrive.com/s/MMyDHWGzfk7 链接:https://pan.baidu.com/s/1xonNNlqKEzfZxs4kG-YGZA?pwd=a57b 提取码:a57b https://115.com/s/sw6wc1233u5?password=y542# 访问码:y542 https://kdocs.cn/join/gmw20yx?f=101 https://kdocs.cn/join/ge5wqfb?f=101 第一部分高次方程数字计算机 该计算器首先通过晶振产生32768HZ的谐振方波信号,再经过分频电路将这个方波信号的频率降低为100HZ,,即周期为0.01秒,再将这个100HZ的信号接入到按键的公共端,按键共有60个,它们的一端接到一起,另外一端分别接到倍频器上。相当于这些按键并联在一起,当某个按键被按下时,100HZ的信号就会接入到倍频器上,经过倍频后,频率变为1HZ, 为什么按键上面的频率是100HZ,这是因为100HZ的频率,周期是1毫秒,通常使用者按下按键的时间在1毫秒左右,所以,只有这个频率的信号才会在按下按键时输入到后级电路中。键值计算电路由十进制转二进制电路组成,当有数字键按下时,对应的数字按键输出端输出对应的数值。数值按键的输出端接上或门,或门两两相接,最后输出一个或门,当有任何计算符号按键按下时,或门输出高电平,或门后面接上计数器,计数器记录按键按下的次数,当有按键按下时,计数器将对应的次数输入到加法器,加法器给键值乘以10,100,1000,等倍数。当连续按2次按键时,需要用乘法器给键值乘以10,连续按下3次按键时,需要用乘法器给键值乘以100,依次类推。所有数值按键的输出端连接到一起,输出到计算符号电路,进行计算。计算符号编码电路产生对应计算符号的编码,输送给计算符号按键电路。用计算符号按键输入计算符号+-×÷,cos,sin,ln,log,等, 当RS触发器的输入端R,S都是1时,触发器保持输出端没有变化。利用这个特点,当按键输入高电平1时,电路输出高电平1给存储器,当按键断开输入低电平0时,RS触发器仍然给存储器输入1,当清零键按下时,RS触发器的S端输入0,触发器给存储器输入0,存储器清零。 当有按键按下时RS触发器Q输出1, Q 输出0,按下清零键以后,RS触发器Q端输出0, Q 端输出0 按键编码器产生二进制编码,每个编码对应一个按键。 当数字键1,按下时,这个与门输出0000001给后面计算电路,所有按键存储器后面两两之间接上或门,或门后面再接上或门,最后接上计数器,当按键按下时,计数器变为1,对应的存储器输出对应键值。当按键按下第二次时,计数器输出2,输出两位数字,当按键按下第三次时,计数器输出3,输出三位数字。 经过两个异或门和一个或门以后输出高电平111111111,这使后面的与门输出按键的数值到寄存器1, 当开始输入时,按清零键,计算机按键输入为0.此时,开始输入字符,将字符输入到寄存器1, 按键输入的程序存储在磁带A上面,超强磁性磁带的基材由50%醋酸酯DAC,50%醋酸酯TAC构成,超强磁性磁带的磁性粉末粘合剂有1%氯乙烯,1%醋酸乙烯共聚体,1%苯乙烯-丁二烯共聚体,1%硝化纤维素。1%纤维素,1%丁腈橡胶,1%丙烯酸酯橡胶,1%无定形聚酯,1%氨酯橡胶,1%聚氨基甲酸乙酯树脂,环氧树脂,密胺树脂,1%醋酸乙烯,1%丙烯酸酯丁基系的软质树脂,超强磁性磁带的磁性粉末分散剂由10ml乙醇,20g尿素,10ml双氧水,10g蔗糖,20g聚乙二醇4000,油酸钾皂试剂20g,黄色色素10g,司盘80试剂10ml,氧化铝10g,氨水50g,大豆油10g,α-烯基磺酸钠5g,十二烷基苯磺酸钠5g,烯丙基磺酸钠5g,二甲苯磺酸钠5g,椰子油脂肪酸渗透二乙醇酰胺6501日化,1%卵磷脂组成,磁性粉末稳定剂有对氯乙烯系粘合剂,使用硬脂酸钡等金属无机盐。磁性粉末防带静电剂是在磁性层内渗入炭黑或石墨等固体导电粉末。超强磁性磁带的磁性粉由二氧化铬,三氧化二铁,铬化铁,氧化镍,氧化钴,氧化钇,镝,二氧化锰。把磁性粉末,粘合剂,增塑剂,稳定剂,分散剂,加入水中,使各个磁性粉末相互溶解到水里,再球磨机混合均匀,最后用刮片涂覆到基材上面。 注意:收音机磁带使用涂着四氧化三铁的硝酸纤维素条,铁芯(铁氧体/羟基铁芯),0.32-0.45mm变压器钢片,线圈(0.08mm漆包线1200-1500匝),放音头间隙0.02mm,工作间隙0.5mm,磷铜萡/黄铜箔, 磁带录音机电路如下: 按键电路如下: 计算机中央处理器CPU电路原理图 程序语句判断电路 程序关键字判断电路,程序关键字判断电路,查询到关键字,并执行该关键字所要求的功能。 程序计算符号判断电路,程序计算符号判断电路,查询到计算符号,并执行该计算符号所要求的功能。 数据判断电路,程序数据判断电路,查询到数据符号,并执行该数据符号所形成的数据。 字符判断电路,程序字符判断电路,查询到字符,并执行该字符的功能。 磁带程序判断执行电路原理图。 语句执行电路,按照语句判断的输出,执行这条语句,输出到CPU端口并执行。 关于数字电路加法器,计数器,分频器的电路可参见《中国集成电路大全》丛书,《中国集成电路大全编写委员会编,国防工业出版社1987年出版. 该计算器首先通过晶振产生32768HZ的谐振方波信号,再经过分频电路将这个方波信号的频率降低为100HZ,,即周期为0.01秒,再将这个100HZ的信号接入到按键的公共端,按键共有60个,它们的一端接到一起,另外一端分别接到倍频器上。相当于这些按键并联在一起,当某个按键被按下时,100HZ的信号就会接入到倍频器上,经过倍频后,频率变为1HZ为什么按键上面的频率是100HZ,这是因为100HZ的频率,周期是1毫秒,通常使用者按下按键的时间在1毫秒左右,所以,只有这个频率的信号才会在按下按键时输入到后级电路中。键值编码电路由二进制编码电路组成,当有按键按下时,对应的按键输出端输出对应的按键编码。每个按键的输出端接上或门,或门两两相接,最后输出一个或门,当有任何计算按键按下时,或门输出高电平,这个或门在和每个按键的输出端接上与门,这些与门在两两之间接上或门,最后一个或门接上按键寄存器。按键寄存器将输入的按键输出保存到磁带寄存器A中,计算机CPU通过算法语言关键字判断语句,计算符号判断电路,中断判断电路,定时器判断电路,数据判断电路,选择性的判断执行磁带存储器A中的按键输入程序。计算机CPU通过执行电路执行上面语句判断电路输出的内容。最后将执行结果通过IO端口输出,并用液晶显示器显示出来。 如果出现PROGRAM BEGIN说明程序开始,与门导通,如果出现空格说明前面是一个关键字,或字符或数据,与门导通。如果出现回车说明前面是一个程序段,需要执行这段程序,与门导通。 关键字比较电路,和每个关键字的代码相互比较,如果代码相同·,执行该关键字的功能。 字符比较电路,和每个字符的代码相互比较,如果代码相同·,执行该字符的功能。 数据比较电路,和每个数据的代码相互比较,如果代码相同·,产生该数据的二进制编码。 磁带程序判断执行电路原理图 出现NIUDUN DIEDAI 时,程序将重新执行上面的计算,出现DIEDAI CISHU M=4时,程序将从新执行上面的计算4次, 出现DIEDAI TIME T=0.1S 时,程序将执行上面的计算1次的时间是0.1S,也就是控制计算开启关闭的定时器的时间是0.1秒, 出现JISUAN2#时,下面程序执行中的数据都存储到JISUAN2#寄存器组, 出现XXJS SANCI FANGCHENG B时,计算机将电路切换到牛顿弦线法计算电路, 出现RUN XXJS时,计算机将键盘输入的数据输入到牛顿弦线法计算电路中,并执行该电路。 出现OUTPUT JISUAN2# 01#时,计算机将电路在计算中所有寄存器里面的数据输入到端口01。 出现INPUT 02# A=3,B=-4,C=-6,D=-12时,计算机将端口02#输入的数据保存到电路寄存器A,B,C,D当中。 磁带程序判断执行控制电路原理图 计算机原理图如下: 第二部分 二元方程组计算电路 下面的资料可参见《计算方法讲义》,中国科学院计算技术研究所编,科学出版社1958年出版。 例.求方程组 2 φ (x,y)=x+3lgx-y =0 1 2 φ (x,y)=2x -xy-5x+1=0 1 的根。 1.牛顿法的使用,容易求出 Ә φ 3M 1 =1+ ,其中M-0.43429 Ә x x Ә φ 1 =-2y, Әy Ә φ 2 =4x-y-5, Әx Ә φ 2 =-x Әy 我们取x =3.4,y =2.2作为初始近似,那么 0 0 φ (x ,y )=0.1545, 1 0 0 φ (x ,y )=-0.72, 2 0 0 Ә φ ( 1 ) =1.383, Ә x 0 Ә φ ( 1 ) =-4.4, Ә y 0 Ә φ ( 2 ) =6.4, Ә x 0 Ә φ ( 2 ) =-3.4, Ә y 0 将这些值代入校正公式(8)就得h ,k 1 1 △ △ h= 1 , k= 2 (8) D D 其中, Ә φ Ә φ ( 1 ) ( 1 ) Ә x Ә y 0 0 1.383 -4.4 D= = =23.4578 Ә φ Ә φ 6.4 -3.4 ( 2 ) ( 2 ) Ә x Ә y 0 0 Ә φ -φ (x ,y ) ( 1 ) 1 0 0 Ә y 0 -0.1545 -4.4 △= = =3.6933 1 Ә φ 0.72 -3.4 -φ (x ,y ) ( 2 ) 2 0 0 Ә y 0 Ә φ ( 1 ) -φ (x ,y ) Ә x 1 0 0 0 1.383 -0.1545 △= = =1.98456 2 Ә φ 6.4 0.72 ( 2 ) -φ (x ,y ) Ә x 2 0 0 0 △ 3.6933 h = 1 = =0.157444 1 D 23.4578 △ 1.98456 k = 2 = =0.084601 1 D 23.4578 h =0.157,k =0.085, 1 1 从而我们有, x =3.4+0.157=3.557,y =2.285, 1 1 同样又可得 φ (x ,y )=-0.011, 1 1 1 φ (x ,y )=0.3945, 2 1 1 Ә φ Ә φ ( 1 ) =1.367 ( 1 ) =-4.57 Ә x Ә y 1 1 Ә φ Ә φ ( 2 ) =6.943, ( 2 ) =-3.557, Ә x Ә y 1 1 再将这些值代入矫正公式(8)求得, h =-0.0685,k =-0.0229, 2 2 从而有, x =3.4885,y =2.2621, 2 2 重复这种过程,我们有 h =-0.0018,k =-0.000561, 3 3 所以第三近似是 x =3.4872,y =2.2615, 3 3 这些值小数点后四位都是正确的。 程序: PROGRAM BEGIN 程序开始 JISUAN1# FANGCHENGZU YUNSUAN 1#计算,计算方程组,用运算方式,即通过输入程序来实现电路之间的连接,不需直接接入某一种定制电路,用计算公式将自变量x和y通过加法器,减法器,乘法器,除法器等连接起来 DISPLAY ON 在计算机显示器上显示下面的公式 Φ(X,Y)=X+3LGX-Y^2=0 将方程式Φ的表达式表示出来 F(X,Y)=2X^2-XY-5X+1=0 ӘΦ/ӘX=1-0.43429/X ӘΦ/Ә Y=-2Y ӘF/Ә X=4X-Y-5 ӘF/ӘY=-X D=(Ә Φ/ӘX)( ӘF/ӘY)-( ӘΦ/ӘY)( ӘF/ӘX) △#=( ӘΦ/ Ә Y)F(3.4,2.2)-Φ(3.4,2.2)*( Ә F/ Ә Y) △$=Φ(3.4,2.2)*( ӘF/ӘX)-( ӘΦ/ӘX)F(3.4,2.2) H=△#/D,K=△$/D X=3.4+H,Y=2.2+K DISPLAY OFF 关闭在计算机显示器上显示公式 WRITE1# FANGCHENGZU Φ ON 将方程式Φ的表达式写入到Φ寄存器 Φ EQU X ADD ( 3 MUL LGX ) SUB (Y^2) Φ表示函数,EQU表示等号,X表示自变量,ADD表示加法,MUL表示乘法,LGX表示X的对数,SUB表示减法,Y^2表示Y的平方。 WRITE1# OFF 关闭1#写入 WRITE2# FANGCHENGZU F ON F EQU 2 MUL (X^2) SUB ( X MUL Y ) SUB ( 5 MUL X ) ADD 1 F表示函数,EQU表示等号,2表示数字2,MUL表示乘法,X^2表示X的平方,SUB表示减法,5表示数字5,MUL表示乘法,ADD表示加法 WRITE2# OFF WRITE3# FANGCHENGZU ӘΦ/ ӘX ON ӘΦ/Ә X EQU 1 SUB ( 0.43429 DIV X ) WRITE3# OFF WRITE4# FANGCHENGZU ӘΦ/ӘY ON ӘΦ/ӘY EQU 0 SUB ( 2 MUL Y ) WRITE4# OFF WRITE5# FANGCHENGZU ӘF/ӘX ON ӘF/ӘX EQU ( 4 MUL X ) SUB Y SUB 5 WRITE5# OFF WRITE6# FANGCHENGZU ӘF/Ә Y ON ӘF/Ә Y EQU 0 SUB X WRITE6# OFF WRITE7# FANGCHENGZU D ON D EQU (ӘΦ/ӘX) MUL (ӘF/ӘY) SUB (ӘΦ/ӘY) MUL (Ә F/ ӘX) WRITE7# OFF WRITE8# FANGCHENGZU D ON △# EQU (ӘΦ/ӘY) MUL F(3.4,2.2) SUB Φ(3.4,2.2) MUL (ӘF/ӘY) WRITE8# OFF WRITE9# FANGCHENGZU D ON △$ EQU Φ(3.4,2.2) MUL (ӘF/ӘX) SUB (ӘΦ/ӘX) MUL F(3.4,2.2) WRITE9# OFF WRITE10# FANGCHENGZU D ON △$ EQU Φ(3.4,2.2) MUL (ӘF/ӘX) SUB (ӘΦ/ӘX) MUL F(3.4,2.2) WRITE10# OFF WRITE11# FANGCHENGZU D ON H EQU △# DIV D WRITE11# OFF WRITE12# FANGCHENGZU D ON K EQU △$ DIV D WRITE12# OFF X=3.4+H,Y=2.2+K FANGCHENGZU NIUDUN DIEDAI RUN 执行方程组的牛顿迭代法计算电路 DIEDAI X,Y 对X,Y进行牛顿迭代法计算 DIEDAI TIME 0.1S 进行一次迭代的时间是0.1s DIEDAI CISHU M=3, 迭代次数为3次,保存在M寄存器里面 DISPLAY ON 在计算机显示器上显示计算结果X,Y寄存器里面的数据 X,Y DISPLAY OFF 关闭显示 RUN JISUAN1# 将计算结果保存到JISUAN1#寄存器 PROGRAM OVER 程序结束 用数字电路加法器,乘法器,除法器,各种数值按上面的程序连接电路,电路如下图所示 第三部分 牛顿弦线法计算电路 下面的资料可参见《微积分学教程》第一卷第一分册,P80,Г.М.菲赫哥尔次著,叶彦谦等译,人民教育出版社1956年出版。 考察例题,方程式。 3 2 3x -4x -6x-12=0 可以设 3 2 f(x)= 3x -4x -6x-12 可以将x=1,x=2,x=3,x=4分别代入函数f(x),计算函数值 f(2)=-16.f(3)=15, 所以可得 有一根在2与3之间,因为若用f(x)表示式子的左端,就有, f(2)=-16<0,f(3)=15>0., 兹规定要算出这根是准确度达到0.01. 在区间[2,3]内,两种导数, 2 f`(x)=9x -8x-6及f``(x)=18x-8 都保持着正号(情形Ⅰ); 一阶导数在这区间内的最小值是m=9*2*2-8*2-6=14, 就是说当x取最小值,即x=2时, f`(x)=9*2*2-8*2-6=14, 就有: f(2) *(3-2) 16 x =2- =2+ =2+0.5161... 1 f(3)-f(2) 31 四舍五入,令x =2+0.5161... ≈2.51 1 因为f(2.51)=-4.760647, 故依不等式(6),还没有达到要求的准确度。继续计算 (3-2.51)*f(2.51) 0.49*f(2.51) 0.49*(-4.760647) 2.33271703 x =2.51- = 2.51- = 2.51- = 2.51+ 2 f(3)-f(2.51) f(3)-f(2.51) 15-(-4.760647) 19.760647 =2.51+0.1180... 或四舍五入, x =2.51+ 0.1180...≈2.63 2 算出f(2.63)=-0.87326, 并使用不等式(6),仍旧看出还没有达到目的。最后, (3-2.63)*f(2.63) 0.37*f(2.63) 0.37*(-0.87326) 0.3231062 x =2.63- = 2.63- = 2.63- = 2.63+ 3 f(3)-f(2.63) f(3)-f(2.63) 15-(-0.87326) 15.87326 =2.63+0.203553.. 用四舍五入法凑足小数第二位令 x =2.63+ 0.203553...≈2.83 3 因为我们是在《向根的一侧》凑足小数第二位,所以x 可能会跳到这根的右边去; 3 但现在并未发生这种情形,这可由符号上看到,因为 f(2.83)=6.9799>0, f(2.63)=-0.87326<0 就有: f(2.63)*(2.83-2.63) 0.87326*0.2 0.1746 x =2.63- = 2.63+ = 2.63+ = 2.63+0.0222... 4 f(2.83)-f(2.63) 6.9799+0.87326 7.85316 四舍五入,令 x =2.63+ 0.0222... ≈2.65 4 因为f(2.65)=-0.161125, 故依不等式(6),还没有达到要求的准确度。继续计算 (2.83-2.65)*f(2.65) 0.18*f(2.65) 0.18*(-0.161125) 0.0290025 x =2.65- = 2.65- = 2.63- = 2.63+ 5 f(2.83)-f(2.65) f(2.83)-f(2.65) 6.9799+0.161125 7.141025 =2.63+0.203553.. 四舍五入,令 x =2.63+ 0.004061... ≈2.654 4 因为f(2.654)=-0.016864 在这一次,依不等式(6), 0.016864 |x -ξ|=ξ-x < <0.001204 4 4 14 这样,2.654<ξ<2.655,即ξ=2.654+0.001, 因为f(2.655)=0.19384125, f(2.654)<0, f(2.655)>0 所以真实根在区间[2.654,2.655]之间, 我们可以将3.63到3.64之间分成10等分 3 2 f(2.6541)≈3*2.6541 -4*2.6541 -6*2.6541-12 = 56.0884-28.17698-15.9246-12 =-0.01318 3 2 f(2.6542)≈3*2.6542 -4*2.6542 -6*2.6542-12 = 56.0947-28.17691-15.9252-12 =-0.00741 3 2 f(2.6543)≈3*2.6543 -4*2.6543 -6*2.6543-12 = 56.10108-28.1812-15.9258-12 =-0.00592 3 2 f(2.6546)≈3*2.6546 -4*2.6546 -6*2.6546-12 = 56.12011-28.1876-15.9276-12 =-0.00491 3 2 f(2.6549)≈3*2.6549 -4*2.6549 -6*2.6549-12 = 56.139146-28.19397-15.9294-12 =-0.00491 3 2 f(2.6544)≈3*2.6544 -4*2.6544 -6*2.6544-12 = 56.10743-28.18336-15.9264-12 =-0.00233 3 2 f(2.6545)≈3*2.6545 -4*2.6545 -6*2.6545-12 = 56.11377-28.185481-15.927-12 =0.001289 故依不等式(6),还没有达到要求的准确度。继续计算 (2.655-2.654)*f(2.654) 0.001*f(2.654) 0.001*(-0.016864) 0.00016864 x =2.654- = 2.654- =2.634- =2.634+ 6 f(2.655)-f(2.654) f(2.655)-f(2.654) 0.19384125+0.016864 0.210705 =2.654+0.00080036... 四舍五入,令 x =2.654+ 0.00080036... ≈2.6548 6 因为f(2.6548)=0.01214, 故依不等式(6),还没有达到要求的准确度。继续计算. (2.6548-2.654)*f(2.654) 0.0008*f(2.654) 0.0008*(-0.016864) 0.0000134912 x =2.654- = 2.654- =2.634- =2.634+ 7 f(2.6548)-f(2.6540) f(2.655)-f(2.6548) 0.01214+0.016864 0.029004 =2.654+0.00046515... 四舍五入,令 x =2.654+ 0.00046515... =-0.00233<0 7 因为 3 2 f(2.6545)≈3*2.6545 -4*2.6545 -6*2.6545-12 = 56.11377-28.185481-15.927-12 =0.001289>0 所以 x =2.654+ 0.00046515... =-0.00233是方程的近似解 7 用数字电路表示上边的计算过程, 程序: 计算下面方程式的根, 3 2 3x -4x -6x-12=0 可以将x=1,x=2,x=3,x=4分别代入函数f(x),计算函数值f(2)=-16.f(3)=15, 用数字电路加法器,乘法器,除法器,各种数值表示上面的方程, PROGRAM BEGIN 程序开始 JISUAN2# DISPLAY ON 3 2 3X -4X -6X-12=0 DISPLAY OFF XXJS SANCI FANGCHENG B 执行三次方程的牛顿弦线法计算法电路 INPUT IO02# A=3,B=-4,C=-6,D=-12 将方程式的系数用A,B,CD存储器存储起来, 3 2 三次方程AX +BX +CX+D=0是一个固定电路,只需要需要改A,B,C,D的值就可以形成不同三次方程的计算电路,可以将端口02#输入的A=3,B=-4,C=-6,D=-12分别代入电路中的寄存器,计算函数值 MAKEB X1=1,X2=2,X3=3,X4=4 可以将键盘输入的x1=1,x2=2,x3=3,x4=4分别代入电路中的寄存器,计算函数值, 可以将x=1,x=2,x=3,x=4分别代入函数f(x),计算函数值, 当输入数据X2=2时,计算得到负数,与门A导通,与门B导通,将数据2输入到电路中进行计算 RUN XXJS 执行牛顿弦线法计算法电路,接通三次方程的计算电路 OUTPUT JISUAN2# 1#IO 将计算结果输出到计算机端口01# SAVE JISUAN2# ZU 将计算中的寄存器数据都保存到JISUAN寄存器组 DISPLAY ON 在计算机显示器上显示计算结果X, X DISPLAY OFF PROGRAM END 程序结束 用数字电路表示上面的计算过程,计算下面方程式的根 3 2 3x -4x -6x-12=0 可以将x=1,x=2,x=3,x=4分别代入函数f(x),计算函数值, f(2)=-16.f(3)=15, 用数字电路加法器,乘法器,除法器,各种数值表示上面的方程, 用牛顿迭代法计算对数方程的根,下面的资料可参见《计算方法讲义》,中国科学院计算技术研究所编,科学出版社1958年出版, 例.求方程2x-lgx=7的实根,把原方程改写成,x=(lgx+7)/2, 从曲线y =2x-7和y =lgx之交点得其粗糙的近似值3.8。 1 2、 取这个值作为初始近似。于是按迭代公式得 x =(lg3.8+7)/2=3.79 1 x =(lg3.79+7)/2=3.7893 2 x =(lg3.7893+7)/2=3.7892 3 第二和第三近似完全一致。这可以作为方程的具有五位准确度的近似根。 程序: PROGRAM BEGIN JISUAN x=(lgx+7)/2 DDJS DUISHU FANGCHENG A 执行对数方程的牛顿迭代法计算法电路 TAKE A=1,B=7,E=1/2 通过计算机键盘向寄存器输入数据A=1,B=7,E=1/2,,改变的对数方程电路的参数,使电路参数变为变为x=(lgx+7)/2 GET M=3.8 可以将M=3.8分别代入函数f(x),计算函数值 RUN DDJS 执行牛顿迭代法计算法电路 OUTPUT JISUAN 2#IO 将计算结果输出到端口2# PROGRAM END x =(lg3.8+7)/2=3.79 1 x =(lg3.79+7)/2=3.7893 2 x =(lg3.7893+7)/2=3.7892 3 用数字电路加法器,乘法器,除法器,各种数值表示上面的方程, 计算电路如下: 用牛顿迭代法计算三角函数方程的根 例.求方程x+tgx=1的实根 把原方程改写成x=1-tgx, 从曲线y=1-x和y=tgx之交点得其粗糙的近似值1。取这个值作为初始近似。于是按迭代公式得 x =1-tg1=1-0.01745506=0.9825 1 x =1-tg0.98=1-0.0171058=0.982894 2 x =1-tg0.9828=1-0.0171547=0.982894 3 第二和第三近似完全一致。这可以作为方程的具有五位准确度的近似根。 注意对于ax+btgx=c的方程,取其解的近似值为c/a 注意对于ax+bsinx=c的方程,取其解的近似值为c/a 注意对于ax+bcosx=c的方程,取其解的近似值为c/a 注意对于ax+bctgx=c的方程,取其解的近似值为c/a 用牛顿迭代法计算三角函数方程的根 例.求方程2x+tgx=5的实根, 把原方程改写成x=(5-tgx)/2 从曲线y=5-2x和y=tgx之交点得其粗糙的近似值2.5。 取这个值作为初始近似。于是按迭代公式得 x =(5-tg2.5)/2=(5-0.04366094)/2=2.456 1 x =(5-tg2.456)/2=(5-0.04289155)/2=2.4571 2 x =(5-tg2.4571)/2=(5-0.04291079)/2=2.4570 3 第二和第三近似完全一致。这可以作为方程的具有五位准确度的近似根。、 用牛顿迭代法计算三角函数方程的根 例.求方程sinx+tgx=1的实根 把原方程改写成x=arcsin(1-tgx) 从曲线y=1-sinx和y=tgx之交点得其粗糙的近似值1。 取这个值作为初始近似。于是按迭代公式得 x =arcsin(1-tg1)=arcsin(1-0.017455)=arcsin0.9825=1.3635 1 x =arcsin(1-tg1.3635)=arcsin(1-0.0238)=arcsin0.97619=1.3439 2 x =arcsin(1-tg1.3439)=arcsin(1-0.0234597)=arcsin0.97654=1.34 3 第二和第三近似完全一致。这可以作为方程的具有五位准确度的近似根。 用牛顿迭代法计算三角函数方程的根。 例.求方程3sinx+tgx=2的实根 把原方程改写成x=arcsin[(2-tgx)/3], 从曲线y=2-3sinx和y=tgx之交点得其粗糙的近似值2/3=0.6666。取这个值作为初始近似。于是按迭代公式得 x =arcsin[(2-tg0.666666)/3]=arcsin0.64339=0.6981 1 x =arcsin[(2-tg0.6981)/3]=arcsin0.654481=0.7155 2 x =arcsin[(2-tg0.7155)/3]=arcsin0.654178=0.7155 3 第二和第三近似完全一致。这可以作为方程的具有五位准确度的近似根。 注意对于asinx+btgx=c的方程,取其解的近似值为c/a。 注意对于asinx+bcosx=c的方程,取其解的近似值为c/a。 注意对于asinx+bctgx=c的方程,取其解的近似值为c/a。 程序: PROGRAM BEGIN 程序开始 JISUAN1# 3sinx+tgx=2 计算方程式3sinx+tgx=2的根 FANGCHENG HUANJIAN x=arcsin[(2-tgx)/3] 将方程式化简为 DDJS SANJIAO FANGCHENG A 执行三角函数方程的牛顿迭代法计算法电路 MAKE A=2,B=-1,C=3 将方程式的系数用A,B,CD存储器存储起来,通过计算机键盘向寄存器输入数据A=2,B=-1,E=3,,改变三角函数方程电路的参数,使电路参数变为变为x=(lgx+7)/2 GET M=A/C=0.6666 可以将M=3.8分别代入函数f(x),计算函数值 RUN DDJS 与门导通接通方程式计算电路, OUTPUT JISUAN1# 3#IO 将计算结果输出到计算机2#端口 PROGRAM OVER 程序结束 x =arcsin[(2-tg0.666666)/3]=arcsin0.64339=0.6981 1 x =arcsin[(2-tg0.6981)/3]=arcsin0.654481=0.7155 2 x =arcsin[(2-tg0.7155)/3]=arcsin0.654178=0.7155 3 用数字电路加法器,乘法器,除法器,各种数值表示上面的方程,电路结构图如下: 第四部分 牛顿切线法计算电路 下面的资料可参见《微积分学教程》第一卷第一分册,P80,Г.М.菲赫哥尔次著,叶彦谦等译,人民教育出版社1956年出版。 2)第二个例题是解方程式 x*log x=1 10 利用这机会,给读者说明,怎么可以用函数的图示法来预测方程式的根的位置。 满足于方程式 1 log x= 10 x 的x值,显然表示两曲线 1 y=log x及y= 10 x 的交点的横标。 即使由它们的草图(图35)也可立刻看出,所求的根位于2与3之间。 y y=1/x y=log x 10 o 1 2 3 4 x 图85 这是容易计算来检验的,因为令 f(x)=x*log x-1 10 ,就有 f(2)==2*0.30103-1=-0.39793...<0,f(3)=3*0.47712125471-1=0.43136...>0, 注:查《中学数学用表》可知 log 2=0.3010, log 3=0.4771 10 10 现在要计算这根使准确度达到0.0001, 显然,在2≤x≤3时, f`(x)=(x*log x-1)`=(x*log x)`-(1)`=x`*logx+x*log` x x*log e =log x+ x =log x+log e>0 f``(x)= (log x+log e)`=log` x+log` e x*log e = >0 (情形Ⅰ); x 可以令m=0.7. 因为f(3)刚好与f``(x)同号,故依公式(8) 3*log 3-1 f(3) 10 x` =3- =3- 1 f`(3) log 3+log e 10 10 3*0.47712125471-1 =3- 0.47712125471+0.434294 0.43136... =3- =3-0.473... 0.91141... 令x` =3-0.47=2.53 1 就有f(x` )=f(2.53)=0.019894... 1 于是 0.0199 x` -ξ≤ <0.03 1 0.7 再求 2.53*log 2.53-1 f(2.53) 10 x` =2.53- =2.53- 2 f`(2.53) log 2.53+log e 10 10 2.53*0.4031205211758-1 =2.53- 0.4031205211758+0.434294 0.019894... =2.53- =2.53-0.02375... 0.83741... 注:log 2.53=0.4031205211758 10 取 x` =2.53-0.0237=2.5063 2 依不等式(6)估计误差: 用计算机器算得 log 2.5063=0.399033 10 f(2.5063)=2.5063*log 2.5063-1=2.5063*0.399033-1=0.000096... 0.000096... x` -ξ≤ <0.0002 2 0.7 即2.5061<ξ<2.5063 在这种情形,就有已经达到所求准确度的根, ξ=2.5602±0.00001, [实际上2.5062是ξ的盈近似值,因为f(2.5062)>0] 用数字电路表示上面的计算过程。 计算下面方程式的根 x*log x=1 10 即使由它们的草图(图35)也可立刻看出,所求的根位于2与3之间。显然,在2≤x≤3时, f`(x)=(x*log x-1)`=(x*log x)`-(1)`=x`*logx+x*log` x x*log e =log x+ x =log x+log e>0 f``(x)= (log x+log e)`=log` x+log` e x*log e = >0 (情形Ⅰ); x 可以将x=1,x=2,x=3,x=4分别代入函数f(x),计算函数值, f(2)==2*0.30103-1=-0.39793...<0, f(3)=3*0.47712125471-1=0.43136...>0, f(x)=x*log x-1 10 程序: PROGRAM BEGIN 程序开始 JISUAN3# DUISHU FANGCHENG x*log x-1=0 计算对数方程式的根 10 QXJS DUISHU FANGCHENG B 执行对数方程的牛顿切线计算法电路 MAKEA A=-1,B=x,E=0 可以将键盘输入的A=-1,B=x,E=0分别代入电路中的寄存器,计算函数值 MAKEB X1=1,X2=2,X3=3,X4=4 可以将键盘输入的x1=1,x2=2,x3=3,x4=4分别代入电路中的寄存器,计算函数值 RUN QXJS 与门导通,连接牛顿切线计算法电路 DISPALY ON 显示计算得到的根X X DISPALY OFF OUTPUT JISUAN3# 5#IO 将计算中JISUAN电路中所有寄存器里面的数据输出到计算机5#端口 PROGRAM END 程序结束 用数字电路加法器,乘法器,除法器,各种数值表示上面的方程, 156.例题及习题 在这一段内我们将专门使用切线法。 1)计算方程式 3 2 x -2x -4x-7=0 的根,使准确度达到0.01,已知这根在区间(3,4)内[参阅154]。我们有 3 2 f(x)=x -2x -4x-7,f(3)=-10<0,f(4)=+9>0, 2 在3≤x≤4时f`(x)=3x -4x-4>0,f``(x)=6x-4>0, (情形Ⅰ);|f`(x)|的最小值是m=11. 现在由给定区间的右端b=4出发,因为在这端点处函数f(x)与f``(x)有相同的符号。依公式(8) f(4) 9 x`=4- =4- =4-0.32... f`(4) 28 四舍五入,令 x` =4-0.3=3.7. 1 因为 f(x` )=f(3.7)=1.473, 1 故依不等式(6), 1.473 x` -ξ< <0.14 1 11 即还不够达到所需的准确度。再求 f(3.7) 1.473 x` =3.7- =3.7- =3.7-0.066... 2 f`(3.7) 22.27 令 x` =3.7-0.066=3.634 2 在这一次f(x`)=f(3.634)=0.042...,于是根据(6), 0.042 x` -ξ< <0.004 11 因此3.630<ξ<3.634,而ξ=3.63 已达到所求的准确度。(同是得出这一结果,在154内用弦线法却需要做三次)。 还可以再把准确度提高一点,所以真实根在区间[3.63,3.64]之间, 我们可以将3.63到3.64之间分成10等分. 3 2 f(3.631)≈3.631 -2*3.631 -4*3.631-7= = 47.871688591+ 26.368322+ 14.524 = -0.020633409 3 2 f(3.632)≈3.632 -2*3.632 -4*3.632-7= = 47.911251968+ 26.382848+ 14.528 = 0.000403968 由于 |0.000403968|< |-0.020633409| 所以3.632更接近于真实根,它就是方程的近似根 程序: PROGRAM BEGIN 3 2 JISUAN4# SANCI FANGCHENG x -2x -4x-7=0 QXJS SANCI FANGCHENG A 执行四次方程的牛顿切线计算法电路 MAKEA A=-7,B=-4,C=-2,D=1 将方程式的系数用A,B,CD存储器存储起来 可以将键盘输入的A=-7,B=-4,C=-2,D=1分别代入电路中的寄存器,计算函数值 MAKEB X1=1,X2=2,X3=3,X4=4 当输入数据X3=4时,计算得到正数,与门A导通,与门B导通,将数据4输入到电路中进行计算 RUN QXJS 与门导通,连接牛顿切线计算法电路 DISPALY ON 显示计算结果X X DISPALY OFF OUTPUT JISUAN4# C 6#IO 将计算中JISUAN4#电路中所有寄存器里面的数据输出到计算机6#端口 PROGRAM END 计算方程根的电路, 3 2 f(x)=x -2x -4x-7 用数字电路加法器,乘法器,除法器,各种数值表示上面的函数, f(x)计算电路 第五部分 计算实习电路 下面内容可参看《计算实习》,初等部分,王德人等编,高等教育出版社1959年出版 3.秦九韶除法[秦九韶程序] a a a …… a a 0 1 2 n-1 n S x S x S x S x 0 0 1 0 n-2 0 n-1 0 S S S …… S S =P(x ) 0 1 2 n-1 n 0 例设 4 3 2 P(x)=x -2x +3x +x-5 求x =1.32219时P(x )的值。计算表如下: 0 0 1 -2 3 1 -5 1.32219 ,-0.89619=-0.67781*1.32219 , 2.78164=2.10381*1.32219, 5.00005=3.78164*1.32219 1, -0.67781=-2+1.32219, 2.10381=3-0.89619, 3.78164=1+2.78164, 0.00005=-5+5.00005 因为, P(x )=S 0 0 因为, S =S x +a ,(k=1,2,...,n),S =a (5) k k-1 0 k 0 0 S =S x +a 4 3 0 4 S =S x +a 3 2 0 3 S =S x +a 2 1 0 2 S =S x +a 1 0 0 1 S =a 0 0 所以, P(1.32219)=S =0.00005 4 程序: PROGRAM BEGIN 程序开始 4 3 2 JISUAN1# DUOXIANGSHI P(x)=x -2x +3x +x-5 计算多项式P(X)的数值 QJSJS SICI DUOXIANGSHI A 用秦九韶法计算四次多项式的数值,电路切换到秦九韶法计算四次多项式值的固定电路 MAKEA A=1,B=-2,C=3,D=1,E=-5, 用键盘输入四次多项式的参数A=1,B=-2,C=3,D=1,E=-5 TAKEA X=1.32219 用键盘给电路中的X输入数值1.32219进行计算 RUN QJSJS 与门导通,四次多项式的秦九韶法计算电路接通,进行计算 DISPLAY ON 显示多项式P(X)的数值 P(X) DISPLAY OFF 关闭显示 OUTPUT JISUAN1# 2#IO 将计算方程式JISUAN1#中所有寄存器的数值输出到端口2# PROGRAM END 程序结束 计算公式如下: P(1.32219)=S =0.00005 4 S =S x +a 4 3 0 4 S =S x +a 3 2 0 3 S =S x +a 2 1 0 2 S =S x +a 1 0 0 1 S =a 0 0 用数字电路加法器,乘法器,除法器,各种数值表示上面的函数, 例1.用基本牛顿程序求方程2-x=logx的最小正根,并验证收敛条件。 首先,函数P(x)=logx+x-2在区间(0,+∞)内有意义,它的微商 1 P`(x)= loge+1, (loge≈0.4329448) x 在(0,+∞)内恒为正的,因此至多有一正根。 其次,由§1,(一)中的例知道,可取x =1.7作为初始近似, 0 注:§1,(一)中说明的是画图法求近似值,画出f(x)=2-x和函数f(x)=logx的图像,它们的交点近似值是1.7。 我们来验证收敛条件。因为P(1.7)=-0.6955,P`(1.7)=1.25547, 故可取 P(x ) 0 η= =0.0554 P`(x ) 0 1 B=0.76952,(因为 =0.76951445...) P`(x ) 0 在x =1.7的邻域│x-1.7│≤2η=0.1108内考虑P(x)的二阶微商 0 1 P``(x)=- loge 2 x 最大绝对值,得│P``(x)│≤│P``(1.5892)│≤0.17196 故可取K=0.17196, 最后我们得到h=BKη≤0.007<1/2, 因此,在邻域│x-1.7│≤0.1108内有方程的根。最后,由于P(x),P`(x)的函数值很容易求出, 故不必列出计算函数值的表。我们列出程序计算表如下: 表14 n 0 1 2 3 x n 1.7 1.75540 1.7558 1.75558 logx n 0.23045 0.24438 0.24442 P(x ) n -0.06955 -0.00022 0 P(x ) n 1.25547 1.24740 P(x ) n △x =- P`(x ) n 0.05540 0.00018 0 因此,x=1.75558即为方程的近似根。 因为初始近似x 选得较好,因此h较小,收敛也就较快。 0 这里的h=0.007,它当然小于0.05,参照表11知道, -4 当n=2时,表中h=0.05那一行给出估计为0.1825*10 , -4 -5 而我们这里的η=0.0554,故有误差不超过0.1825η*10 <0.112*10 程序: PROGRAM BEGIN 程序开始 JISUAN1# DUISHU FANGCHENG logx+x-2=0 计算对数方程的根。进入对数方程计算根的电路 NDJS DUISHU FANGCHENG C 与门导通,接入秦九韶法计算方程式根的电路 MAKEA A=1,B=1,C=-2, 键盘输入对数方程的系数A=1,B=1,C=-2 MAKEB F=1,G=loge,H=1, 键盘输入P(x)导数的系数F=1,G=loge,H=1 TAKEA X=1.7 用键盘给电路中的X输入数值1.7 RUN QJSJS 接通电路进行计算 DISPLAY ON 显示计算得到的根X X DISPLAY OFF OUTPUT JISUAN1# 3#IO 将计算电路JISUAN1#中所有寄存器的数据输出到3#端口 PROGRAM END 程序结束 计算方程根的公式如下: P(x ) n x =x +△x =x - n+1 n n 1 P`(x ) n 上式中, P(x)=logx+x-2, 1 P``(x)=- loge+1, (loge≈0.4329448) x 用数字电路加法器,乘法器,除法器,各种数值表示上面的函数, 例2.用牛顿法求方程 4 3 2 P(x)=x +3x +0.8x -0.1x-2=0 的最小正实根。因P(1)=正数,P(0)=-1,故[0,1]间有根,我们取x =0.7,不难求得 0 B=0.15,η=0.06011,K=32, 故 h=0.27951, 由收敛定理得知用牛顿法计算时收敛,并且由表11可知h=0.3时, -1 只要计算三步即n=3,就可以使误差不超过0.2784η*10 <0.17*10 现在我们按5位小数计算于表: n 0 1 2 3 x n 0.7 0.76011 0.75546 0.75543 P(x ) n -0.4089 0.03752 0.00022 -0.00002 P(x ) n 6.82 8.07275 7.96984 7.96918 P(x ) n △ =- n P`(x ) n 0.06011 -0.00465 -0.00003 0.00000 得最小正实根为x=0.75543, 由此可见,上面的收敛速度的估计准确。 程序: PROGRAM BEGIN 程序开始 4 3 2 JISUAN1# SICI FANGCHENG P(x)=x +3x +0.8x -0.1x-2=0 计算1#,计算四次方程的根 QJSJS QJSSICI FANGCHENG B 用秦九韶法计算四次方程式的根 MAKEA A=1,B=3,C=0.8,D=-0.1,E=-2 用键盘输入方程式P(X)的系数A=1,B=3,C=0.8,D=-0.1,E=-2 MAKEB F=3,G=9,H=1.6,I=-0.1, 用键盘输入方程式P`(X)的系数F=3,G=9,H=1,I=-0.1 TAKEA X=1.7 用键盘输入X的初始值1.7 RUN QJSJS 接通电路进行计算 DISPLAY ON 液晶显示器显示JISUAN1#电路中所有寄存器的数据,和根X的数值 JISUAN1#,X DISPLAY OFF 关闭显示 PROGRAM END 程序结束 计算方程根的公式如下: P(x ) n x =x +△x =x - n+1 n n 1 P`(x ) n 上式中, 4 3 2 P(x)=x +3x +0.8x -0.1x-2=0 3 2 P(x)=3x +9x +1.6x-0.1=0 计算公式如下: P(1.32219)=S =0.00005 4 S =S x +a 4 3 0 4 S =S x +a 3 2 0 3 S =S x +a 2 1 0 2 S =S x +a 1 0 0 1 S =a 0 0 用数字电路加法器,乘法器,除法器,各种数值表示上面的函数, 用秦九韶除法计算多项式P(x)的值 例,求方程 4 3 2 P(x)≡x +x -3x +12x-12=0 的最小正实根,按四位小数进行计算。 首先,因P(0)<0,P(2)>0,故在(0,2)内必有方程的根。又因P(x)的微商 3 2 P`(x)=4x +3x +6(2-x) 在(0,2)内是正的,因此,方程在(0,2)内只有一个根,即在(0,2)内方程的根是最小正根。其次,取初始近似x =1,而把方程改写成下面形式: 0 4 3 2 x=-(x +x -3x -12)/12=φ(x) 但 3 2 φ`(x)=-(4x +3x -6x)/12 在x =1的值为φ`(1)=1/12很小,因此可以进行叠代。 0 计算表格如下: 根据秦九韶除法计算多项式 4 3 2 x=-(x +x -3x -12)/12=φ(x) 的值,如下表所示 表10 x i a =1 0 a =1 1 a =-3 2 a =0 3 a =-12 4 φ(x )=-S /12 I 4 1 1=1*1 2=2*1 -1=-1*1 -1=-1*1 1.0833 1 2=1+1 -1=2*1-3 -1=-1*1-0 S =-13=-1*1-12 4 1.0833 1.0833 2.2568 -0.8051 -0.8722 1.0727 1 2.0833 -0.7432 -0.8051 -12.8722 1.0727 1.0727 2.2234 -0.8331 -0.8937 1.0745 1 2.0727 -0.7766 -0.8331 -12.8937 1.0745 1.0745 2.2291 -0.8283 -0.8900 1.0742 1 2.0745 -0.7709 -0.8283 -12.8000 1.0749 1.0742 2.2281 -0.8292 -0.8907 1.0742 1 2.0742 -0.7719 -0.8292 -12.8907 由此得到所求的最小正根的近似值为1.0742, 注:秦九韶除法计算多项式的公式如下 S =S x +a ,(k=1,2,...,n),S =a (5) k k-1 0 k 0 0 表5 a a a …… a a 0 1 2 n-1 n S x S x S x S x 0 0 1 0 n-2 0 n-1 0 S S S …… S S =P(x ) 0 1 2 n-1 n 0 程序: PROGRAM BEGIN 程序开始 4 3 2 JISUAN2# SICI FANGCHENG x=-(x +x -3x -12)/12=φ(x) 计算1#,计算四次方程的根 QJSJS DDSICI FANGCHENG A 选择秦九韶法,迭代计算四次方程的根的计算电路 MAKEA A=1,B=1,C=-3,D=0,E=-12,K=-12 用键盘给四次方程计算电路输入参数A=1,B=1,C=-3,D=0,E=-12,K=-12 TAKEA X=1 用键盘输入X的初始值1 RUN QJSJS 与门导通,接通四次方程计算电路,开始计算 DISPLAY ON 液晶显示屏显示计算得到的根X,计算中所有寄存器的数值 P(X),JISUAN4# DISPLAY OFF OUTPUT P(X) 2#IO 将计算得到的根X输出到计算机端口2# PROGRAM END 程序结束 计算公式如下: P(1)=S =1 4 S =S x +a 4 3 0 4 S =S x +a 3 2 0 3 S =S x +a 2 1 0 2 S =S x +a 1 0 0 1 S =a 0 0 用数字电路加法器,乘法器,除法器,各种数值表示上面的函数, 计算电路如下 第六部分 罗巴切夫斯基法电路 例1.用罗巴切夫斯基法求方程 5 4 3 2 P(x)≡x -2.04878x -13.08943x +14.06504x +23.90244x-1.08943=0 的所有根。首先计算系数,在计算中我们取五倍以上有效数字,见表29. 表29 k m=2 a 0 a 1 a 2 a 3 a 4 a 5 0 1=2 1 -2.04878 -13.08943 14.06504 23.90244 -1.08943 2 1 2 a =4.19750 1 -2a a =26.17886 0 2 2 a =171.33318 2 -2a a =57.633234 1 3 -2a a =47.80488 0 4 2 a =197.82535 3 -2a a =625.73864 2 4 -2a a =4.46400 1 5 2 a =571.32664 4 -2a a =30.64575 3 5 2 a =1.18686 5 1 2=2 1 2 3.03764*10 2 2.76770*10 3 8.28030*10 2 6.01972*10 1.18686 4 2 9.22726*10 2 -5.53540*10 4 7.66016*10 3 -50.30514*10 2 12.03944*10 4 68.56337*10 4 -32.32156*10 72.10506*10 4 36.23703*10 2 -19.65512*10 2 4=2 1 2 3.69186*10 4 2.75004*10 4 35.31391*10 4 36.04048*10 1.40864 8 4 13.62983*10 4 --5.50008*10 8 7.56272*10 8 -2.60748*10 4 72.08096*10 3 1247.07224*10 3 -198.22552*10 2 10.40100*10 8 1298.91620*10 4 -99.48917*10 3 8=2 1 2 8.12975*10 8 4.96245*10 11 1.04885*10 11 1.29891*10 1.98427 16 8 66.09284*10 8 -9.92490*10 16 64.62591*10 15 -17.05378*10 11 2.59782*10 22 1.10009*10 19 -12.88145*10 0 8 1.68717*1022 0 4 16=2 1 9 5.61679*10 17 2.29206*10 22 1.08721*10 22 1.68717*10 3.98733 32 18 31.54883*10 17 -4.58412*10 34 5.25354*10 31 -12.21326*10 0 44 1.18203*10 39 -7.73419*10 0 44 2.84654*10 0 5 32=2 1 19 3.10899*10 34 5.24133*10 44 1.8195*10 44 2.84654*10 1.55026*10 64 38 9.66582*10 34 -10.48266*10 68 27.47154*10 0 0 88 1.39701*10 0 0 88 8.10279*10 0 5 32=2 1 38 9.66477*10 69 2.74715*10 88 1.39701*10 88 8.10279*10 2 2.4033*10 128 76 93.40778*10 69 -5.49430*10 138 7.54683*10 0 0 176 1.95164*10 0 0 176 65.65521*10 0 6 128=2 1 77 9.34078*10 138 7.54683*10 176 1.95164*10 177 6.56552*10 4 5.77585*10 注:表中所写的0,并非真为0,只说明在我们所取的有效数字范围内不起作用。 从表29中看出,方程只有实根,而且 (7) (6) 2 a = (a ) , (i=0,1,2,3,4,5) i i 7 所以计算即可停止。此时m=2 =128,从关系式 (7) a 128 i x = , (i=0,1,2,3,4,5) (7) a i-1 求实根的绝对值│x │,(i=1,2,3,4,5) i 由表29得 128 77 x =9.34078*10 1 两边同时取对数得 128lg│x │=77+lg9.34078=77.97038, 1 lg│x │=0.6091449,│x │=4.0658, 1 1 同时查表29,得 128lg│x │=138+lg7.54683-77-lg9.34075=60.90738 2 lg│x │=0.475839,│x │=2.99115, 2 2 128lg│x │=176+lg1.95164-138-lg7.54683=37.41264 3 lg│x │=0.292286,│x │=1.96014, 3 3 128lg│x │=177+lg6.56552-176-lg1.95164=1.52687 4 lg│x │=0.011929,│x │=1.02785, 4 4 128lg│x │=4+lg5.77585-177-lg6.56552=-173.055656 5 lg│x │=-1.351997=2.648003,│x │=0.04446, 5 5 最后由观察与计算定出x 的正负号,因此得到方程的全部根如下: i x =4.0658,x =-2.99115,x =1.96014,x =-1.02785,x =0.04446, 1 2 3 4 5 程序: PROGRAM BEGIN 程序开始 JISUAN1# WUCI FANGCHENG 5 4 3 P(x)≡x -2.04878x -13.08943x +14.06504x +23.90244x-1.08943=0 1#计算,计算五次方程式的根 LBQJS WUCI FANGCHENG D 选择罗巴切夫斯基法计算五次方程式的根的电路 MAKEA A=1,B=-2.04878,C=-13.08943,D=14.06504,E=23.90244,F=-1.08943, 用键盘输入计算电路的参数A=1,B=-2.04878,C=-13.08943,D=14.06504,E=23.90244,F=-1.08943 GET X1,X2,X3,X4,X5 将计算得到的根X1,X2,X3,X4,X5存储在存储器中 RUN LBQJS 与门导通,接入罗巴切夫斯基法计算电路,进行计算 DISPLAY ON 在液晶显示器上显示方程式的五个根X1,X2,X3,X4,X5 X1,X2,X3,X4,X5 DISPLAY OFF OUTPUT JISUAN1# 3#IO 将计算1#中的寄存器中的所有数据输出到计算机3#端口 PROGRAM END 程序结束 计算上面方程根的罗巴切夫斯基方法见上面的表29。 用数字电路加法器,乘法器,除法器,各种数值表示表29的计算公式, 电路图如下所示 第八部分 林士鄂法计算电路 下面内容可参看《计算实习》,初等部分,王德人等编,高等教育出版社1959年出版 §8.林士鄂法(析因子法) 注:我国自动控制学家,航空教育专家林士鄂在留学美国麻省理工学院期间,以《飞机自动控制理论》论文获航空科学博士学位,该论文提出的“高阶方程劈因解法”,被誉为“林士鄂法”。即为此方法。 这个方法适用于求代数方程 n n-1 P(x)≡a x +a x +...+a x+a =0 (27) 0 1 n-1 n 的根,其中a ,a ,...,a 都是实数,而次数n>2。 0 1 n 这个方法的实质是由P(x)的近似二次三项式因子 2 x +p x+q 0 0 出发,寻求P(x)的近似二次三项式因子 2 x +p x+q k k 而把求n次代数方程(27)的根归结为求二次方程的根。 注:为了简单起见,我们这里特别1只讲析出二次三项式因子的计算方法,一般可析出m,(m<n)次因子。 p 与q 按下面关系式计算: k k -p =a ,-q =-a 0 0 0 0 (0) b =a 0 0 (k) b n-1 p =p + k+1 k (k) b n-1 (k) a n p = ,(k=0,1,2,...) (28) k+1 (k) b n-2 其中, (k) b =a 0 0 (k) (k) b =a -p b 1 1 k 0 (k) (k) (k) b =a -p b -q b 2 2 k 1 k 0 (k) (k) (k) b =a -p b -q b 3 3 k 2 k 1 …………….. (k) (k) (k) b =a -p b -q b n-1 n-2 k n-3 k n-4 (k) (k) (k) b =a -p b -q b n n-1 k n-2 k n-3 其计算可按下面表36进行。 表36 k a 0 a 1 a 2 … a n-2 a n-1 a n (k) b n-1 (k) b n-2 a n (k) b n-2 0 -p 0 (0) -p b 0 0 (0) -p b 0 1 (0) -p b 0 n-3 (0) -p b 0 n-2 (0) b n-1 (0) b n-2 a n (0) b n-2 -q 0 (0) -p b 0 0 (0) -p b 0 n-4 (0) -p b 0 n-3 (0) b 0 (0) b 1 (0) b 2 (0) b n-2 (0) b n-1 1 -p 1 -q 1 如果计算到第k +1步出现 0 p =p ,q =q k k +1 k k +1 0 0 0 0 计算即可停止。方程 2 x +p x+q =0 k k 0 0 的根即为方程(27)的二个近似根。 (1) (2) 如果用试验法求的方程(27)的二个粗糙的近似根x 与x ,即可取 0 0 (1) (2) (1) (2) p =-x -x ,q =x x 0 0 0 0 0 0 如果求的一个粗糙的近似复根x =u +iv ,则可取 0 0 0 2 2 p =-2u ,q =u +v 0 0 0 0 0 此外,如果知道方程(27)有二个绝对值为很小的近似根,且a ≠0 n-2 则可删去多项式P(x)中次数大于2的一切项而得初始近似二次三项式因子 a a 2 n-1 n x + x+ a a n-2 n-2 例.用林氏法求方程 6 5 4 3 2 P(x)≡x -6x +16x -28x +45x -34.6x+22.4=0 的两个根,按五位小数进行计算,已给p =-1,q =-1。 0 0 按表36计算p 与q 而得表37. k k 表37 k 1 a =1 0 a =6 1 a =16 2 a =-28 3 a =45 4 a =-34.6 5 a =22.4 6 (k) b n-1 (k) b n-2 (k) b P =P + n-1 K+1 k (k) b n-2 a q = n k (k) b n-2 0 -p =1 0 1 -5 10 -13 22 0.01818 -0.98182 1.01818 -q =-1 0 -1 5 -10 13 1 5 10 -13 22 0.4 1 -p=0.98182 1 0.98182 -4.92695 9.87207 -12.78184 21.58088 0.01074 -0.97108 1.01909 -q=-1.01818 1 -1.01818 5.10941 -10.23767 13.25520 1 -5.01818 10.05487 -13.01852 21.98049 0.23608 2 0.97108 0.97108 -4.88348 9.80522 -12.69188 21.38137 0.00457 -0.96651 1.01734 -1.01909 -1.01909 5.12492 -10.28999 13.31936 1 -5.02892 10.09743 -13.06986 22.01813 0.10073 3 0.96651 0.96651 -4.86492 9.77890 -12.66160 21.30698 0.00156 -0.96495 1.01609 -1.01734 -1.01734 5.12077 -10.29318 13.32749 1 -5.03349 10.11774 -13.10033 22.04522 0.03442 4 0.96495 0.96495 -4.85857 9.77045 -12.65386 21.28475 0.00042 -0.96458 1.01551 -1.01609 -1.01609 5.11606 -10.28826 13.32449 1 -5.03505 10.12534 -13.11349 22.05788 0.00924 5 0.96453 0.96453 -4.85686 9.76840 -12.65273 21.28000 0.00006 -0.96447 10.1529 -1.01551 -1.01551 5.11537 -10.28471 13.32149 1 -5.03547 10.12763 -13.11803 22.06256 0.00149 6 0.96447 0.96447 -4.85662 9.76824 -12.65311 21.28001 -0.00001 -0.96448 1.01523 -1.01529 -1.04529 5.11252 -10.28295 13.31983 1 -5.03553 10.12809 -13.11924 22.06394 -0.00016 7 0.96448 0.96448 -4.85666 9.76836 -12.65343 21.28049 -0.00001 -0.96449 1.01522 -1.01523 -1.01523 5.11221 -10.28236 13.31924 1 -2.03552 10.12811 -13.11943 22.06421 -0.00027 8 0.96449 0.96449 -4.85670 9.76843 -12.65355 21.28072 -0.00001 -0.96450 1.01522 -1.01522 -1.01522 5.11215 -10.28223 13.31910 1 -5.03551 10.12808 -13.11942 22.06422 -0.00018 9 0.96450 0.96450 -4.85674 9.76849 -12.65363 21.28090 0 -0.96450 1.01522 -1.01522 -1.01522 5.11214 -10.28219 13.31905 1 -5.03550 10.12804 -13.11937 22.06418 -0.00005 由表37知p =-0.96450,q =1.01522,因此P(x)有近似二次因子 0 0 2 x -0.96450x+1.01522 解方程 2 x -0.96450x+1.01522=0 得 2 -b± b -4ac x = 1,2 2a 2 0.96450± 0.96450 -4*1.01522 x = 1,2 2 x =0.48225±i√0.78265 1,2 这也就是原方程的两个根。[注]1.这方法的程序收敛很慢,有时甚至计算二、三十步,并且初始近似不容易取,有时初始近似甚至取得与真值很接近,程序也可能发散。注意:关于判断此程序收敛的问题,直到目前还未解决。 2.计算中若有一个数据出错,往往对结果影响很大。通常计算几部以后可以看出规律,如果发现某一数据突然变换很大,那么不是计算错误就是程序不收敛。 3.如果是四次方程就可同时求出四个近似根。 程序: PROGRAM BEGIN 程序开始 6 5 4 3 2 JISUAN1# FANGCHENG P(x)≡x -6x +16x -28x +45x -34.6x+22.4=0 1#计算,计算六次方程式的虚根 LSEJS LIUCI FANGCHENG E 选择林士鄂法计算六次方程式电路 MAKEA A=1,B=-6,C=16,D=-28,E=45,F=-34.6,G=22.4, 键盘输出六次方程式电路的参数A=1,B=-6,C=16,D=-28,E=45,F=34,G=22.4 GET P,Q 把计算电路最后得到的P,Q两个参数存储到P寄存器,Q寄存器 RUN LSEJS 与门导通,接通林士鄂法六次方程式计算电路,进行计算 DEPLAY ON 液晶显示器显示计算得到的P,Q,方程式的虚根X1,X2等值 P,Q,X1,X2 DEPLAY OFF OUTPUT JISUAN1# 5#IO 将计算中的所有寄存器的数据输出到计算机5#端口 PROGRAM END 程序结束,与门截止,电路关闭 计算上面方程根的罗巴切夫斯基方法见上面的表29。 用数字电路加法器,乘法器,除法器,各种数值表示上面表29的计算公式, 第八部分 计算一元三次方程式的卡丹公式计算电路 推导过程可参见А.Г.УРОШ库洛什著高等代数教程1953年版, 41.三次与四次方程, 说明,计算一元三次立方根的卡尔丹公式如下: 3 2 y +ay +by+c=0 (1) 设y=x+h,得 3 2 (x+h) +a(x+h) +b(x+h)+c=0 3 2 2 3 x +(3h+a)x +(3h +2ah+b)x+h +bh+c=0 上面方程可转化为, 3 x +px+q=0 (3) 其中, y=x-a/3, (2) h=-a/3, 2 2 p=3h +b+2ah=b-a /3, 3 3 q=h +bh+c=-a /27-ab/3+c, 只要求得方程(3)的根,那么我们根据(2)就可以得到方程(1)的根, 根据基本定理方程(3)有三个复数根,设x0是其中一个, 我们引入辅组未知量u来讨论多项式, 2 f(u)=u -x0u-p/3, 它的系数为复数,故有两个复数根α和β。而且由韦达公式,得, α+β=x0 (4) αβ=-p/3 (5) 以根x0的表达式(4)代(3)中,我们得出: 3 (α+β) +p(α+β)+q=0, 或, 3 3 α +β +(3αβ+p)(α+β)+q=0, 但由(5)得3αβ+p,故有, 3 3 α +β =-q (6) 另一方面,由(5)推得, 3 3 3 α β =-p /27 (7) 3 3 等式(6)与(7)证明了,数α 和β 是系数为复数的二次方程, 3 2 p z +qz- =0 (8) 27 的根, 解方程(8),我们得到: 2 3 q q p z =- ± + 2 4 27 3 2 3 q q p α= - ± + 2 4 27 3 2 3 q q p β= - ± + (9) 2 4 27 注意:因α和β在等式(6)和(7)中,同时在x0的表达式(4)中,都是对称的, 3 3 故对方程的根(S)的根,以何者为α 何者为β 是没有什么分别的。这就是说α,β可以相互交换位置,得到的计算结果不变. 即, 3 2 3 q q p β= - ± + 2 4 27 3 2 3 q q p α= - ± + (9) 2 4 27 或, 3 2 3 q q p α= - ± + 2 4 27 3 2 3 q q p β= - ± + (9) 2 4 27 两者的计算结果是相同的, 我们得到次之卡尔丹公式,把方程(3)的根经其系数用平方根与立方根来表出: 3 3 2 3 2 3 q q p q q p x0=α+β= + + + - + + 2 4 27 2 4 27 因立方根在复数域中有三个值,所以(9)式给予α三个值与β三个值。 注意:ε是1的立方根,即 3 ε =1, 因为1开立方在复数平面内有3个根。分别是 ε =1, ε =-1/2+i√3/2, ε =-1/2+i√3/2, 0 1 2 程序: PROGRAM BEGIN 程序开始 3 2 JISUAN1# FANGCHENG y +ay +by+c=0 计算1#,计算一元三次方程式的根 KDJS SANCI FANGCHENG D 选择卡丹公式计算三次方程式电路 MAKEA A=a,B=b,C=c, 用键盘输入一元三次方程式的参数A=a,B=b,C=c, GET X0,X1,X2, 将计算得到的三个根放在X0,X2,X3寄存器里面 DISPLAY ON 液晶显示器显示计算得到的根X0,X1,X2 X0,X1,X2 DISPLAY OFF OUTPUT X0,X1,X2 4#IO 将计算得到的根X0,X1,X2输出到计算机4#端口 PROGRAM END 程序结束,与门截止,电路关闭 第九部分 根的判别计算电路 下面的资料可参见《计算方法讲义》,中国科学院计算技术研究所编,科学出版社1958年出版。 1.根的位置 在讲述求根的近似方法之前,先复习一下高中课程中讲过的关于根分布在怎样的界限内的知识,对我们今后讨论求方程式的根的近似方法是有用处的。先叙述两个求方程式正根上界的方法(证明参阅[1]或[2])。 1)设实系数方程式 n n-1 f(x)=a x +a x +...+a =0 (1) 0 1 n 的最高次项的系数a 是正的(否则,以-1相乘两端)k≥1是它的第一个负系数的下标, 0 以及B为所有负系数的绝对值的最大值,那么 k B R=1+ (2) a 0 是方程式(1)的正根上界。 2)设(1)的最高次项的系数a >0, 0 n 如果x=a时方程本身及其各次导数f`(x),f``(x),...,f (x)都取正值,那么a为(1)的正根上界。 例.求方程 4 2 f(x)=x -5x +6x-8=0 的正根上界. 方法(1),此处k=2和B=8,由(2)得到它的正根上界大致为4. k 2 B 8 R=1+ =1+ =3.8284 a 1 0 方法(2),它的各次导数为: 3 f`(x)=4x -10x+6 2 f``(x)=12x -10 f```(x)=24x (Ⅳ) f (x)=24 当x=2时,它们皆为正,因此方程正根的上界为2. 由例可见,方法(2)比方法(1)准确一些。现在来讲实根定位的斯多姆(Sturm)方法。 设f(x)=0是实系数的方程式。假定f(x)不含重因子,即f(x)和f`(x)彼此互质。使用辗转相除法于f(x)和f`(x)后,我们有函数列: f(x)=g(x)f`(x)-f (x), 1 f`(x)=g (x)f (x)-f (x), } (3) 1 1 2 …… f (x)=g (x)f (x)-f (x), m-2 m-1 m-1 m 式中f (x)表示方程f(x)和导数f`(x)的最高因式。 m (3)具有下列性质,并称它为f(x)的斯多姆函数列。 a)任何两个相邻的函数没有公共根。 b)若α是f (x)的实根,则f (x)的相邻函数f (x)和f (x)在x=α处不同号。 k k k-1 k-1 c)若x增加时,经过函数列中某一函数(f(x)和f (x)除外)的实根, m 则函数列(3)变号不受影响。 d)当x经过f(x)的实根时,则f(x)和f`(x)之间的变号减少一个。这样一来,我们有实根定位的斯多姆方法: 设a和b不是f(x)的根。f(x)在区间[a,b]内实根的个数等于x由a变到b时f(x)的斯多姆函数列减少的变号数。 事实上,若x增加时经过斯多姆函数列(f(x)和f (x)除外)某函数的实根, m 由性质c)斯多姆函数列的变号数保持不变。若x经过f(x)的实根,由性质d)f(x)和f`(x)之间的变号数减少一个。从而整个斯多姆数列的变号数减少一个。因此,当x从a增至b时,变号数减少的数目等于区间[a,b]中所含f(x)的实根的个数。 例.试求方程式 5 4 3 2 f(x)=5x -14.32x +4.53x -15.39x -9.86x+23.97=0 的实根个数。作出f(x)的斯多姆函数列: 5 4 3 2 f(x)=5x -14.32x +4.53x -15.39x -9.86x+23.97 4 3 2 f`(x)=25x -57.28x +13.59x -30.78x-9.86 3 2 f (x)=4.750x +7.677x +11.414x-22.84 1 2 f (x)=-111.50x -324.17x+479.58 2 f (x)=-49.75x+49.30 3 f (x)=-48.95 4 求出函数列在x=+∞和x=-∞的变号数: f(x) f`(x) f (x) 1 f (x) 2 f (x) 3 f (x) 4 变号数目 -∞ - + - - + - 4 }减少3 1 +∞ + + + - - - 求函数列在x=+∞和x=-∞的变号数的过程如下: x=+∞时,f(x)计算过程如下所示 5 4 3 2 5 5 f(x)=5x -14.32x +4.53x -15.39x -9.86x+23.975=5(+∞) =5(+1) =+∞ 4 3 2 4 4 f`(x)=25x -57.28x +13.59x -30.78x-9.86=25(+∞) =25(+1) =+∞ 3 3 3 3 f (x)=4.750x +7.677x +11.414x-22.84=4.750(+∞) =4.750(+1) =+∞ 1 2 2 2 f (x)=-111.50x -324.17x+479.58=-111.50(+∞) =-111.50(+1) =-∞ 2 f (x)=-49.75x+49.30=-49.75(+∞)=-∞ 3 f (x)=-48.95 4 x=-∞时,f(x)计算过程如下所示 5 4 3 2 5 5 f(x)=5x -14.32x +4.53x -15.39x -9.86x+23.975=5(-∞) =5(-1) =-∞ 4 3 2 4 4 f`(x)=25x -57.28x +13.59x -30.78x-9.86=25(-∞) =25(-1) =+∞ 3 2 3 3 f (x)=4.750x +7.677x +11.414x-22.84=4.750(-∞) =4.750(-1) =-∞ 1 2 2 2 f (x)=-111.50x -324.17x+479.58=-111.50(-∞) =-111.50(-1) =-∞ 2 f (x)=-49.75x+49.30=-49.75(-∞)=-49.75(-1)=+∞ 3 f (x)=-48.95 4 由此可见,f(x)=0有三个实根在区间[-∞,+∞]内。 用方法2求实根,f(x)的各次导数为 4 3 2 f`(x)=25x -57.28x +13.59x -30.78x-9.86 3 2 f (x)=4.750x +7.677x +11.414x-22.84 1 2 f (x)=-111.50x -324.17x+479.58 2 f (x)=-49.75x+49.30 3 当x=3时,它们皆为正,因此方程正根的上界为3. 用求实根上界的第二方法,不难求出它的实根上界等于3,应用斯多姆方法得: f(x) f`(x) f (x) 1 f (x) 2 f (x) 3 f (x) 4 变号数目 -1 - + - + + - 4 3 }减少1 2 }减少1 2 1 }减少1 0 + - - + + - 1 - - + + - - 2 - - + - - - 3 + + + - - - 由此推出,f(x)=0的三个实根位置是:-1≤x≤0,0≤x≤1,2≤x≤3, 知道实根位于哪个区间后,就能用古典的隔离法求出根的近似值。 设已知f(x)有一实根在某一区间上,我们平分该区间,得两个区间,其中必有一区间有f(x)的根。再分这个新区间,又得两个区间,其中必有一个有f(x)的根。再继续上面的作法,我们就得到一系列分点a ,a ,...,a (如图5.1), 1 2 n 这些点是逼近于方程式f(x)=0的根α的,这就是根的隔离法。 程序: PROGRAM BEGIN 程序开始,与门导通,输入磁带程序编码 4 2 JISUAN GSX x -5x +6x-8=0 计算四次方程式的根的上限值 GSXJS SICI FANGCHENG A 与门导通接通计算四次方程式的根的上限值的第一种电路 SET K=2,B=3,a0=1 键盘输入计算电路的参数K=2,B=3,a0=1 RUN SET TO R 将键盘输入的参数代入计算电路进行计算 DISPLAY ON 液晶显示器显示根的上限值R PROGRAM END 程序结束,与门截止,电路关闭 第一种方法, 用上面的程序计算四次方程实根的上限值 k B R=1+ a 0 用数字电路加法器,乘法器,除法器,各种数值表示上面的函数, 程序: PROGRAM BEGIN 程序开始,与门导通,输入磁带程序编码 4 2 JISUAN GSX x -5x +6x-8=0 计算四次方程式的根的上限值 GSXJS SICI FANGCHENG C 与门导通接通计算四次方程式的根的上限值的第二种电路 SETA A1=4,B1=-10,C1=6 键盘输入计算电路的参数A1=4,B1=-10,C1=6 SETB A2=12,B2=-10, 键盘输入计算电路的参数A2=12,B2=-10, SETC A3=24 键盘输入计算电路的参数A3=24 GET M1=1,M1=2,M3=3,M4=4 键盘输入计算电路的根的数值M1=1,M1=2,M3=3,M4=4 GET M1=1,M1=2,M3=3,M4=4 将键盘输入的参数代入计算电路进行计算 DISPLAY ON 液晶显示器显示根的上限值M M 程序结束,与门截止,电路关闭 DISPLAY OFF PROGRAM END 计算得到的数据进行平方计算,如果是负数,平方后得到正数,开方后得到正数,加上原来的负数,输出0. 计算得到的数据进行平方计算,如果是正数,平方后得到正数,开方后得到正数,加上原来的正数,输出正数。 如果加法器输出0,或门输出1,与门输出1,状态寄存器A保存1,证明方程计算得到的是负数,反之,则是正数。 当按键输入2时,三个方程计算结果都是正。非门A,B,C输出1,与门A,与门B输出1,此时与门C将前面按键输入的2输出到数据寄存器M中,此时M=2。表示方程的正根上限为2。 程序: PROGRAM BEGIN 程序开始,与门导通,输入磁带程序编码 5 4 3 2 JISUAN GSX f(x)=5x -14.32x +4.53x -15.39x -9.86x+23.975 计算五次方程式的根的上限值 GSXJS WUCI FANGCHENG B 与门导通接通计算五次方程式的根的上限值的斯多姆法电路 MAKEA A=23.975,B=-9.86,C=-15.39,D=4.53,E=-14.32,F=5 键盘输入计算电路的参数 A=23.975,B=-9.86,C=-15.39,D=4.53,E=-14.32,F=5 MAKEB H=1,K=-1 键盘输入计算电路的参数 H=1,K=-1,H代表+∞,K代表-∞ RUN SET TO G 将键盘输入的参数代入计算电路进行计算 DISPLAY ON 液晶显示器显示根的上限值G G DISPLAY OFF PROGRAM END 程序结束,与门截止,电路关闭 用上面的程序描述的斯多姆法计算五次次方程实根的个数。 用古典的隔离法计算方程实根 5 4 3 2 2x -3x +4x -5x -3x=0 解:用求实根上界的第二方法,不难求出它的实根上界等于3,应用斯多姆方法得: 用求实根上界的第二方法,不难求出它的实根上界等于3,应用斯多姆方法得: f(x) f`(x) f (x) 1 f (x) 2 f (x) 3 f (x) 4 变号数目 -1 - + - + + - 4 3 }减少1 2 }减少1 2 1 }减少1 0 + - - + + - 1 - - + + - - 2 - - + - - - 3 + + + - - - 由此推出,f(x)=0的一个实根位置是:1≤x≤2,显然,在1≤x≤2时, 5 4 3 2 f(x)=2x -3x +4x -5x -3x 取x=1,得 5 4 3 2 f(x)=2(1) -3(1) +4(1) -5(1) -3(1) =2-3+4-5-3=-5<0 取x=2,得 5 4 3 2 f(x)=2(2) -3(2) +4(2) -5(2) -3(2) =64-48+32-20-6=22>0 所以,取x=1.5,得 5 4 3 2 f(x)=2(1.5) -3(1.5) +4(1.5) -5(1.5) -3(1.5) =15.1875-15.1875+13.5-11.25-4.5=-2.25<0 所以,取x=1.75,得 5 4 3 2 f(x)=2(1.75) -3(1.75) +4(1.75) -5(1.75) -3(1.75) =32.8261-28.13671875+21.4275-15.3125-5.25=5.5543>0 所以,取x=1.6,得 5 4 3 2 f(x)=2(1.6) -3(1.6) +4(1.6) -5(1.6) -3(1.6) =20.97152-19.6608+16.384-12.8-4.8=0.89472>0 所以,取x=1.55,得 5 4 3 2 f(x)=2(1.55) -3(1.55) +4(1.55) -5(1.55) -3(1.55) =17.893219375-17.31601+14.8955-12.0125-4.65=-1.89791<0 所以,取x=1.57,得 5 4 3 2 f(x)=2(1.57) -3(1.57) +4(1.57) -5(1.57) -3(1.57) =19.0777-18.22719+15.4795-12.3245-4.71=-0.69449<0 所以,取x=1.58,得 5 4 3 2 f(x)=2(1.58) -3(1.58) +4(1.58) -5(1.58) -3(1.58) =19.69316-18.696+15.7772-12.482-0.474=4.766>0 所以,取x=1.575,得 5 4 3 2 f(x)=2(1.575) -3(1.575) +4(1.575) -5(1.575) -3(1.575) =19.383-18.4605+15.6279375-12.403125-4.725=0.5776875>0 所以,取x=1.5725,得 5 4 3 2 f(x)=2(1.5725) -3(1.5725) +4(1.5725) -5(1.5725) -3(1.5725) =19.230176-18.34357+15.55363-12.36378-4.7175=-0.64046<0 所以x=1.5725就是方程的实根。 程序: PROGRAM BEGIN 程序开始,与门导通,输入磁带程序编码 5 4 3 2 JISUAN GDGL 2x -3x +4x -5x -3x=0 执行五次方程的古典隔离法计算法电路 GDGLJS WUCI FANGCHENG A MAKEA A=2,B=-3,C=4,D=-5,E=-3,F=0 将方程式的系数用A,B,CD存储器存储起来 TAKEA X=1.5 可以将x=1.5代入函数f(x),计算函数值 TAKEB QJ=0.25 每次计算增加的区间长度为0.25 RUN GDGLJS 执行古典隔离法计算法电路 DISPLAY ON 液晶显示器显示计算得到的根X X DISPLAY OFF SAVE JISUAN1# 将计算结果保存到JISUAN寄存器 PROGRAM END 程序结束,与门截止,电路关闭 计算方程根的电路 5 4 3 2 2x -3x +4x -5x -3x=0 用数字电路加法器,乘法器,除法器,各种数值表示上面的函数, 古典隔离法计算电路 第十部分 根式的计算 399.根式的计算 根式可最简单地借助与对数表来计算。可是,如果一些个别的根式需要很大的精确度,则更适合的是采用二项式级数[394(22)]。模拟计算机幂函数计算公式 m m(m-1) 2 m(m-1)...(m-n+1) n (1+x) =1+mx+ x +…+ x +… (22) 1*2 1*2*...n 同时用常数a替换函数自变量x,自变量x替换m,得到指数计算公式 模拟计算机指数计算公式 x x(x-1) 2 x(x-1)...(x-n+1) n (1+a) =1+ax+ a +…+ x +… (22a) 1*2 1*2*...n k 假定需要计算 A ,并已知这根式的近似值a(大于或小于真值),但要求改善它,如果,比方说 A =1+x k a 其中|x|是不大的一个真分数,那么可以用下面的方法把根式变形: k k A 1/k A =a* =a*(1+x) k a 并可利用当m=1/k时的二项式级数。有时从等式 k a =1+x A 出发是更合适的,如果|x`|又是一个不大的真分数,并且采用另一变形: k a 1/k A = =a*(1+x`) k k a A 此后取m=-1/k,应用二项式级数。 最为例子,从√2的近似值1.4出发,计算√2到很大的精确度。 √2的近似值1.4可以通过下面的方法得到 1/2 (1/2)*(1/2-1) m(m-1)...(m-n+1) n (1+1) =1+1/2+ +…+ x +…≈1.5-0.08333≈1.4166 1*2 1*2*...n 为此目的,以上述两种范式中的一种把根式变形: 2 0.04 1 1/2 √2=1.4* =4* 1+ =.4*(1+ ) 1.96 1.96 49 或 1.4 1.4 1 -1/2 2 = = =1.4*(1- ) 1.96 0.04 50 1- 2 2 为使计算容易起见,自然宁愿采用第二种方法。 1 1 1 1 1 1 1 1 1 1 √2=1.4*(1+ * + + + + +...) 2 3 4 5 2 50 8 50 16 50 128 50 256 50 限于已经写出的这些项,它们都可以表示成有穷十进位小数: 5 1 1+...+ =1.0101525 3 16 50 35 1 =0.00000004375 4 128 50 63 1 =0.0000000007875 5 256 50 1.0101525445375*1.4=1.41421356235250 因为在1/50的幂次下的系数递减,所以校正数可以像通常那样加以估计: 231 1 1 1.4*231 2.1 △<1.4* *(1+ + +...)= < 6 2 5 11 1021*50 50 50 1024*50 *49 10 因此1.414213562352<√2<1.414213562373, √2=1.4142135623...; 小数后所有十个数字都是正确的, 利用变形 119 -1/2 √2=1.41(1- ) 20000 容易得到非常多的数字,现在再举出一些类似的变形的例子, (借助于二项式级数的计算留给读者去作) 71 -1/2 √3=1.73*(1- ) 30000 11 1 1/2 √11= (1- ) 3 100 3 5 3 1/2 √2= (1- ) 4 125 3 10 29 1/2 √3= (1- ) 7 1000 计算N次方的电路 m m m(m-1) 2 m(m-1)...(m-n+1) n y =(1+x) =1+mx+ x +…+ x +… 1*2 1*2*...n 用数字电路加法器,乘法器,除法器表示上面的等式就会得到计算变量y的根式的数字电路 第十一部分 高次方程的数值解 下面的资料可参见《计算方法讲义》,中国科学院计算技术研究所编,科学出版社1958年出版 第五章 高次代数方程的数值解 力学、物理和其它科学技术中的各种问题常常归结到求方程式的根,而且这些方程式往往都是高次的。我们知道,不存在一个方法能求出高于四次方程的根的准确解。另一方面,在实际应用中只能获得具有预先给定的准确度的近似值就足够了。本章之目的在于讲述适用于实际计算的求方程式的根的各种近似方法。 1.根的位置 在讲述求根的近似方法之前,先复习一下高中课程中讲过的关于根分布在怎样的界限内的知识,对我们今后讨论求方程式的根的近似方法是有用处的。先叙述两个求方程式正根上界的方法(证明参阅[1]或[2])。 1)设实系数方程式 n n-1 f(x)=a x +a x +...+a =0 (1) 0 1 n 的最高次项的系数a 是正的(否则,以-1相乘两端)k≥1是它的第一个负系数的下标, 0 以及B为所有负系数的绝对值的最大值,那么 k B R=1+ (2) a 0 是方程式(1)的正根上界。 2)设(1)的最高次项的系数a >0, 0 n 如果x=a时方程本身及其各次导数f`(x),f``(x),...,f (x)都取正值,那么a为(1)的正根上界。 例.求方程 4 2 f(x)=x -5x +6x-8=0 的正根上界. 方法(1),此处k=2和B=8,由(2)得到它的正根上界大致为4. k 2 B 8 R=1+ =1+ =3.8284 a 1 0 方法(2),它的各次导数为: 3 f`(x)=4x -10x+6 2 f``(x)=12x -10 f```(x)=24x (Ⅳ) f (x)=24 当x=2时,它们皆为正,因此方程正根的上界为2. 由例可见,方法(2)比方法(1)准确一些。现在来讲实根定位的斯多姆(Sturm)方法。 设f(x)=0是实系数的方程式。假定f(x)不含重因子,即f(x)和f`(x)彼此互质。使用辗转相除法于f(x)和f`(x)后,我们有函数列: f(x)=g(x)f`(x)-f (x), 1 f`(x)=g (x)f (x)-f (x), } (3) 1 1 2 …… f (x)=g (x)f (x)-f (x), m-2 m-1 m-1 m 式中f (x)表示方程f(x)和导数f`(x)的最高因式。 m (3)具有下列性质,并称它为f(x)的斯多姆函数列。 a)任何两个相邻的函数没有公共根。 b)若α是f (x)的实根,则f (x)的相邻函数f (x)和f (x)在x=α处不同号。 k k k-1 k-1 c)若x增加时,经过函数列中某一函数(f(x)和f (x)除外)的实根, m 则函数列(3)变号不受影响。 d)当x经过f(x)的实根时,则f(x)和f`(x)之间的变号减少一个。这样一来,我们有实根定位的斯多姆方法: 设a和b不是f(x)的根。f(x)在区间[a,b]内实根的个数等于x由a变到b时f(x)的斯多姆函数列减少的变号数。 事实上,若x增加时经过斯多姆函数列(f(x)和f (x)除外)某函数的实根, m 由性质c)斯多姆函数列的变号数保持不变。若x经过f(x)的实根,由性质d)f(x)和f`(x)之间的变号数减少一个。从而整个斯多姆数列的变号数减少一个。因此,当x从a增至b时,变号数减少的数目等于区间[a,b]中所含f(x)的实根的个数。 例.试求方程式 5 4 3 2 f(x)=5x -14.32x +4.53x -15.39x -9.86x+23.97=0 的实根个数。作出f(x)的斯多姆函数列: 5 4 3 2 f(x)=5x -14.32x +4.53x -15.39x -9.86x+23.97 4 3 2 f`(x)=25x -57.28x +13.59x -30.78x-9.86 3 2 f (x)=4.750x +7.677x +11.414x-22.84 1 2 f (x)=-111.50x -324.17x+479.58 2 f (x)=-49.75x+49.30 3 f (x)=-48.95 4 求出函数列在x=+∞和x=-∞的变号数: f(x) f`(x) f (x) 1 f (x) 2 f (x) 3 f (x) 4 变号数目 -∞ - + - - + - 4 }减少3 1 +∞ + + + - - - 求函数列在x=+∞和x=-∞的变号数的过程如下: x=+∞时,f(x)计算过程如下所示 5 4 3 2 5 5 f(x)=5x -14.32x +4.53x -15.39x -9.86x+23.975=5(+∞) =5(+1) =+∞ 4 3 2 4 4 f`(x)=25x -57.28x +13.59x -30.78x-9.86=25(+∞) =25(+1) =+∞ 3 3 3 3 f (x)=4.750x +7.677x +11.414x-22.84=4.750(+∞) =4.750(+1) =+∞ 1 2 2 2 f (x)=-111.50x -324.17x+479.58=-111.50(+∞) =-111.50(+1) =-∞ 2 f (x)=-49.75x+49.30=-49.75(+∞)=-∞ 3 f (x)=-48.95 4 x=-∞时,f(x)计算过程如下所示 5 4 3 2 5 5 f(x)=5x -14.32x +4.53x -15.39x -9.86x+23.975=5(-∞) =5(-1) =-∞ 4 3 2 4 4 f`(x)=25x -57.28x +13.59x -30.78x-9.86=25(-∞) =25(-1) =+∞ 3 2 3 3 f (x)=4.750x +7.677x +11.414x-22.84=4.750(-∞) =4.750(-1) =-∞ 1 2 2 2 f (x)=-111.50x -324.17x+479.58=-111.50(-∞) =-111.50(-1) =-∞ 2 f (x)=-49.75x+49.30=-49.75(-∞)=-49.75(-1)=+∞ 3 f (x)=-48.95 4 由此可见,f(x)=0有三个实根在区间[-∞,+∞]内。 用方法2求实根,f(x)的各次导数为 4 3 2 f`(x)=25x -57.28x +13.59x -30.78x-9.86 3 2 f (x)=4.750x +7.677x +11.414x-22.84 1 2 f (x)=-111.50x -324.17x+479.58 2 f (x)=-49.75x+49.30 3 当x=3时,它们皆为正,因此方程正根的上界为3. 用求实根上界的第二方法,不难求出它的实根上界等于3,应用斯多姆方法得: f(x) f`(x) f (x) 1 f (x) 2 f (x) 3 f (x) 4 变号数目 -1 - + - + + - 4 3 }减少1 2 }减少1 2 1 }减少1 0 + - - + + - 1 - - + + - - 2 - - + - - - 3 + + + - - - 由此推出,f(x)=0的三个实根位置是:-1≤x≤0,0≤x≤1,2≤x≤3, 知道实根位于哪个区间后,就能用古典的隔离法求出根的近似值。 设已知f(x)有一实根在某一区间上,我们平分该区间,得两个区间,其中必有一区间有f(x)的根。再分这个新区间,又得两个区间,其中必有一个有f(x)的根。再继续上面的作法,我们就得到一系列分点a ,a ,...,a (如图5.1), 1 2 n 这些点是逼近于方程式f(x)=0的根α的,这就是根的隔离法。 2.迭代法 1.普通的迭代法 将已知方程f(x)=0改写为 x=φ(x) (4) 应用前节所讲的方法,能求出根的粗糙近似值x , 0 我们把x 代入(4)式的右端,就得到较好的近似值 0 x =φ(x ) 1 0 以后一些近似值是 x =φ(x ) (i=1,2,...) i+1 i 先来看一看它的几何意义。从(4)的写法,看出求方程f(x)=0的根归结为找直线y=x和曲线y=φ(x)的交点B的横坐标α。 设初始近似x 是曲线y=φ(x)上点A 的横坐标, 0 0 计算出φ(x )就确定了A 的横坐标。 0 0 同时水平直线y=φ(x )和直线y=x相交于点A` ,其横坐标等于x =φ(x ), 0 0 1 0 计算出φ(x )后就得到垂线x=x 和曲线y=φ(x)的交点A [x ,φ(x )], 1 1 1 1 1 如此继续下去,得点列A ,A ,A ...(如图5.2). 0 1 2 也就是说迭代过程未必收敛(图5.2a和5.2b表示收敛;图5.2c和5.2d表示发散)。于是我们要证明,如果在根的附近│φ`(x)│<1,则迭代过程是收敛的。 |
| 发帖须知: 1,发帖请遵守《计算机信息网络国际联网安全保护管理办法》、《互联网信息服务管理办法》、 《互联网电子公告服务管理规定》、《维护互联网安全的决定》等法律法规。 2,请对您的言论负责,我们将保留您的上网记录和发帖信息。 3,在此发帖表示认同我们的条款,我们有权利对您的言论进行审核、删除或者采取其他在法律、地方法规等条款规定之内的管理操作。 |