nnpc.net
当前位置:首页 >> MAtlAB定积分的符号计算不出结果 >>

MAtlAB定积分的符号计算不出结果

有20个v,那应该有20个结果吧?而且你的那个函数的定积分是没有解析解的.所以只能求数值解.建议你利用trapz函数,具体的看help.其实也可以用quad但是它需要函数的定义,所以有点麻烦,我不推荐.下面有代码.>> x=0:0.01:20;v=1:20;>> for i=1:20f(:,i)=((1+16*(x-1).^2)./(v(i)^2-40.*x.*(x-2))).^(1/2);y(i)=trapz(x,f(:,i));end>> y若满意请采纳 ^.^

简单积分用 int 积不出来的原因.主要是给出被积函数比较复杂,用int()函数命令求不出其积分解析值.如要得到数值解,则需要给出α的积分区间.假如α的积分区间为0到π/3,可以执行用下列代码求得其数值解.>> syms t>> a=atan(55*sin(0.12*t)/(93-55*cos(0.12*t)));>> s=int(150*2.4*0.05*cos(a),0,pi/3)>> s=vpa(s)得到的结果s =18.748816802184157735971535891774

因为是不定积分,后面会有常数项.你和matlab计算的差别在于你对1和-x求积分,应该是得x+c1-0.5*x^2+c2;matlab的思路是另u=1-x,看成一个整体,du=d(1-x)=-dx,对udu求积分,计算的结果-(x - 1)^2/2+c(matlab默认不输出这个常数项).其实本质上两个的计算结果是一致的.希望能帮到你.

>> syms x y>> int(int(exp(-x-y),x,0,inf),y,0,inf)ans =1我能算出来呀,你看看是不是你输入的内容有全角半角的错误,比如括号或逗号是不是输成全角的,或者你直接复制我的命令去运行,如果还不行,可能是你的Matlab有问题了. 还有:把最后那个分号去掉,输入分号表示不显示运行结果.希望可以帮到你,不明白可以追问,如果解决了问题,请点下面的"选为满意回答"按钮,谢谢.

maple,matlab的运行结果都显示I1,I2,I3形式太复杂,积不出来 实际上matlab符号计算用的是maple的内核,matlab输出的I1,I2,I3的结果正是maple的输入的形式. 把I1,I2,I3用积分形式写下来,都是类似正态分布的函数积分,所以也不难理解它们积不

因为这个积分没有解析解!

例如: >> clear >> syms x >> int(exp(sin(tan(x))),x,0,1) ans = int(exp(sin(tan(x))), x, 0, 1) 无法求出积分的符号解,可能是因为没有初等原函数.这时候可以求数值解: >> clear >> steplength=0.0001; >> x=0:steplength:1; >> y=exp(sin(tan(x)));%节点处的函数值,即矩形的高度 >> sum(y*steplength)%矩形的高度乘以宽度(步长),再求和 ans = 1.7678

积不出来,估计电脑都不好算,只能人为简化,用些积分方法拆解下,然后用计算机求.我用maple 没求出来.

对于N重积分,重数较大时,直接计算积分的运算量会很大.所以,对于N>=3时,可以考虑用蒙特卡洛积分

>>f='sin(s+2*x)';>>int(f) %符号解ans =-cos(s + 2*x)/2>>int(f,pi/2,pi) %数值解ans =-cos(s)

网站首页 | 网站地图
All rights reserved Powered by www.nnpc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com