matlab 一道积分运算题目求解释
用matlab计算
两种方法两种答案,
法1:
int(0.12*x/(2.8-x),x,0,1.27273)
ans =
- (42*log(34391063014470689/63050394783186944))/125 - 17195599061229753/112589990684262400
>> - (42*log(34391063014470689/63050394783186944))/125 - 17195599061229753/112589990684262400
ans =
0.0509
这是对的
法2:
> int(0.12*x/(2.8-x))
ans =
- (3*x)/25 - (42*log(x - 14/5))/125
>> subs(ans,x,1.27273)
ans =
-0.2950 - 1.0556i
错误!
为什么呢?
matlab 一道积分运算题目求解释
答案:1 悬赏:30 手机版
解决时间 2021-05-22 17:48
- 提问者网友:相思似海深
- 2021-05-22 00:36
最佳答案
- 五星知识达人网友:夜余生
- 2021-05-22 01:20
方法一中的
int(0.12*x/(2.8-x),x,0, 1.27273)
表示对表达式中指定的符号变量x计算从0到1.27273的定积分,所以是一个确定值:
ans = 0.05093463000
而方法二中的
int(0.12*x/(2.8-x))
表示对符号表达式中的符号变量x计算不定积分,其中x=findsym(0.12*x/(2.8-x)).当把积分区间代入,可计算出积分值.但subs(ans,x,1.27273)仅是将x用1.27273替代,故与方法一答案不一致.需将区间值代入,如下所示:
>> int(0.12*x/(2.8-x))
ans =
18 17
-0.1200000000 x - 0.3360000000 log(-0.1400000000 10 + 0.5000000000 10 x)
>> subs(ans,x,1.27273) - subs(ans,x,0)
ans = 0.05093463 + 0. i
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯