中易网

matlab 调试

答案:1  悬赏:0  
解决时间 2021-02-02 12:27
>> y=double(vpa(int(x.^(2.42869-1).*exp(-x),0,10),5));
??? Error using ==> sym.double at 29
DOUBLE cannot convert the input expression into a double array.
If the input expression contains a symbolic variable, use the VPA function instead.

>> y=double(vpa(int(x.^(2.5-1).*exp(-x),0,10),5));
>>

哪位高手知道为什么2.42869 带入计算 就有问题 2.5 就没问题。。多谢
最佳答案
int厚的函数要有显式表达式初等函数vpa才有用,不然vpa是废材
2.5时,int后是显式的,而2.42869就没有显式了,int后只不过是另一种表达式,而实际上并没有积分出来,vpa后是没有任何作用的,double对于syms表达式作用当然会错,matlab中符号运算只有对于可运算的才有实际意义,比如solve解5次以上含参数代数方程,解了当没有解,又如dsolve解非线性微分方程,都是徒劳
见下:
int(x.^(2.5-1).*exp(-x),0,10)

ans =

(3*pi^(1/2)*erf(10^(1/2)))/4 - (23*10^(1/2))/(2*exp(10))

>> int(x.^(2.42869-1).*exp(-x),0,10)
ans =
- ((3217123875813977*10^(965324062128729/2251799813685248))/2251799813685248 + 10^(3217123875813977/2251799813685248))/exp(10) - (3105567088172068973424231445233*igamma(965324062128729/2251799813685248, 10))/5070602400912917605986812821504 - limit(- exp(-x)*(3217123875813977/2251799813685248*x^(965324062128729/2251799813685248) + x^(3217123875813977/2251799813685248)) - 3105567088172068973424231445233/5070602400912917605986812821504*igamma(965324062128729/2251799813685248, x), x = 0, Right)
所以不行

想算出来也不是难事
int(x.^(alpha-1).*exp(-x),0,beta)
=gammainc(beta,alpha)*gamma(alpha)

直接算就行
>> gammainc(10,2.5)*gamma(2.5)

ans =

1.3277

>> gammainc(10,2.42869)*gamma(2.42869)

ans =

1.2645
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
张家口结婚女方应准备什么东西
从汉口火车站乘几路公交到同济医院?
桂平的英文怎么写
工商银行有房贷可在申请装修贷款吗
中国石油迎宾路加油站怎么去啊,有知道地址的
挑战不可能年度冠军得锐界一年使用权什么意思
do sb. a favor的同意短语可以是ask sb. a fa
虚拟内存不足会造成什么后果,怎么解决
千色坊窗帘怎么去啊,有知道地址的么
无聊中,推荐一个优秀的江门微信号?
上湾中学这个地址在什么地方,我要处理点事
毛坯房交房墙面全部刷好腻子粉了,需不需要铲
海霞副食店在哪里啊,我有事要去这个地方
用手机登录为什么要发验证码
金箭电动车在南昌上牌的目录里面怎么没有?
推荐资讯
足球比赛的边线球为什么要用双手掷?而不是单
芬加个偏旁变成啥字字
合唱队有60名学员,平均分成若干组,要使每组
金立手机为什么不能连接盒子支付pos机
翻译以下一句英语“一些同学认为可以领略大自
我想对你说声抱歉作文
为什么孔慈一死步惊云就爱上了楚楚(电视剧的
红豆和绿豆放在一个锅里面炒,炒熟过后,倒出
温州火锅小炒地址在什么地方,想过去办事
宝山区罗泾镇农业创业园地址在什么地方,想过
笛姚演过什么电视剧
大连理工大学,土木工程硕士研究生怎么样?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?