24小时热门版块排行榜    

查看: 3024  |  回复: 10

tianaylk

新虫 (初入文坛)

[求助] matlab 积分计算 算不出结果,求帮助!!!

q =1.0e+008  *[2.3916; -3.6135; 1.8065; -0.6109];
syms y ;
F2=int(exp(q(1)*y+1/2*q(2)*(y.^2-1)+1/3*q(3)*(y.^3-3*y)+1/4*q(4)*(y.^4-6*y.^2+3)),y,0.9,1.1);
F3=log(F2);
F4=vpa(F3)
可以计算出F4 = 149272173.68701522388239715123227,但是当q =1.0e+009  *[2.3916; -3.6135; 1.8065; -0.6109] 时,运算不出结果,其实结果大概为149272173*10,怀疑是不是因为F2数值太大,matlab处理不了?q的取值为1.0e+008数量级时F2=2*10^64828081,q的取值为1.0e+009数量级时F2就计算不出来了,提示 numeric::int(1/exp(152725000*y^4 - (5051340117333333*y^3)/8388608 + 890400000*y^2 - (4908174540800001*y)/8388608 - 1348575000), y = 9/10..11/10) 但其实取对数以后得到的F3并不大,请各位大侠帮忙解决一下~~~非常感激~~~
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
jjdg: 金币+1, 感谢应助 2012-03-23 02:57:02
q =1.0e+009  *[2.3916; -3.6135; 1.8065; -0.6109];
syms y ;
F2=int(exp((q(1)*y+1/2*q(2)*(y.^2-1)+1/3*q(3)*(y.^3-3*y)+1/4*q(4)*(y.^4-6*y.^2+3))/1e10),y,0.9,1.1);
F3=log(F2);
F4=vpa(F3)+1e10
Warning: Explicit integral could not be found.  

F4 =

9999999998.5398333654497435804148
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
2楼2012-03-22 16:42:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ldoop

铁杆木虫 (著名写手)


【答案】应助回帖


感谢参与,应助指数 +1
jjdg: 金币+1, 感谢应助 2012-03-23 02:57:07
应该是值溢出了,建议稍微处理下表达式,比如分子都是 10^9乘以一个数,然后相加后除以10^10,那么直接10就可以了
3楼2012-03-22 17:16:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tianaylk

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by dbb627 at 2012-03-22 16:42:16:
q =1.0e+009  *;
syms y ;
F2=int(exp((q(1)*y+1/2*q(2)*(y.^2-1)+1/3*q(3)*(y.^3-3*y)+1/4*q(4)*(y.^4-6*y.^2+3))/1e10),y,0.9,1.1);
F3=log(F2);
F4=vpa(F3)+1e10
Warning: Explicit integral could not b ...

你好,非常感谢你的回复。但是你的变形是不等价的,因此得出的结果是有问题的,请再帮我考虑一下,谢谢!
4楼2012-03-22 18:47:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tianaylk

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by ldoop at 2012-03-22 17:16:39:
应该是值溢出了,建议稍微处理下表达式,比如分子都是 10^9乘以一个数,然后相加后除以10^10,那么直接10就可以了

你好,非常感谢你的回复。你看到的可能是一楼作过变形后的表达式,但是那个变形和我的表达式是不等价的,原函数的形式请看主贴,貌似不太好处理...请再帮我考虑一下,谢谢!
5楼2012-03-22 18:50:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖


jjdg: 金币+1, 感谢应助 2012-03-23 02:57:21
引用回帖:
4楼: Originally posted by tianaylk at 2012-03-22 18:47:28:
你好,非常感谢你的回复。但是你的变形是不等价的,因此得出的结果是有问题的,请再帮我考虑一下,谢谢!

确实是有问题
下面变形应该等价
q =1.0e+008  *[2.3916; -3.6135; 1.8065; -0.6109];
syms y ;
F2=int(exp((q(1)*y+1/2*q(2)*(y.^2-1)+1/3*q(3)*(y.^3-3*y)+1/4*q(4)*(y.^4-6*y.^2+3))-1e8),y,0.9,1.1);
F3=log(F2);
F4=vpa(F3)+1e8
Warning: Explicit integral could not be found.  

F4 =

149272173.68701522388239715123227

>> q =1.0e+009  *[2.3916; -3.6135; 1.8065; -0.6109];
syms y ;
F2=int(exp((q(1)*y+1/2*q(2)*(y.^2-1)+1/3*q(3)*(y.^3-3*y)+1/4*q(4)*(y.^4-6*y.^2+3))-1e8),y,0.9,1.1);
F3=log(F2);
F4=vpa(F3)+1e8
Warning: Explicit integral could not be found.  

F4 =

log(numeric::int(1/exp(152725000*y^4 - (5051340117333333*y^3)/8388608 + 890400000*y^2 - (4908174540800001*y)/8388608 - 1248575000), y = 9/10..11/10)) + 100000000

>> q =1.0e+009  *[2.3916; -3.6135; 1.8065; -0.6109];
syms y ;
F2=int(exp((q(1)*y+1/2*q(2)*(y.^2-1)+1/3*q(3)*(y.^3-3*y)+1/4*q(4)*(y.^4-6*y.^2+3))-1e9),y,0.9,1.1);
F3=log(F2);
F4=vpa(F3)+1e9
Warning: Explicit integral could not be found.  

F4 =

1492721786.6977684879699111309597
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
6楼2012-03-22 19:34:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tianaylk

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by dbb627 at 2012-03-22 19:34:19:
确实是有问题
下面变形应该等价
q =1.0e+008  *;
syms y ;
F2=int(exp((q(1)*y+1/2*q(2)*(y.^2-1)+1/3*q(3)*(y.^3-3*y)+1/4*q(4)*(y.^4-6*y.^2+3))-1e8),y,0.9,1.1);
F3=log(F2);
F4=vpa(F3)+1e8
Warnin ...

感谢版主解答!可是又发现问题了,如果把q的数值改变,例如把q(4)从-0.6109改为-5.6109,就又算不出结果了
q =1.0e+009  *[2.3916; -3.6135; 1.8065; -5.6109];
syms y ;
F2=int(exp((q(1)*y+1/2*q(2)*(y.^2-1)+1/3*q(3)*(y.^3-3*y)+1/4*q(4)*(y.^4-6*y.^2+3))-1e9),y,0.9,1.1);
F3=log(F2);
F4=vpa(F3)+1e9
Warning: Explicit integral could not be found.
> In sym.int at 64

F4 =

log(numeric::int(1/exp(1402725000*y^4 - (5051340117333333*y^3)/8388608 - 6609600000*y^2 - (4908174540800001*y)/8388608 + 3401425000), y = 9/10..11/10)) + 1000000000

q =1.0e+009  *[2.3916; -3.6135; 1.8065; -5.6109];
syms y ;
F2=int(exp((q(1)*y+1/2*q(2)*(y.^2-1)+1/3*q(3)*(y.^3-3*y)+1/4*q(4)*(y.^4-6*y.^2+3))-1e10),y,0.9,1.1);
F3=log(F2);
F4=vpa(F3)+1e10
Warning: Explicit integral could not be found.
> In sym.int at 64
??? Error using ==> mupadfeval at 28
Error: Singularity [ln];
during evaluation of 'mlfloat'

Error in ==> sym.vpa at 42
       r = mupadfeval('mlfloat',s);

也就是说随着q的变化,指数中应该减去10的多少次方不是固定的,应该怎么办呢?还请版主再帮忙解答一下,谢谢!
7楼2012-03-22 20:28:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★ ★ ★
jjdg: 金币+1, 感谢应助 2012-03-23 02:57:31
余泽成: 金币+3, 谢谢应助,欢迎常来程序语言版! 2012-03-23 16:58:09
引用回帖:
7楼: Originally posted by tianaylk at 2012-03-22 20:28:48:
感谢版主解答!可是又发现问题了,如果把q的数值改变,例如把q(4)从-0.6109改为-5.6109,就又算不出结果了
q =1.0e+009  *;
syms y ;
F2=int(exp((q(1)*y+1/2*q(2)*(y.^2-1)+1/3*q(3)*(y.^3-3*y)+1/4*q(4)*(y ...

log(exp(100))

ans =

   100

>> log(exp(1000))

ans =

   Inf
这个是 你计算的数字实在很大,matlab没法表示,而你想通过减去一个数把它控制100左右,比较困难,我暂时还想不出较好的方法,也许你考虑将你的参数归一化,然后积分,或者考虑换个软件
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
8楼2012-03-22 21:33:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tianaylk

新虫 (初入文坛)

引用回帖:
8楼: Originally posted by dbb627 at 2012-03-22 21:33:10:
log(exp(100))

ans =

   100

>> log(exp(1000))

ans =

   Inf
这个是 你计算的数字实在很大,matlab没法表示,而你想通过减去一个数把它控制100左右,比较困难,我暂时还想不出较好的方法 ...

是啊,计算的确有点大,但其实取对数以后并不大,不知道该如何解决这个问题,已经采用符号积分,但还是只能计算到q为1e8数量级,希望版主有空再帮忙考虑一下,非常感谢~
9楼2012-03-22 22:11:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

397341529

新虫 (初入文坛)

看不懂啊
10楼2012-03-23 19:30:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 tianaylk 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +3 68gx6bh3ei 2026-07-09 3/150 2026-07-10 06:33 by pbuc7it0i8
[硕博家园] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +3 ph7bxbho8f 2026-07-09 3/150 2026-07-10 05:53 by j4frgf6zcw
[教师之家] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +3 al9t2f50x3 2026-07-09 4/200 2026-07-10 05:33 by j4frgf6zcw
[考研] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +4 al9t2f50x3 2026-07-09 4/200 2026-07-10 05:33 by j4frgf6zcw
[基金申请] b口会评 +6 当空照 2026-07-08 6/300 2026-07-09 20:49 by tonyliu0401
[基金申请] 信息学部会评时间 +3 xuel2011 2026-07-06 3/150 2026-07-09 19:05 by mollyzhang_2003
[基金申请] 祈祷青基必中 50+3 hadengry 2026-07-09 9/450 2026-07-09 17:37 by 文杰猪猪
[考研] 在职考研 +6 wu5d 2026-07-08 7/350 2026-07-09 16:40 by 化工小霸王呀
[论文投稿] MSER送审了还被拒稿 +3 S778950906 2026-07-08 5/250 2026-07-09 15:46 by S778950906
[基金申请] 关于如何从代码看上不上会 +11 且听虎啸 2026-07-09 14/700 2026-07-09 15:27 by libeny
[有机交流] 硝基还原 20+3 暮年飞雪 2026-07-07 5/250 2026-07-09 13:30 by tfang
[基金申请] 化学口会评?应用基础研究和基础研究,希望能分开 +3 Tide man 2026-07-08 3/150 2026-07-09 11:36 by dede5556
[基金申请] 今年E04面上 +15 布布和一二 2026-07-05 21/1050 2026-07-09 10:25 by 学员fOzRO9
[硕博家园] 大龄残疾硕士的一点执念 +14 3776737374 2026-07-06 22/1100 2026-07-09 06:07 by lovechizi
[基金申请] 生命口会评 +4 wuke100666 2026-07-07 4/200 2026-07-08 16:38 by 逍遥不够自在
[教师之家] 网络举报学术不端成为了男女之间情杀的手段了,真荒唐。。。 +3 zju2000 2026-07-04 3/150 2026-07-07 21:00 by hyx552200
[有机交流] Suzuki偶联中硼酸酯原料掉下的硼酸酯是否可以自身偶联,生成B2Pin2杂质 500+3 天下大同 2026-07-06 3/150 2026-07-07 10:31 by martyr_oyx
[论文投稿] 刑法学论文投稿求助 +3 高源678 2026-07-04 5/250 2026-07-06 12:20 by 平天尺
[论文投稿] Journal of Environmental Chemical Engineering +3 雪花天涯 2026-07-05 3/150 2026-07-06 09:00 by bobvan
[基金申请] 最后一年,祈求好运 +3 pyw1992 2026-07-06 3/150 2026-07-06 08:53 by 苏_frp
信息提示
请填处理意见