matlab integral积分求助。
14 ビュー (過去 30 日間)
古いコメントを表示
各位好,本人目前在用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 件のコメント
採用された回答
yuhhkej
2023 年 5 月 21 日
仅供参考
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 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Calculus についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!