24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 2749  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿北京化工085600 310分求调剂 +17 0856材料与化工3 2026-04-04 19/950 2026-04-06 23:10 by chenzhimin
[考研] 08600生物与医药-327 +9 18755400796 2026-04-05 9/450 2026-04-06 22:35 by 52305043001
[考研] 化学调剂 +17 艾志恒 2026-04-03 18/900 2026-04-06 07:10 by jj987
[考研] 262求调剂 +7 天下第一文 2026-04-04 8/400 2026-04-05 21:31 by 激流勇渡
[考研] 考研调剂生寻找导师 +3 顾瞻考研啊 2026-04-05 3/150 2026-04-05 18:18 by 啵啵啵0119
[考研] 320求调剂 +3 一样圆 2026-04-04 3/150 2026-04-04 22:29 by 啵啵啵0119
[考研] 085601,一志愿厦大334复试被刷求调剂 +13 曾仰之 2026-04-03 15/750 2026-04-04 20:13 by dongzh2009
[考研] 求调剂 +6 朔朔话 2026-04-02 7/350 2026-04-04 19:16 by 蓝云思雨
[考研] 359求调剂 +7 hhhhaaaa$ 2026-04-04 7/350 2026-04-04 18:49 by imissbao
[考研] 一志愿东北大学085901土木专硕345求调剂 +3 zxt11111 2026-04-04 3/150 2026-04-04 14:21 by 土木硕士招生
[硕博家园] 求老师收留 +9 lllq123 2026-04-03 9/450 2026-04-03 13:48 by 呼吸都是减肥
[考研] 071000生物学调剂 +8 知昭蔓 2026-04-02 8/400 2026-04-03 10:36 by macy2011
[考研] 考研调剂 +3 李木子0120 2026-04-02 5/250 2026-04-02 21:45 by dongzh2009
[考研] 271求调剂 +15 勒布朗@ 2026-03-31 20/1000 2026-04-02 11:24 by Sammy2
[考研] 324求调剂 +5 想上学求调 2026-04-01 6/300 2026-04-02 10:16 by sanrepian
[考研] 377求调剂 +3 RASKIN 2026-04-02 3/150 2026-04-02 09:45 by zzchen2000
[考研] 348环境工程调剂 +3 吴彦祖24k 2026-04-01 3/150 2026-04-02 09:14 by nanaliuyun
[考研] 292求调剂 +17 木虫er12138 2026-04-01 17/850 2026-04-01 21:37 by 七度不信任
[考研] 求0861交通运输专硕or材料专硕调剂 +4 勒布朗@ 2026-03-31 4/200 2026-04-01 09:54 by 一只好果子?
[考研] 313求调剂 +6 卖个关子吧 2026-03-31 6/300 2026-03-31 10:58 by Jaylen.
信息提示
请填处理意见