action 发表于 2006-12-25 13:35

请问积分里面套积分怎么求啊??

请问在积分中又包含积分改怎么求啊?由于表达式太复杂,只能用quadl来求解,可总是有错!表达式在附件中,请各位高手帮忙看看,比如取    f(x)=sin(x),用quadl怎么求解啊?谢谢!!

xjzuo 发表于 2006-12-25 15:06

回复

先试试用两次 int,用法 help int.
不行再考虑用数值积分.quadl的用法 help quadl.
还不行的话,请将具体表达式贴上来.

guangguang 发表于 2006-12-25 15:07

把f(t)^2拆成两个函数,用符号积分做

syms t u x
F2=int(int(int(sin(t)*sin(u),t,0,x),u,0,x),x,0,1)
VF2=vpa(F2)

action 发表于 2006-12-25 17:19

我把程序上传,请大家帮忙看看!

函数复杂,int 积不出来。情大家帮忙,谢谢!
主程序:
clear
global theta rs re;
theta=8.39;
rs=25.6e-3;
re=35.71e-3;
t=6;
Z=quadl( @r2,0,t );

子程序1:
function I=I0(t)
global theta;
I=besseli(0,theta * sqrt(1-(t/theta).^2) )/(2*sinh(theta));

子程序2:
function r2=r2(z)
global theta rs re;
a=quadl( @I0,-theta,z);
r2=rs.*exp( log(re./rs).*quadl( @I0,-theta,z));

xjzuo 发表于 2006-12-26 10:12

回复

你的程序有点混乱.
建议用word文档将你要求的问题贴上来.

action 发表于 2007-1-17 09:17

文档上传,清各位帮忙!!

清各位帮忙看看用matlab怎么求?谢谢!!

xjzuo 发表于 2007-1-17 11:22

回复

这种问问题的方式-----每次都不一样(前后不一致)的做法并不可取,
为什么不一次就把问题贴出来呢?
到现在, 我也看不出你写的表达式和你的代码有什么关系.
提示: 就你最后给的表达式来看, 解析积分几乎不可能. 所以建议你先改用最原始的离散求和计算,
一方面这样最容易, 另一方面也是因为涉及Bessel函数的积分,一般求积函数可能不稳定.
接下来再用求积函数验证.

[ 本帖最后由 xjzuo 于 2007-1-17 11:25 编辑 ]

action 发表于 2007-1-17 11:29

回复 #7 xjzuo 的帖子

我的问题更复杂,这只是我的问题类似的情况,如果这个可以求解,我的问题也就解决了。
你说的“用求积函数验证”是怎么回事啊?使用quadl么?好像不太行!还请帮忙

xjzuo 发表于 2007-1-17 11:40

回复

有多复杂呢?就是你代码中的那样?
即使再复杂,也请务必保持每次都一样,否则看问题的人就可能不知你在做什么了.
另:我已经讲了,用离散求和来求积分,这种方法好调节步长,你先算一下吧.
  验证就是指用quad,quadl函数等再计算一下,比较两种计算的结果.
  当然,有可能后者不如前者稳定.(我曾碰过一次)

action 发表于 2007-1-17 13:59

quadl怎么计算呢?

问题关键就在quadl等怎么计算??直接求和我已经做过了,就是想用quadl求一下,可是总是出错。主要是quadl计算时调用的函数里面包含了qudal这个命令,因而矩阵维数总是出错。你能不能作一下试试。多谢了!

xjzuo 发表于 2007-1-17 15:28

回复

那么,请把你的离散求和代码贴一下.
再把你的quadl积分代码以及错误提示贴一下.
(这样也方便大家讨论)

happy 发表于 2007-1-21 14:32

原帖由 action 于 2007-1-17 13:59 发表
问题关键就在quadl等怎么计算??直接求和我已经做过了,就是想用quadl求一下,可是总是出错。主要是quadl计算时调用的函数里面包含了qudal这个命令,因而矩阵维数总是出错。你能不能作一下试试。多谢了!

二维积分问题用一维的命令显然是错误的
页: [1]
查看完整版本: 请问积分里面套积分怎么求啊??