摘要:在高等数学的积分中,有些积分按初等函数理论划分是没有原函数的。可在实际工程中需要应用这些积分计算,工程数学有很多方法解决近似的问题,只要能保证一定的精度就可以应用。本文通过例子,使用计算机的程序辅助计算,给出计算机计算的算法。期望在工程计算的应用中能够更好服务于工程技术人员,也使得工程数学在一定程度上更好的应用计算机技术有更广阔的发展。
关键字:高等数学 积分 C语言程序设计
一、高等数学中的不可积类型概述
高等数学的积分中,有些积分按初等函数理论划分是没有原函数的。
如: ……等,利用换元法、分部积分法等都是不能积出初等函数的原函数的。
如果需要计算其值,困难就比较大了。首先是找不到初等原函数。那就难以用公式计算。但在数学中有变通的方法处理。如利用级数展开,“化整为零”的方法很奏效。那就是把三角函数展开成幂级数。即
这样的转换就把不可积问题转换为初等函数的和的积分问题了。
其次的问题就是有了展开式,人工计算仍然存在很大困难,费时费力。不过,只要我们截取有限的项,都可以得到满意的积分值(当然是满足一定精度的近似值)。只是效率和准确度问题了。
二.计算机高级语言解决问题的方式
计算机计算需要先把数学模型的问题转换为计算机处理问题的算法。按某种语言的语法规则,编写算法,设计好程序流程,计算机就按程序流程计算,直至满足约定的条件,输出计算结果。
为此,计算⑴式的积分需要分析数学模型的表达式,改进⑴式
原函数表达式:x+( )
算法分析:
①从累积求和的表达式,可以选择循环结构处理。固定循环次数或判断精度终止循环条件;
②对于计算表达式 ,符号 问题可以设置个赋值,每轮循环改变其值的符号;
③ 每次增加两个乘积,为了简化程序效率,可以做成函数,每次调用;
④ 关于阶乘可以做单独的函数,调用计算。
三.程序设计流程图分析方案
从上述分析,计算积分转化为计算级数部分和问题,在算法分析的数学模型基础上,分解处理流程和总的逻辑结构描述。
下面用程序流程图阐述算法的逻辑
流程结构说明:
1.变量声明
根据循环结构的需要,声明循环变量i,存储部分和的中间结果sum,以及用于转换符号的的标志flag。存储积分结果的变量x,用户指定精度y。
2.计算函数
①计算幂函数mi()
每次调用幂函数,计算 。
②计算阶乘函数jiecheng()
计算 ,在每次的循环中都需要调用。可以简化程序的结构。
3.循环判断条件
,针对用户输入的精度y值,每次检查条件的满足情况
先计算数据项,判断根据展开式的余项达到设定的精度结束计算。
4.数据输出积分结果
当满足预制的条件后,计算结束,输出积分的结果值。
四、程序设计核心算法
通过上面的结构分析,下面用C语言编程实现计算。
为了节省篇幅不赘述一般性问题,本文给出算法的核心代码部分。
1.程序结构
附计算阶乘函数(注意,由于阶乘的数据会很大,精度需要适当控制,不然,一般的机器可能不支持)
程序控制流程图见图2
程序代码
五、结束语
通过应用计算机高级语言,将数学模型利用计算机处理。可以大大的简化人工的计算。尤其在工程计算中,可以保证精度和快捷。本文提出的算法不一定是很精炼的算法。但可以经过修改和优化,更好的适应工程技术计算的应用。用于编程的代码也许存在一些缺陷,还望各位有实际应用经验的同仁帮助完善。以期能有更大的应用价值。