使用多变量正态分布Matlab最小化期望值

时间:2016-05-27 13:42:51

标签: matlab distribution minimization

我试图最小化此函数的期望值w.r.t变量Q

其中f(D)是多元正态分布的概率密度函数,c0cu参数。

这是我到目前为止所做的:

syms X1
syms X2
syms X3

c0 = 1 ;
cu = 1 ;

x = [X1; X2; X3] ;
mu = [3; 5; 7 ] ;
sigma = [4,3,6;3,8,5;6,5,10] ;

s = mvnpdf(x,mu,sigma)

syms Q
syms D

f = (Q-D).*s ;
z = c0.*int(f,D,0,Q) ;
anon_z = matlabFunction(z) ;
g = (D-Q).*s ;
t = cu.*int(g,D,Q,inf) ;
anon_t = matlabFunction(t) ;
tot = @(Q) anon_z(Q) + anon_t(Q) ;

[x fx] = fminsearch(tot,0)

它给了我这个错误:

  

错误   symengine> @(Q,X1,X2,X3)Q. ^ 2. * EXP(。缀(X1)的缀(X3)(3.0./2.0))* EXP(缀( X2)。缀(X3)。(1.0./1.1e1))。 EXP(缀(X1)。 -3.0)。 EXP(缀(X2 )。(3.0./1.1e1))。 EXP(缀(X3)。(2.6e1./1.1e1))。 EXP(缀(X1)。^ 2 ( - 。5.0./4.0)).exp(conj(X2).^2.(-1.0./1.1e1)).exp(conj(X3 。)^ 2 ( - 。2.3e1./4.4e1)) EXP(-8.75688228083863)(1.0./2.0)

     

@(Q)anon_z(Q)+ anon_t(Q)

出错      

fminsearch出错(第189行)fv(:,1)= funfcn(x,varargin {:});

     

multi_3giocatori中的错误(第19行)[x fx] = fminsearch(tot,0)

你可以帮我解决这个问题吗?

0 个答案:

没有答案