matlab中mupad报错 高手解答
我要计算一个函数Fhx_Chisquared_distribution(x)=0.01,求出x的值(非中心卡方分布的累积分布函数)sigmah2=1;h2=1;symsx...
我要计算一个函数Fhx_Chisquared_distribution(x)=0.01,求出x的值(非中心卡方分布的累积分布函数)
sigmah2=1;
h2=1;
syms x positive real;
Fhx_Chisquared_distribution=@(x)1-marcumq(sqrt(h2/sigmah2),sqrt(x/sigmah2))
solve(’Fhx_Chisquared_distribution(x)-0.01=0',x)
但是报错
??? Error using ==> mupadmex
Error in MuPAD command: cannot differentiate equation [numeric::fsolve]
Error in ==> sym.sym>sym.mupadmexnout at 2018
out = mupadmex(fcn,args{:});
Error in ==> solve at 76
[symvars,R] = mupadmexnout('symobj::solvefull',eqns,vars);
求高手帮忙解答。在线等 展开
sigmah2=1;
h2=1;
syms x positive real;
Fhx_Chisquared_distribution=@(x)1-marcumq(sqrt(h2/sigmah2),sqrt(x/sigmah2))
solve(’Fhx_Chisquared_distribution(x)-0.01=0',x)
但是报错
??? Error using ==> mupadmex
Error in MuPAD command: cannot differentiate equation [numeric::fsolve]
Error in ==> sym.sym>sym.mupadmexnout at 2018
out = mupadmex(fcn,args{:});
Error in ==> solve at 76
[symvars,R] = mupadmexnout('symobj::solvefull',eqns,vars);
求高手帮忙解答。在线等 展开
1个回答
展开全部
我用mupad求解了下,也是和你一样,并且直接求数值解也无法求出。
说明对你这个方程,matlab的符号引擎是无能为力的,解不出。
你只能考虑用优化的方法来解了。使用优化工具箱的fzero和fsolve试试,你要指定一个可能的初值,然后优化函数从那个初值开始向附近搜索,当搜索到在某个值x两侧原函数改变了符号,就认为x是根了,应该是相当逼近的。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |