MATLAB Answers

Youngchan
0

The problem in fminsearch function error

Youngchan
さんによって質問されました 2012 年 7 月 2 日
Hello,
I have a problem in this code.
What I try to do is to get a minmum value of the 'equation'
But when I run the m.file, I got a message like this; Please help me to solve this problem.
Here are the 'error message' and 'code' that I made.
Thank you
-----------------------------------------------------------------------------
??? The following error occurred converting from sym to double:
Error using ==> mupadmex
Error in MuPAD command: DOUBLE cannot convert the input expression into a double array.
If the input expression contains a symbolic variable, use the VPA function instead.
Error in ==> fminsearch at 191
fv(:,1) = funfcn(x,varargin{:});
Error in ==> main_variable_change at 65
[x,fval] = fminsearch(equation, x0)
----------------------------------------------------------------------------
clc; clear;
x = sym(zeros(6,1));
for i=1:1:6
x(i) = sym(sprintf('x%d',i));
end
P = zeros(2,2);
P = [x(1), 1-x(1); 0, 1];
Q= zeros(2,3);
Q = [x(2), 1-x(2), 0; 0, x(3), 1-x(3)];
N=2;
pi_01 = 1;
pi_02 = 0;
Tr = [0.13, 0.18, 0.31, 0.49, 0.53, 0.53, 0.55, 0.8, 1.44, 1.71, 1.82, 1.9, 1.99, 2.12, 2.15, 2.34, 2.54, 3.05, 3.36, 4.61];
pi(1,1,1) = (pi_01 * P(1,1) * Q(1,1) + pi_02 * P(2,1) * Q(1,1)) / (pi_01 * P(1,1) * Q(1,1) + pi_01 * P(1,2) * Q(2,1) + pi_02 * P(2,1) * Q(1,1) + pi_02 * P(2,2) * Q(2,1)) ;
pi(1,1,2) = (pi_01 * P(1,1) * Q(1,2) + pi_02 * P(2,1) * Q(1,2)) / (pi_01 * P(1,1) * Q(1,2) + pi_01 * P(1,2) * Q(2,2) + pi_02 * P(2,1) * Q(1,2) + pi_02 * P(2,2) * Q(2,2)) ;
pi(1,1,3) = (pi_01 * P(1,1) * Q(1,3) + pi_02 * P(2,1) * Q(1,3)) / (pi_01 * P(1,1) * Q(1,3) + pi_01 * P(1,2) * Q(2,3) + pi_02 * P(2,1) * Q(1,3) + pi_02 * P(2,2) * Q(2,3)) ;
pi(1,2,1) = (pi_01 * P(1,2) * Q(2,1) + pi_02 * P(2,2) * Q(2,1)) / (pi_01 * P(1,1) * Q(1,1) + pi_01 * P(1,2) * Q(2,1) + pi_02 * P(2,1) * Q(1,1) + pi_02 * P(2,2) * Q(2,1)) ;
pi(1,2,2) = (pi_01 * P(1,2) * Q(2,2) + pi_02 * P(2,2) * Q(2,2)) / (pi_01 * P(1,1) * Q(1,2) + pi_01 * P(1,2) * Q(2,2) + pi_02 * P(2,1) * Q(1,2) + pi_02 * P(2,2) * Q(2,2)) ;
pi(1,2,3) = (pi_01 * P(1,2) * Q(2,3) + pi_02 * P(2,2) * Q(2,3)) / (pi_01 * P(1,1) * Q(1,3) + pi_01 * P(1,2) * Q(2,3) + pi_02 * P(2,1) * Q(1,3) + pi_02 * P(2,2) * Q(2,3)) ;
pi(2,1,1) = (pi(1,1,1)*P(1,1)*Q(1,1) + pi(1,2,1)*P(2,1)*Q(1,1)) / (pi(1,1,1)*P(1,1)*Q(1,1) + pi(1,1,1)*P(1,2)*Q(2,1) + pi(1,2,1)*P(2,1)*Q(1,1) + pi(1,2,1)*P(2,2)*Q(2,1)) ; % this will be used in the eq(14), eq(15), eq(16), theta1 = theta2 = 1
pi(2,2,1) = (pi(1,1,1)*P(1,2)*Q(2,1) + pi(1,2,1)*P(2,2)*Q(2,1)) / (pi(1,1,1)*P(1,1)*Q(1,1) + pi(1,1,1)*P(1,2)*Q(2,1) + pi(1,2,1)*P(2,1)*Q(1,1) + pi(1,2,1)*P(2,2)*Q(2,1)) ; % same above
pi(2,1,2) = (pi(1,1,1)*P(1,1)*Q(1,2) + pi(1,2,1)*P(2,1)*Q(1,2)) / (pi(1,1,1)*P(1,1)*Q(1,2) + pi(1,1,1)*P(1,2)*Q(2,2) + pi(1,2,1)*P(2,1)*Q(1,2) + pi(1,2,1)*P(2,2)*Q(2,2)) ; % this will be used in eq(18)
pi(2,2,2) = (pi(1,1,1)*P(1,2)*Q(2,2) + pi(1,2,1)*P(2,2)*Q(2,2)) / (pi(1,1,1)*P(1,1)*Q(1,2) + pi(1,1,1)*P(1,2)*Q(2,2) + pi(1,2,1)*P(2,1)*Q(1,2) + pi(1,2,1)*P(2,2)*Q(2,2)) ; % this will be used in eq(18)
pi(3,1,1) = (pi(2,1,2)*P(1,1)*Q(1,1) + pi(2,2,2)*P(2,1)*Q(1,1)) / (pi(2,1,2)*P(1,1)*Q(1,1) + pi(2,1,2)*P(1,2)*Q(2,1) + pi(2,2,2)*P(2,1)*Q(1,1) + pi(2,2,2)*P(2,2)*Q(2,1)) ; % this will be used in eq(18)
pi(3,2,1) = (pi(2,1,2)*P(1,2)*Q(2,1) + pi(2,2,2)*P(2,2)*Q(2,1)) / (pi(2,1,2)*P(1,1)*Q(1,1) + pi(2,1,2)*P(1,2)*Q(2,1) + pi(2,2,2)*P(2,1)*Q(1,1) + pi(2,2,2)*P(2,2)*Q(2,1)) ; % this will be used in eq(18)
pi(3,1,2) = (pi(2,1,2)*P(1,1)*Q(1,2) + pi(2,2,2)*P(2,1)*Q(1,2)) / (pi(2,1,2)*P(1,1)*Q(1,2) + pi(2,1,2)*P(1,2)*Q(2,2) + pi(2,2,2)*P(2,1)*Q(1,2) + pi(2,2,2)*P(2,2)*Q(2,2)) ; % this will be used in eq(19)
pi(3,2,2) = (pi(2,1,2)*P(1,2)*Q(2,2) + pi(2,2,2)*P(2,2)*Q(2,2)) / (pi(2,1,2)*P(1,1)*Q(1,2) + pi(2,1,2)*P(1,2)*Q(2,2) + pi(2,2,2)*P(2,1)*Q(1,2) + pi(2,2,2)*P(2,2)*Q(2,2)) ; % this will be used in eq(19)
pi(3,1,1,1) = (pi(2,1,1)*P(1,1)*Q(1,1) + pi(2,2,1)*P(2,1)*Q(1,1)) / (pi(2,1,1)*P(1,1)*Q(1,1) + pi(2,1,1)*P(1,2)*Q(2,1) + pi(2,2,1)*P(2,1)*Q(1,1) + pi(2,2,1)*P(2,2)*Q(2,1)) ;
pi(3,2,1,1) = (pi(2,1,1)*P(1,2)*Q(2,1) + pi(2,2,1)*P(2,2)*Q(2,1)) / (pi(2,1,1)*P(1,1)*Q(1,1) + pi(2,1,1)*P(1,2)*Q(2,1) + pi(2,2,1)*P(2,1)*Q(1,1) + pi(2,2,1)*P(2,2)*Q(2,1)) ;
pi(4,1,1) = (pi(3,1,1,1)*P(1,1)*Q(1,1) + pi(3,2,1,1)*P(2,1)*Q(1,1)) / (pi(3,1,1,1)*P(1,1)*Q(1,1) + pi(3,1,1,1)*P(1,2)*Q(2,1) + pi(3,2,1,1)*P(2,1)*Q(1,1) + pi(3,2,1,1)*P(2,2)*Q(2,1)) ;
pi(4,2,1) = (pi(3,1,1,1)*P(1,2)*Q(2,1) + pi(3,2,1,1)*P(2,2)*Q(2,1)) / (pi(3,1,1,1)*P(1,1)*Q(1,1) + pi(3,1,1,1)*P(1,2)*Q(2,1) + pi(3,2,1,1)*P(2,1)*Q(1,1) + pi(3,2,1,1)*P(2,2)*Q(2,1)) ;
syms t; % for integral variable
eq(1) = pi_01 * exp(- exp(x(6) * 1) * (Tr(1)/x(5))^x(4)) * x(4)/x(5) * (Tr(1)/x(5))^(x(4)-1) * exp(x(6)*1) + pi_02 * exp(- exp(x(6)*2) * (Tr(1)/x(5))^x(4)) * x(4)/x(5) * (Tr(1)/x(5))^(x(4)-1) * exp(x(6)*2);
eq(2) = pi_01 * exp(- exp(x(6) * 1) * (Tr(2)/x(5))^x(4)) * x(4)/x(5) * (Tr(2)/x(5))^(x(4)-1) * exp(x(6)*1) + pi_02 * exp(- exp(x(6)*2) * (Tr(2)/x(5))^x(4)) * x(4)/x(5) * (Tr(2)/x(5))^(x(4)-1) * exp(x(6)*2);
eq(3) = pi_01 * exp(- exp(x(6) * 1) * (Tr(3)/x(5))^x(4)) * x(4)/x(5) * (Tr(3)/x(5))^(x(4)-1) * exp(x(6)*1) + pi_02 * exp(- exp(x(6)*2) * (Tr(3)/x(5))^x(4)) * x(4)/x(5) * (Tr(3)/x(5))^(x(4)-1) * exp(x(6)*2);
eq(4) = pi_01 * exp(- exp(x(6) * 1) * (Tr(4)/x(5))^x(4)) * x(4)/x(5) * (Tr(4)/x(5))^(x(4)-1) * exp(x(6)*1) + pi_02 * exp(- exp(x(6)*2) * (Tr(4)/x(5))^x(4)) * x(4)/x(5) * (Tr(4)/x(5))^(x(4)-1) * exp(x(6)*2);
eq(5) = pi_01 * exp(- exp(x(6) * 1) * (Tr(5)/x(5))^x(4)) * x(4)/x(5) * (Tr(5)/x(5))^(x(4)-1) * exp(x(6)*1) + pi_02 * exp(- exp(x(6)*2) * (Tr(5)/x(5))^x(4)) * x(4)/x(5) * (Tr(5)/x(5))^(x(4)-1) * exp(x(6)*2);
eq(6) = pi_01 * exp(- exp(x(6) * 1) * (Tr(6)/x(5))^x(4)) * x(4)/x(5) * (Tr(6)/x(5))^(x(4)-1) * exp(x(6)*1) + pi_02 * exp(- exp(x(6)*2) * (Tr(6)/x(5))^x(4)) * x(4)/x(5) * (Tr(6)/x(5))^(x(4)-1) * exp(x(6)*2);
eq(7) = pi_01 * exp(- exp(x(6) * 1) * (Tr(7)/x(5))^x(4)) * x(4)/x(5) * (Tr(7)/x(5))^(x(4)-1) * exp(x(6)*1) + pi_02 * exp(- exp(x(6)*2) * (Tr(7)/x(5))^x(4)) * x(4)/x(5) * (Tr(7)/x(5))^(x(4)-1) * exp(x(6)*2);
eq(8) = pi_01 * exp(- exp(x(6) * 1) * (Tr(8)/x(5))^x(4)) * x(4)/x(5) * (Tr(8)/x(5))^(x(4)-1) * exp(x(6)*1) + pi_02 * exp(- exp(x(6)*2) * (Tr(8)/x(5))^x(4)) * x(4)/x(5) * (Tr(8)/x(5))^(x(4)-1) * exp(x(6)*2); % from equ(1) to equ(8) Tr is below 1
eq(9) = ( pi_01*P(1,1)*Q(1,3) + pi_01*P(1,2)*Q(2,3) + pi_02*P(2,1)*Q(1,3) + pi_02*P(2,2)*Q(2,3) ) * ( pi_01*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,0,1)) + pi_02*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,0,1)) ) * ( pi(1,1,3) * exp(- exp(x(6) * 1) * ( ( (Tr(9)) / x(5))^x(4) - (1/x(5))^x(4))) * x(4)/x(5) * ((Tr(9))/x(5))^(x(4)-1) * exp(x(6)*1) + pi(1,2,3) * exp(- exp(x(6)*2) * (((Tr(9))/x(5))^x(4) - (1/x(5))^x(4))) * x(4)/x(5) * ((Tr(9)-1)/x(5))^(x(4)-1) * exp(x(6)*2) ); % Tr(i), theta in Q(j,thata) and theta in pi(k,i,theta) should be changed
eq(10) = ( pi_01*P(1,1)*Q(1,1) + pi_01*P(1,2)*Q(2,1) + pi_02*P(2,1)*Q(1,1) + pi_02*P(2,2)*Q(2,1) ) * ( pi_01*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,0,1)) + pi_02*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,0,1)) ) * ( pi(1,1,1) * exp(- exp(x(6) * 1) * ( ( (Tr(10)) / x(5))^x(4) - (1/x(5))^x(4))) * x(4)/x(5) * ((Tr(10))/x(5))^(x(4)-1) * exp(x(6)*1) + pi(1,2,1) * exp(- exp(x(6)*2) * (((Tr(10))/x(5))^x(4) - (1/x(5))^x(4))) * x(4)/x(5) * ((Tr(10))/x(5))^(x(4)-1) * exp(x(6)*2) );
eq(11) = ( pi_01*P(1,1)*Q(1,1) + pi_01*P(1,2)*Q(2,1) + pi_02*P(2,1)*Q(1,1) + pi_02*P(2,2)*Q(2,1) ) * ( pi_01*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,0,1)) + pi_02*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,0,1)) ) * ( pi(1,1,1) * exp(- exp(x(6) * 1) * ( ( (Tr(11)) / x(5))^x(4) - (1/x(5))^x(4))) * x(4)/x(5) * ((Tr(11))/x(5))^(x(4)-1) * exp(x(6)*1) + pi(1,2,1) * exp(- exp(x(6)*2) * (((Tr(11))/x(5))^x(4) - (1/x(5))^x(4))) * x(4)/x(5) * ((Tr(11))/x(5))^(x(4)-1) * exp(x(6)*2) );
eq(12) = ( pi_01*P(1,1)*Q(1,1) + pi_01*P(1,2)*Q(2,1) + pi_02*P(2,1)*Q(1,1) + pi_02*P(2,2)*Q(2,1) ) * ( pi_01*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,0,1)) + pi_02*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,0,1)) ) * ( pi(1,1,1) * exp(- exp(x(6) * 1) * ( ( (Tr(12)) / x(5))^x(4) - (1/x(5))^x(4))) * x(4)/x(5) * ((Tr(12))/x(5))^(x(4)-1) * exp(x(6)*1) + pi(1,2,1) * exp(- exp(x(6)*2) * (((Tr(12))/x(5))^x(4) - (1/x(5))^x(4))) * x(4)/x(5) * ((Tr(12))/x(5))^(x(4)-1) * exp(x(6)*2) );
eq(13) = ( pi_01*P(1,1)*Q(1,2) + pi_01*P(1,2)*Q(2,2) + pi_02*P(2,1)*Q(1,2) + pi_02*P(2,2)*Q(2,2) ) * ( pi_01*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,0,1)) + pi_02*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,0,1)) ) * ( pi(1,1,2) * exp(- exp(x(6) * 1) * ( ( (Tr(13)) / x(5))^x(4) - (1/x(5))^x(4))) * x(4)/x(5) * ((Tr(13))/x(5))^(x(4)-1) * exp(x(6)*1) + pi(1,2,2) * exp(- exp(x(6)*2) * (((Tr(13))/x(5))^x(4) - (1/x(5))^x(4))) * x(4)/x(5) * ((Tr(13))/x(5))^(x(4)-1) * exp(x(6)*2) );
eq(14) = ( ( pi_01*P(1,1)*Q(1,1) + pi_01*P(1,2)*Q(2,1) + pi_02*P(2,1)*Q(1,1) + pi_02*P(2,2)*Q(2,1) ) * ( pi(1,1,1)*P(1,1)*Q(1,1) + pi(1,1,1)*P(1,2)*Q(2,1) + pi(1,2,1)*P(2,1)*Q(1,1) + pi(1,2,1)*P(2,2)*Q(2,1)) ) * ( ( pi_01*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,0,1)) + pi_02*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,0,1)) ) * ( pi(1,1,1)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,1,2)) + pi(1,2,1)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,1,2)) ) ) * ( ( pi(2,1,1) * exp(- exp(x(6) * 1) * ( ( (Tr(14)) / x(5))^x(4) - (2/x(5))^x(4))) * x(4)/x(5) * ((Tr(14))/x(5))^(x(4)-1) * exp(x(6)*1) + pi(2,2,1) * exp(- exp(x(6)*2) * (((Tr(14))/x(5))^x(4) - (2/x(5))^x(4))) * x(4)/x(5) * ((Tr(14))/x(5))^(x(4)-1) * exp(x(6)*2) ) );
eq(15) = ( ( pi_01*P(1,1)*Q(1,1) + pi_01*P(1,2)*Q(2,1) + pi_02*P(2,1)*Q(1,1) + pi_02*P(2,2)*Q(2,1) ) * ( pi(1,1,1)*P(1,1)*Q(1,1) + pi(1,1,1)*P(1,2)*Q(2,1) + pi(1,2,1)*P(2,1)*Q(1,1) + pi(1,2,1)*P(2,2)*Q(2,1)) ) * ( ( pi_01*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,0,1)) + pi_02*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,0,1)) ) * ( pi(1,1,1)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,1,2)) + pi(1,2,1)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,1,2)) ) ) * ( ( pi(2,1,1) * exp(- exp(x(6) * 1) * ( ( (Tr(15)) / x(5))^x(4) - (2/x(5))^x(4))) * x(4)/x(5) * ((Tr(15))/x(5))^(x(4)-1) * exp(x(6)*1) + pi(2,2,1) * exp(- exp(x(6)*2) * (((Tr(15))/x(5))^x(4) - (2/x(5))^x(4))) * x(4)/x(5) * ((Tr(15))/x(5))^(x(4)-1) * exp(x(6)*2) ) );
eq(16) = ( ( pi_01*P(1,1)*Q(1,2) + pi_01*P(1,2)*Q(2,2) + pi_02*P(2,1)*Q(1,2) + pi_02*P(2,2)*Q(2,2) ) * ( pi(1,1,2)*P(1,1)*Q(1,2) + pi(1,1,2)*P(1,2)*Q(2,2) + pi(1,2,2)*P(2,1)*Q(1,2) + pi(1,2,2)*P(2,2)*Q(2,2)) ) * ( ( pi_01*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,0,1)) + pi_02*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,0,1)) ) * ( pi(1,1,2)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,1,2)) + pi(1,2,2)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,1,2)) ) ) * ( ( pi(2,1,2) * exp(- exp(x(6) * 1) * ( ( (Tr(16)) / x(5))^x(4) - (2/x(5))^x(4))) * x(4)/x(5) * ((Tr(16))/x(5))^(x(4)-1) * exp(x(6)*1) + pi(2,2,2) * exp(- exp(x(6)*2) * (((Tr(16))/x(5))^x(4) - (2/x(5))^x(4))) * x(4)/x(5) * ((Tr(16))/x(5))^(x(4)-1) * exp(x(6)*2) ) ); % I didn't define the value of pi(2,1,2) and pi(2,2,2)
eq(17) = ( ( pi_01*P(1,1)*Q(1,1) + pi_01*P(1,2)*Q(2,1) + pi_02*P(2,1)*Q(1,1) + pi_02*P(2,2)*Q(2,1) ) * ( pi(1,1,1)*P(1,1)*Q(1,1) + pi(1,1,1)*P(1,2)*Q(2,1) + pi(1,2,1)*P(2,1)*Q(1,1) + pi(1,2,1)*P(2,2)*Q(2,1)) ) * ( ( pi_01*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,0,1)) + pi_02*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,0,1)) ) * ( pi(1,1,1)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,1,2)) + pi(1,2,1)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,1,2)) ) ) * ( ( pi(2,1,1) * exp(- exp(x(6) * 1) * ( ( (Tr(17)) / x(5))^x(4) - (2/x(5))^x(4))) * x(4)/x(5) * ((Tr(17))/x(5))^(x(4)-1) * exp(x(6)*1) + pi(2,2,1) * exp(- exp(x(6)*2) * (((Tr(17))/x(5))^x(4) - (2/x(5))^x(4))) * x(4)/x(5) * ((Tr(17))/x(5))^(x(4)-1) * exp(x(6)*2) ) );
eq(18) = ( ( pi_01*P(1,1)*Q(1,1) + pi_01*P(1,2)*Q(2,1) + pi_02*P(2,1)*Q(1,1) + pi_02*P(2,2)*Q(2,1) ) * ( pi(1,1,1)*P(1,1)*Q(1,2) + pi(1,1,1)*P(1,2)*Q(2,2) + pi(1,2,1)*P(2,1)*Q(1,2) + pi(1,2,1)*P(2,2)*Q(2,2) ) * ( pi(2,1,2)*P(1,1)*Q(1,1) + pi(2,1,2)*P(1,2)*Q(2,1) + pi(2,2,2)*P(2,1)*Q(1,1) + pi(2,2,2)*P(2,2)*Q(2,1)) ) * ( ( pi_01*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,0,1)) + pi_02*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,0,1)) ) * ( pi(1,1,1)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,1,2)) + pi(1,2,1)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,1,2)) ) * ( pi(2,1,2)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,2,3)) + pi(2,2,2)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,2,3)) ) ) * ( pi(3,1,1) * exp(- exp(x(6) * 1) * ( (Tr(18)/x(5))^x(4) - (3/x(5))^x(4))) * x(4)/x(5) * (Tr(18)/x(5))^(x(4)-1) * exp(x(6)*1) + pi(3,2,1) * exp(- exp(x(6) * 2) * ( (Tr(18)/x(5))^x(4) - (3/x(5))^x(4))) * x(4)/x(5) * (Tr(18)/x(5))^(x(4)-1) * exp(x(6)*2) );
eq(19) = ( ( pi_01*P(1,1)*Q(1,1) + pi_01*P(1,2)*Q(2,1) + pi_02*P(2,1)*Q(1,1) + pi_02*P(2,2)*Q(2,1) ) * ( pi(1,1,1)*P(1,1)*Q(1,2) + pi(1,1,1)*P(1,2)*Q(2,2) + pi(1,2,1)*P(2,1)*Q(1,2) + pi(1,2,1)*P(2,2)*Q(2,2) ) * ( pi(2,1,2)*P(1,1)*Q(1,1) + pi(2,1,2)*P(1,2)*Q(2,1) + pi(2,2,2)*P(2,1)*Q(1,1) + pi(2,2,2)*P(2,2)*Q(2,1)) ) * ( ( pi_01*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,0,1)) + pi_02*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,0,1)) ) * ( pi(1,1,1)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,1,2)) + pi(1,2,1)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,1,2)) ) * ( pi(2,1,2)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,2,3)) + pi(2,2,2)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,2,3)) ) ) * ( pi(3,1,2) * exp(- exp(x(6) * 1) * ( (Tr(19)/x(5))^x(4) - (3/x(5))^x(4))) * x(4)/x(5) * (Tr(19)/x(5))^(x(4)-1) * exp(x(6)*1) + pi(3,2,2) * exp(- exp(x(6) * 2) * ( (Tr(19)/x(5))^x(4) - (3/x(5))^x(4))) * x(4)/x(5) * (Tr(19)/x(5))^(x(4)-1) * exp(x(6)*2) );
eq(20) = ( ( pi_01*P(1,1)*Q(1,1) + pi_01*P(1,2)*Q(2,1) + pi_02*P(2,1)*Q(1,1) + pi_02*P(2,2)*Q(2,1) ) * ( pi(1,1,1)*P(1,1)*Q(1,1) + pi(1,1,1)*P(1,2)*Q(2,1) + pi(1,2,1)*P(2,1)*Q(1,1) + pi(1,2,1)*P(2,2)*Q(2,1) ) * ( pi(2,1,1)*P(1,1)*Q(1,1) + pi(2,1,1)*P(1,2)*Q(2,1) + pi(2,2,1)*P(2,1)*Q(1,1) + pi(2,2,1)*P(2,2)*Q(2,1)) * ( pi(3,1,1)*P(1,1)*Q(1,1) + pi(3,1,1)*P(1,2)*Q(2,1) + pi(3,2,1)*P(2,1)*Q(1,1) + pi(3,2,1)*P(2,2)*Q(2,1)) ) * ( ( pi_01*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,0,1)) + pi_02*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,0,1)) ) * ( pi(1,1,1)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,1,2)) + pi(1,2,1)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,1,2)) ) * ( pi(2,1,1)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,2,3)) + pi(2,2,1)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,2,3)) ) * ( pi(3,1,1,1)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(x(6)),t,3,4)) + pi(3,2,1,1)*exp(-int(x(4)/x(5)*(t/x(5))^(x(4)-1)*exp(2*x(6)),t,3,4)) ) ) * ( pi(4,1,1) * exp(- exp(x(6) * 1) * ( (Tr(20)/x(5))^x(4) - (4/x(5))^x(4))) * x(4)/x(5) * (Tr(20)/x(5))^(x(4)-1) * exp(x(6)*1) + pi(4,2,1) * exp(- exp(x(6) * 2) * ( (Tr(20)/x(5))^x(4) - (4/x(5))^x(4))) * x(4)/x(5) * (Tr(20)/x(5))^(x(4)-1) * exp(x(6)*2) );
equation = @(x) (-(log(eq(1)) + log(eq(2)) + log(eq(3)) + log(eq(4)) + log(eq(5)) + log(eq(6)) + log(eq(7)) + log(eq(8)) + log(eq(9)) + log(eq(10)) + log(eq(11)) + log(eq(12)) + log(eq(13)) + log(eq(14)) + log(eq(15)) + log(eq(16)) + log(eq(17)) + log(eq(18)) + log(eq(19)) + log(eq(20))));
x0 = [0;0;0;0;0;0];
[x,fval] = fminsearch(equation, x0)
-------------------------------------------------------------------------------

  0 件のコメント

サインイン to comment.

タグ

製品

2 件の回答

Answer by Sargondjani on 3 Jul 2012
Edited by Sargondjani on 3 Jul 2012
 Accepted Answer

i dont know what you want this to do: x = sym(zeros(6,1)); for i=1:1:6 x(i) = sym(sprintf('x%d',i)); end
or: syms t
but it looks like it should work if you leave out these parts...
also note that "pi" is reserved for pi, so you should not use that name

  1 件のコメント

Thank you for your answer
First, the reason why I used the symbolic variables in the beginning of this code is to get a minimum value by using a "fminsearch"
Second, the reason why I used the "syms t" is to get the value of the integral calculation
I made this code to get a minimum value of the "fminsearch" to get a minimum value of the "equation" I am not sure that if I do not use the symbolic variable, how can I get the minimum value by using "fminsearch" function
Thank you again for your answer

サインイン to comment.


Youngchan
Answer by Youngchan on 11 Jul 2012

Thank you for your answer
First, the reason why I used the symbolic variables in the beginning of this code is to get a minimum value by using a "fminsearch"
Second, the reason why I used the "syms t" is to get the value of the integral calculation
I made this code to get a minimum value of the "fminsearch" to get a minimum value of the "equation" I am not sure that if I do not use the symbolic variable, how can I get the minimum value by using "fminsearch" function
Thank you again for your answer

  0 件のコメント

サインイン to comment.



Translated by