计算机程序设计

什么是辛普森的方法和如何实现它在帕斯卡语言

为了计算积分的值,虽然是近似值,但是有一个以其创建者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

 

 

 

 

Newest

Copyright © 2018 zhcn.delachieve.com. Theme powered by WordPress.