c语言程序设计. 由键盘输入两个整数,分别计算这两个数的和、差、积、商,并输出结果

c语言程序设计. 由键盘输入两个整数,分别计算这两个数的和、差、积、商,并输出结果,第1张

#include "stdioh"

main()

{  int a,b;

printf("请输入两个整数(a,b):");

scanf("%d,%d",&a,&b);                        

printf("和:%d\n",a+b);          

printf("差:%d\n",a-b);

printf("积:%d\n",ab);

printf("商:%f\n",(float)a/b);}

这是四次多项式,所以f[0,1,2,3,4]=7 (四阶差商,肯定就是四次项的系数)。

f[0,1,2,3,4,5]=0 (四次多项式,高于四阶的差商为0)。

费拉里法

一元四次方程方程两边同时除以最高次项的系数可得 x4+bx3+cx2+dx+e=0 (1)。

移项可得 x4+bx3=-cx2-dx-e (2)。

两边同时加上,可将(2)式左边配成完全平方式,方程成为 (x2+05bx)2=(025b2-c)x2-dx-e (3)。

在(3)式两边同时加上(x2+05bx)y+025y2,可得 [(x2+05bx)+05y]2= (025b2-c+y)x2+(05by-d)x+025y2-e (4)。

(4)式中的y是一个参数,当(4)式中的x为原方程的根时,不论y取什么值,(4)式都应成立。

许多物理现象随着时间而发生变化、如热传导过程、气体扩散过程和波的传播过程都与时间有关。描述这些过程的偏微分方程具有这样的性质;若初始时刻t=t0的解已给定,则t>t0时刻的解完全取决于初始条件和某些边界条件。利用差分法解这类问题,就是从初始值出发,通过差分格式沿时间增加的方向,逐步求出微分方程的近似解。 最简单的双曲型方程的初值问题是:

式中 为已知初值函数。这初值问题的解是:

由(2)可见,(1a)(1b)的解(2)当a>0时代表一个以有限的速度a沿特征线x-at=常数向右传播的波,而解 在点 的值完全由 在x轴上的点 的值决定。A点就是双曲型方程(1a)在P点的依赖域(图1)。现以初值问题(1)为例介绍初值问题差分方法的基本思想。

①剖分网格

用网格覆盖(1a),(1b)的定解区域,如图2所示,在x,t平面的上半部作两族平行于坐标轴的直线:

并称之为网格线。 分别称为空间步长和时间步长。网格线的交点 称为格点。

②建立差分格式

以下除特别声明外,总设a>0,由泰勒公式,有:

式中

是微分方程(1a)用它的解在相邻三个格点(见图2)上的值的差分来表示的形式。略去(4)中关于 高阶项 ,得到一个较简单的差分方程,但微分方程的解 不再是这方程的解,设这个方程的解是 , 满足的方程是:

式(6)还可写成:

初值条件(1b)此时就是:

差分方程(6)和相应的初值条件(7)合称差分格式,利用这些格式可逐步算出t=△t,2△t,…各时间层的 , ,…,等等。这个把微分方程化为近似的差分方程的过程常称为离散化。

③差分格式的截断误差和相容性

(5)中的是把微分方程充分光滑的解代入差分方程(6)的结果,它说明微分方程(1a)和差分方程(6)的区别,称为差分格式(6)的截断误差,式(6)的截断误差对△t和△x都是一阶的,写成O(△x+△t),因此称差分格式(6)为一阶相容格式。一般说,如果△x,△t趋于零,截断误差也趋于零,则差分方程与微分方程是相容的。不相容的格式的解不能作为原微分方程的近似解,因而是无用的。方程(1a)的离散化过程也不是唯一的。例如取数值微分公式:

代替微分方程(1a)中的 ,可得另一个差分方程:

它的截断误差是O(△x+△t)阶的,也是相容的差分格式,再若用数值微分公式

代替(1a)中的 ,又得到截断误差为O(△x+△t)的相容差分格式:

但是,并不是每个相容格式都有用。

④差分格式的收敛性

设 是求解区域中的一点,取步长 使 ,用差分格式算出 ,如果当△x,△t→0时, 便可用步长 充分小时的作为微分方程的解 的近似,这种差分格式便是收敛的。

双曲型微分方程的解,对求解区域内一点 而言,在初值区域内有一个依赖域,差分方程也是如此,对于差分方程(6),点 的依赖域是初值线上区间 。如令 =常数, ,则差分方程(6)在点 的依赖域为 ,并且步长比r固定时,依赖域与 无关。

差分方程(9)在 的依赖域是 ,而差分方程(11)的依赖域则是 ,R.库朗等人曾经证明,差分格式收敛的一个必要条件是差分方程的依赖域应包含微分方程的依赖域,这个条件叫作“库朗条件”。从图3中可以看到,对于差分方程(6),这个条件是 ,即 。对于格式(9),库朗条件是 ,两者不同。对于格式(11),库朗条件是 ;在a>0时,显然不能成立,所以格式(11)当a>0时不收敛,因而也是无用的。格式(6)在a>0而库朗条件 满足时,的确是收敛的。因为 离散化误差 适合

由此可知:

又因差分格式与微分方程的初值相同, 。于是可知

这说明条件 满足时,格式(6)收敛。

如果a<0,格式(6)不收敛。但当 时,格式(11)收敛。这两个格式称为“迎风格式”,因为a>0时, 用向后差商代替,往上风取近似值;当a<0时则用向前差商代替,也是往上风取近似值。可见作(1)的差分格式时,要考虑波的传播方向。

⑤差分格式的稳定性

用一个差分格式计算 时,初值 的误差必然要影响到以后各层 。通常希望这误差的影响不会越来越大,以致完全歪曲了差分方法的真解,这便是稳定性问题。讨论时,常把问题化简,设初值 有误差 ,而以后的计算并不产生误差,由于误差 ,使 变成了 ,但 仍满足 所适合的差分格式。定义一种衡量t=tn层格点上 的大小的所谓范数 ,若有常数K>0使当△t、△x→0而0≤t=n△t≤T时,恒有 ,则称此差分格式是稳定的。以格式(6)为例,适合差分方程:

这说明,用格式(6)计算时,若步长比合于库朗条件,则初值误差的影响不增长,取使△t缩小,算到t=T时,也不再增大,因而格式是稳定的。

对于线性偏微分方程组的稳定性理论,J.von诺伊曼曾用傅里叶分析作了系统研究,把差分方程的解表成谐波的叠加,考察其中一个谐波

的增长情况,式中k为实数;G=G(k,△t)称为增长因子。若对于一切谐波,(12)的振幅一致有界,即对一切合于O≤n△t≤T的n和充分小的△t都有|Gn|≤K,K为常数,则此差分格式是稳定的。具体地说,对格式(6),把(12)代入(6),得:

故当 时,|G|≤1,解的振幅不增加,所以格式(6)是稳定的。

相容性和库朗条件都不能保证稳定性,例如对格式(9),把(12)代入,得:

故当sin k△x≠0时,恒有|G|>1,解的振幅逐层增加,所以虽然格式(9)是相容的格式,并且适合库朗条件,但它仍是不稳定的,因而也是无用的。

P.D.拉克斯1956年曾证明,对于线性偏微分方程组的适定的初值问题,一个与之相容的线性差分格式是收敛的格式的充分必要条件是这格式的稳定性。

非线性问题没有相应的等价定理。 物理上的定常问题,如d性力学中的平衡问题,亚声速流、不可压枯性流、电磁场及引力场等可归结为椭圆型方程。其定解问题为各种边值问题,即要求解在某个区域D内满足微分方程,在边界上满足给定的边界条件。椭圆型方程的差分解法可归结为选取合理的差分网格,建立差分格式,求解代数方程组以及考察差分格式的收敛性等问题。

偏微分方程边值问题的差分方程组的特点是系数矩阵中非零元素很少,即是稀疏矩阵。近年来由于稀疏矩阵技术的发展,解差分方程组时,直接法受到了较多的重视。迭代法是用逐次逼近的方式得到差分方程组的解,它的存储量小,程序简单,因此常用于椭圆型差分方程组的求解。迭代方法很多,最基本的有三种:①同时位移法(也称雅可比法)②逐个位移法(也称赛德耳法)③松弛法三个方法中超松弛法收敛最快,是常用的方法之一。

以上就是关于c语言程序设计. 由键盘输入两个整数,分别计算这两个数的和、差、积、商,并输出结果全部的内容,包括:c语言程序设计. 由键盘输入两个整数,分别计算这两个数的和、差、积、商,并输出结果、设f(x)=7x^4-3x^3+2x-1,则f[0,1,2,3,4]=_________,f[0,1,2,3,4,5]=_________.、有限差分法的偏微分方程初值问题的差分法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10091883.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存