Find the theta1 and theta2 values that maximize the function

5 vues (au cours des 30 derniers jours)
Andreas S
Andreas S le 10 Oct 2020
Commenté : Andreas S le 10 Oct 2020
Hi everyone! Im trying to maximize this equation by finding those theta1 and theta2:
obj8Run = @(theta) -mean(sum((1+theta1.*csecxit+theta2.*csecyit)/N.*R4-c*t4,2))./sqrt(sum((1+theta1.*csecxit+theta2.*csecyit)/N.*R4-c*t4,2))
w0 = [0.2,0.3] % initial guess
lb = zeros(1, 2)
ub = 1.5*ones(1, 2)
sol = fmincon(obj8Run, w0, [], [], [], [], lb, ub)
Matlab gives me this error problem: Error using fmincon (line 635) .Supplied objective function must return a scalar value.
Can someone help me?
Thanks in advance!!!

Réponses (1)

madhan ravi
madhan ravi le 10 Oct 2020
obj8Run = @(theta) -mean(sum((1+theta(1).*csecxit+theta(2).*csecyit)/N.*R4-c*t4,2))./sqrt(sum((1+theta(1).*csecxit+theta(2).*csecyit)/N.*R4-c*t4,2))
  1 commentaire
Andreas S
Andreas S le 10 Oct 2020
Hello! Thanks for your reply, first of all. When i run:
obj8Run = @(theta) -mean(sum((1+theta1.*csecxit+theta2.*csecyit)/N).*R4-c*t4,2)./sqrt(sum((1+theta1.*csecxit+theta2.*csecyit)/N).*R4-c.*t4,2)
w0 = [0.2,0.3] % initial guess
lb = zeros(1, 2)
ub = 1.5*ones(1, 2)
sol = fmincon(obj8Run, w0, [], [], [], [], lb, ub)
it gives me : Error using sqrt
Too many input arguments.
Error in @(theta)-mean(sum((1+theta1.*csecxit+theta2.*csecyit)/N).*R4-c*t4,2)./sqrt(sum((1+theta1.*csecxit+theta2.*csecyit)/N).*R4-c.*t4,2)
Error in fmincon (line 562)
initVals.f = feval(funfcn{3},X,varargin{:});
Caused by:
Failure in initial objective function evaluation. FMINCON cannot continue.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Parallel Computing Toolbox dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by