如何用MATLAB求积分的数值解

我的具体积分如下:积分下限x0是未知常数,最后想积分出来一个带着x0的式子,但是积出来的结果很诡异,程序和结果如下:sita=10^(-3);tf=2*10^(-3);B... 我的具体积分如下:积分下限x0是未知常数,最后想积分出来一个带着x0的式子,但是积出来的结果很诡异,程序和结果如下:sita=10^(-3);tf=2*10^(-3);B=10^6;beta=sita*tf*B/log(2);syms x0 x;f=(1/10)*((1/(x0^(1/(1+beta))))*(1/(x^(beta/(1+beta)))))*exp(-x/10);f2=int(f,x,'x0',inf);结果:f2 = (10^(2318222640497235/9007199254740992)*igamma(2318222640497235/9007199254740992, x0/10) + limit(-10^(2318222640497235/9007199254740992)*igamma(2318222640497235/9007199254740992, x/10), x, Inf, 'Left'))/(10*x0^(4636445280994469/18014398509481984)) 大神们可以告诉我这个要怎么处理吗?拜托各位 展开
 我来答
lhmhz
高粉答主

2017-04-23 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17014

向TA提问 私信TA
展开全部

对于你问题,可以这样解决。即

x=double(solve(f2))

根据你提供图片算式,发现你编写的算式代码有点问题。正确方式为

B=10^6;Tf=2*10^(-3);theta=10^(-3);

beta=theta*Tf*B/log(2); 

syms y x

eq0=(1/(x^(1/(beta+1))))*(1/(y^(beta/(beta+1))))*exp(-y/10);

f=int(eq0,y,x,+inf)-10;

x=double(solve(f))

运行结果

更多追问追答
追问

太感谢您了!可是我把您的代码在我自己的MATLAB运行了一下,为啥出来的结果有问题呢?代码完全是您的呀?是我哪里设置有问题吗

追答

不会吧,用刚才上传的代码在Matlab2016a运行得到结果与在Matlab2010a是一样的。

可能你的版本有点问题。

黄先生
2024-12-27 广告
矩阵切换器就是将一路或多路视音频信号分别传输给一个或者多个显示设备,如两台电脑主机要共用一个显示器,矩阵切换器可以将两台电脑主机上的内容renyi切换到同一个或多个显示器上;迈拓维矩矩阵切换器种类齐全,性价比高,支持多种控制方式,为工程商采... 点击进入详情页
本回答由黄先生提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式