Hello all I ran into a symbolic viarible optimization problem in MATLAB. I tried to define array containing with symbolic element, and then apply a certain function and I would like to optimize this function which contain symbolic variables. Error notes show: "Function 'ge' is not implemented for MuPAD symbolic objects" which i assume meaning MATLAB can not run optimization on symbolic object functions. is there anyone know how to fix it? pls…..
This is the code:
clear all global N ITERATION_STEP BETA a1 a2 a3syms a1 a2 a3N=3;ITERATION_STEP=3;% discount factor
BETA=0.95;prob = [0.662,0.547,0.769]; %prob = rand(1,n);
disp('prob');disp(prob);states = zeros(1,N); actions = [a1, a2, a3];%actions(1,:)=20; initial transmitted power is 20dB
inst_reward = zeros(1,N); future_reward = zeros(1,N);for i = 1:N imm_reward = InstReward(prob,actions);enddisp('imm_reward');disp(imm_reward);% at every moment, there are two possible rewards, name them reward1 and
% reward 2 which reward1 denotes the reward when no state change happens,
% while reward2 denotes the reward when state changes.
for j = 1:2 for i = 1:2 alter_prob = 1 - prob; reward1 = InstReward(prob, actions); reward2 = InstReward(alter_prob, actions); total = BETA.^(j)*(prob.*reward1 + alter_prob.*reward2); future_reward = imm_reward + sum(total); endendobj_function = @(actions)(sum(future_reward));% optimization algorithm to find the value of actions to get the min reward
% [X,FVAL,EXITFLAG,OUTPUT] = fmincon(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS)
%options = optimset('Display','off');
[X,FVAL,EXITFLAG,OUTPUT] = fmincon(obj_function,[0,0],[],[],[],[],0,[]);
But I got error note as: Error using sym>notimplemented (line 2682) Function 'ge' is not implemented for MuPAD symbolic objects.
Error in sym/ge (line 823) notimplemented('ge');
Error in nlconst (line 663) elseif f >=0
Error in fmincon (line 794) [X,FVAL,LAMBDA,EXITFLAG,OUTPUT,GRAD,HESSIAN]=…
Error in main (line 42) [X,FVAL,EXITFLAG,OUTPUT] = fmincon(obj_function,[0,0],[],[],[],[],0,[]);
Best Answer