c语言如何求函数极限

c语言如何求函数极限,第1张

如果是用程序近似计算的话,可以这样做

#include<stdio.h>

#include<math.h>

main()

{ long int n,k

double s1,s2,e=1e-8 //e代表计算精度

n=1k=1//k=n×n

s1=(3.0*k+n)/(2*k+3)

do{

s2=s1

k=k+2*n+1 //(n+1) ^2=n^2+2n+1

n=n+1

s1=(3.0*k+n)/(2*k+3)

}while(fabs(s1-s2)>e)

printf("%lf",s1)

}

简单地说可以,一般除了无限递归等特殊的不行,其他的都可以。

一楼的不懂不要乱说。

C语言可以做的很精确,只要计算机的内存硬盘足够,就能足够精确,当然前提是极限存在。

如果需要很长很长的位数最好用数学函数库,因为一般80x87的精度都是80位,超过此限制需要自己用C语言或者汇编语言提高继续提高精度。但对于非专业计算机人士来说很难。

计算机就是做计算的,大部分可计算问题都没有问题,只是时间和空间的问题。

X趋于无穷大是不可能计算的,举一个简单的例子,假设计算机的内存1TB(目前还没有)。

如果存储了一个整数,那么这个最大值是2的8T次方,但是这个和无穷大相差太远。

考虑函数ackman(6,6),这个函数的值根本无法通过目前的计算机(甚至未来的计算机也不能计算出来),就算计算出来,这个数写出来一个地球也放不下,但是比无穷大小很多吧。

但是你说的问题就不一样,如果极限是收敛的,那么随着x的值增大,就可以取得那个极限的近似值。注意计算机C语言一般只能取得足够接近的值。

否则可以考虑使用公式推理软件,看看能不能解方程获得极限,那才可能是精确值。

比如说某个数列的极限为π,那要写一个相当复杂的程序才能打印出π字样。但是π的值又是什么呢?3.14159……,这个精确的值可能又是地球上不够写了。


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

原文地址: http://outofmemory.cn/yw/11388909.html

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

发表评论

登录后才能评论

评论列表(0条)

保存