计算机, 程序设计
什么是辛普森的方法和如何实现它在帕斯卡语言
为了计算积分的值,虽然是近似值,但是有一个以其创建者Simpson方法命名的优秀方法。 它也被称为抛物线方法,因为它使用抛物线的构造。 该图被构造为尽可能靠近该功能。 实际上,由于不可能构造一个抛物线,它的点与函数的点完全一致,所以积分大约是。 用边界a和b找到它的公式如下所示:1 / h *(y 0 + 4y 1 + 2y 2 + 4y 3 + ... + 4y n-1 + y n )。 在这里,我们只需要计算每个y从0到n,其中n由我们自己决定 - 越多越好,因为越多的y越接近我们获得的真实值。 对于h,该步骤通过以下公式计算:(ba)/(n-1)。
在理论上,一切都很简单,但实际上是有必要的。 对于许多程序员来说,没有更好的方法来解决Simpson-Pascal或Delphi方法等问题。 在这种环境下,不仅计算积分非常简单,而且还构建了一个功能图,甚至构建了一个梯形图。 所以,我们将弄清楚如何快速实现辛普森方法,如果需要,甚至可以解释这些和组织的内容,让所有人感兴趣。
但在此之前,请记住整体的外观。 这是一个由x轴开始的行界定的数字,即a和b。
所以,首先,您需要为程序中的可积分函数创建一个函数(对于重言式而言),您只需要在其中编写f:=,并且我们将会找到它的积分。 非常重要的是不要在Pascal语言中输入函数错误。 但这是一个单独的话题。 结果代码将如下所示:
函数f(x:real):real;
和主要文字的功能
开始
F:= 25 * ln(x)+ sin(10); {这里你需要写你的函数的内容}
结束;
接下来,我们编写一个实现Simpson方法的函数。 一开始就是这样的:
函数simpsonmetod(a,b:real; n:integer):real;
接下来,声明变量:
VAR
S:真实 {中等数量(进一步了解)}
H:真实 {}步
我的:整数 {只是柜台}
Mno:整数; {常规乘数}
而现在,实际上,程序本身:
开始
H:=(ba)/(n-1); {我们用标准公式计算步长。 有时一个步骤是写在任务中,在这种情况下这个公式不适用}
S:= f(b)+ f(a); {设定初始步值}
Mno:= 4; {记住公式 - 1 / h *(y 0 + 4y 1 ...这4写在这里,第二个乘数是2,但更多在这}
现在的基本公式是:
对于我:= 1到n-2开始
S:= s + mno * f(a + h * mu); {到总和,我们添加下一个因子乘以4 * y n或2 * y n }
如果(mno = 4)则mno:= 2 else mno:= 4; {这里乘数改变 - 如果现在是4,它变为2,反之亦然}
结束;
Simpsonmetod:= s * h / 3; {然后根据公式将所得和乘以h / 3
结束。
就是这样 - 我们根据公式做所有的行动。 如果您还没有想到如何将Simpson方法应用于主程序,该示例将帮助您。
所以写完所有的功能后,我们写
开始
N:= 3; {设定n}
Q:= simpsonmetod(a,b,n); {由于Simpson的方法是计算从a到b的积分,将会有几个计算步骤,所以我们组织循环}
重复
Q2:= q; {上一步被记住}
N:= n + 2;
Q:= simpsonmetod(a,b,n); {并且下一个值被计算}
直到(abs(q-q2)<0.001); {工作的准确性被写入,所以直到达到所需的准确度,你必须重复相同的动作}
这就是他是如何 - 辛普森的方法。 其实没什么复杂的,一切都写得很快! 现在打开你的Turbo Pascal并开始写程序。
Similar articles
Trending Now