Also ich habe ein kleines Problem mti der Compecon Toolbox. Ich habe ein Modell und möchte jedoch, dass x nur werte >= 0 annehmen kann. Kann mir jemand sagen an welcher Stelle des Models ich diese Restriktion einbauen muss?
Hier das Modell:
Code:
% Define problem parameters
kappa = 0.5; % speed of price mean reversion
alpha = 1; % mean price
sigma = 0.2; % price volatility
a = 4; % adjustment cost parameter
c = 2; % variable cost parameter
rho = 0.1; % discount rate
% Pack model structure clear model
model.func = 'madj1'; % model functions
model.params = {kappa alpha sigma a c rho}; % other parameters
% Define nodes and basis matrices
n = [1010]; % number of state collocation coordinates
pmin=0.4; pmax=2.5; % limits of approximation
smin = [pmin 0]; % minimum states
smax = [pmax 3]; % maximum states
fspace = fundefn('cheb',n,smin,smax); % function space
scoord = funnode(fspace); % state collocation grid coordinates
function out1 = mfsc03(flag,s,x,Vs,kappa,alpha,sigma,a,c,rho);
n = size(s,1);
switch flag
case 'x'; % OPTIMAL CONTROL
out1 = Vs(:,2)/a;
case 'f'; % REWARD FUNCTION
out1 = s(:,1).*s(:,2) - 0.5*c*s(:,2).^2 - 0.5*a*x.^2;
case 'g'; % DRIFT FUNCTION
out1 = [kappa*(alpha-s(:,1)) x];
case 'sigma' % DIFFUSION FUNCTION
out1 = [sigma*s(:,1)zeros(n,3)];
case 'rho' % DISCOUNT FUNCTION
out1 = rho+zeros(n,1);
end
Ich habe es bis jetzt mit if, else bei der Reward function versucht. Also versucht den REward -inf zu setzen, wenn x<0 ist. Hat aber leider noch nicht funktioniert.
Bin für alle Vorschläge dankbar!
Edit: Bitte die Code-Formatierung benutzen.
mfg nschlange
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.