24小时热门版块排行榜    

查看: 2247  |  回复: 12

会飞的泡123

铜虫 (小有名气)

[求助] matlab求函数积分出错

算出两个含有贝塞尔函数的表达式:
A =besselj(4.,20.83*r)-1.804*r^4*(1.-1.*r^2);

B =besselj(0.,2.405*r)-.6242+.6242*r^2;
单独将A,B在 r(0,1)上积分积分都可以积分出来,但是AB乘积之后就积分不出来了。。。

> F=A.*B;
F =(besselj(4.,20.83*r)-1.804*r^4*(1.-1.*r^2))*(besselj(0.,2.405*r)-.6242+.6242*r^2);
G=int(F,r,0,1);
就会提示错误:

Warning: Explicit integral could not be found.
> In sym.int at 58
不知道是怎么回事,高手给指点一下下吧。。。
回复此楼

» 猜你喜欢

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

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

jerkwin

专家顾问 (正式写手)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
会飞的泡123: 金币+2, 有帮助 2013-12-05 14:54:11
fegg7502: 金币+1, 鼓励交流 2013-12-13 08:56:17
解析的求不出来
只能数值解
2楼2013-12-05 11:57:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主


fegg7502: 金币+1, 鼓励交流 2013-12-13 08:56:25
利用bessel函数的级数近似表达式,自建函数【两两相乘】,乘积的积分就可以了。
3楼2013-12-05 13:19:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★
感谢参与,应助指数 +1
会飞的泡123: 金币+3, ★★★★★最佳答案 2013-12-05 14:53:49
fegg7502: 金币+1, 鼓励交流 2013-12-13 08:56:33
不用int
用quad或 quadgk 试试
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
4楼2013-12-05 14:07:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

会飞的泡123

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by jerkwin at 2013-12-05 11:57:20
解析的求不出来
只能数值解

为什么这个解析的求不出来呢?
然后那个数值解是不是用quadl?
5楼2013-12-05 14:14:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

会飞的泡123

铜虫 (小有名气)

引用回帖:
4楼: Originally posted by 月只蓝 at 2013-12-05 14:07:14
不用int
用quad或 quadgk 试试

建了一个m文件,然后用了quad搞定了
谢谢你
6楼2013-12-05 14:53:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

阿德

金虫 (正式写手)

引用回帖:
6楼: Originally posted by 会飞的泡123 at 2013-12-05 14:53:30
建了一个m文件,然后用了quad搞定了
谢谢你...

请问楼主,你是怎么建立m文件的,能否分享一下呢
7楼2013-12-05 19:55:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

会飞的泡123

铜虫 (小有名气)

引用回帖:
7楼: Originally posted by 阿德 at 2013-12-05 19:55:03
请问楼主,你是怎么建立m文件的,能否分享一下呢...

function f=bes(r);
f=(besselj(4.,20.83.*r)-1.804.*r.^4.*(1.-1.*r.^2)).*(besselj(0.,2.405.*r)-.6242+.6242.*r.^2);
就这样~
8楼2013-12-12 21:00:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

阿德

金虫 (正式写手)

引用回帖:
8楼: Originally posted by 会飞的泡123 at 2013-12-12 21:00:24
function f=bes(r);
f=(besselj(4.,20.83.*r)-1.804.*r.^4.*(1.-1.*r.^2)).*(besselj(0.,2.405.*r)-.6242+.6242.*r.^2);
就这样~...

直接写函数为什么不行呢

[ 发自小木虫客户端 ]
9楼2013-12-12 21:47:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

会飞的泡123

铜虫 (小有名气)

引用回帖:
9楼: Originally posted by 阿德 at 2013-12-12 21:47:14
直接写函数为什么不行呢
...

后来我发现直接写也行,但是要用vpa改一下类型
10楼2013-12-13 09:05:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 会飞的泡123 的主题更新
信息提示
请填处理意见