如何利用mathlab求解F=x^2/(x+ln(x))和F=1/(x+ln(x))的积分?

爱小小狗 1年前 已收到1个回答 举报

alex_z81 花朵

共回答了20个问题采纳率:90% 举报

是matlab吧...
matlab的语法我已经不记得了,我用mathematica给你做一下,原理是一样的,你稍微查一下matlab的函数使用说明就可以了

这个结果说明函数的不定积分不能用初等函数来表示
所以需要给定积分的上下界,来做定积分的数值逼近

1年前 追问

1

爱小小狗 举报

下限用0.0325,上限为253

但是我用mathlab的结果是这样,请教是什么原因?

举报 alex_z81

我不太清楚matlab中int函数的具体功能,不过我感觉是这样的:

int函数有可能只能算积分的解析值(这个需要你看matlab的函数说明确定一下)

也就是int函数的计算过程可能是先求出原函数再带入上下限

由于这个函数的原函数不能用初等函数表示,所以电脑无法用int函数给出积分精确值

解决方法就是使用求数值积分的函数(有可能还是int,有可能是其他的,需要你查一下)

在mathematica里面:在函数前面加N就是求数值解

比如Solve可以解线性方程组的精确解,NSolve就是方程组的数值解

再比如命令行N[Pi]的结果就是3.1415926536......

所以在mathematica中这样写指令:

但是程序中报出了两个问题,所以说明在计算过程中有两个地方有些不太严谨

所以我也无法保证30171.9这个值是精确的

真需要算这个值,我感觉可以用c这样的高级语言,或者matlab,mathematica这样的软件编程来实现

如果你需要的话,我可以用c给你编一个小程序来算一下这个数值积分

可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.042 s. - webmaster@yulucn.com