fmincon is not working

조회 수: 2 (최근 30일)
John Hey
John Hey 2023년 6월 23일
이동: Torsten 2023년 6월 23일
I Have defined a function (see below) and it works fine - I can calculate the value of the function for any parameter values (refprice and r). However, when I try and run fminunc it gives an error message relating to the function
fun=@(refprice,r)sum((prices-refprice*ot+(exp(-r*t).*ot')').^2);
ERROR MESSAGE
Error using *
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of
rows in the second matrix. To operate on each element of the matrix individually, use TIMES (.*) for elementwise
multiplication.
Error in analysedata>@(refprice,r)sum((prices-refprice*ot+(exp(-r*t).*ot')').^2) (line 13)
fun=@(refprice,r)sum((prices-refprice*ot+(exp(-r*t).*ot')').^2);
Error in fminunc (line 307)
f = feval(funfcn{3},x,varargin{:});
Error in analysedata (line 17)
[ests,ss]=fminunc(fun,pars0);

답변 (1개)

Torsten
Torsten 2023년 6월 23일
편집: Torsten 2023년 6월 23일
You must define
F = @(x) fun(x(1),x(2))
and pass "F" instead of "fun" to fminunc.
  댓글 수: 1
John Hey
John Hey 2023년 6월 23일
이동: Torsten 2023년 6월 23일
Torsten,
You are wonderful. Many, many thanks.
John

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기

태그

제품


릴리스

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by