matlab integral积分求助。
14 views (last 30 days)
Show older comments
各位好,本人目前在用matlab做统计学的一些计算,因为matlab不熟悉,所以碰到下面integral积分问题无法解决,请问各位帮帮忙指导。谢谢!另问一下,之前是打算用符号积分的,当由于计算中涉及了gamcdf导致无法使用符号积分,这种情况不知道有什么解决办法?
代码如下:
clear
clc
T = 50
m =1
t1 = 40
t = 20
mu30 = 0.9748
tau30 = 0.02
beta1 = 1
beta2 = 4
n =10
tau = 30
U = t1
fb = @(z) power(z/(z+2),log(mu30)/log(z/(z+1)))-power(z/(z+1),2*log(mu30)/log(z/(z+1)))-power(tau30,2)
b = solve(fb)
a = log(mu30)/log(b/(b+1))
xbeta = @(beta) power(t1,beta)+(n-m)*power(T,beta)
fd1 = @(beta) power(beta,m).*power(tau,a*beta).*power(U,beta-1)
fd2 = @(beta) power(xbeta+b*power(tau,beta),m+a)
Idata = integral(@(beta)fd1(beta)/fd2(beta),beta1,beta2)
然后计算Idata的时候报错如下:
错误使用 symengine
Argument is not of 'Cat::Matrix'.
出错 sym/privBinaryOp (line 973)
Csym = mupadmex(op,args{1}.s, args{2}.s, varargin{:});
出错 / (line 353)
X = privBinaryOp(A, B, 'symobj::mrdivide');
出错 Untitled2>@(beta)fd1(beta)/fd2(beta)
出错 integralCalc/iterateScalarValued (line 314)
fx = FUN(t);
出错 integralCalc/vadapt (line 132)
[q,errbnd] = iterateScalarValued(u,tinterval,pathlen);
出错 integralCalc (line 75)
[q,errbnd] = vadapt(@AtoBInvTransform,interval);
出错 integral (line 88)
Q = integralCalc(fun,a,b,opstruct);
出错 Untitled2 (line 20)
Idata = integral(@(beta)fd1(beta)/fd2(beta),beta1,beta2)
0 Comments
Accepted Answer
yuhhkej
on 21 May 2023
仅供参考
clear
clc
T = 50;
m =1;
t1 = 40;
t = 20;
mu30 = 0.9748;
tau30 = 0.02;
beta1 = 1;
beta2 = 4;
n =10;
tau = 30;
U = t1;
syms z
fb = power(z/(z+2),log(mu30)/log(z/(z+1)))-power(z/(z+1),2*log(mu30)/log(z/(z+1)))-power(tau30,2);
b = double(vpasolve(fb));
a = log(mu30)/log(b/(b+1));
xbeta = @(beta) power(t1,beta)+(n-m)*power(T,beta);
fd1 = @(beta) power(beta,m).*power(tau,a*beta).*power(U,beta-1);
fd2 = @(beta) power(xbeta(beta)+b*power(tau,beta),m+a);
Idata = integral(@(beta)fd1(beta)./fd2(beta),beta1,beta2)
0 Comments
More Answers (0)
See Also
Categories
Find more on Calculus in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!