Not enough inputs Genetic Algorithm

조회 수: 10 (최근 30일)
Renovatio
Renovatio 2015년 3월 27일
댓글: wawan ramadhan 2015년 9월 23일
Im trying to find 4(x in this case) variables that minimize my function, I have my function defined as:
function z = my_fun(x, y, t)
z = sum((y-(A + B.*(x(1)-t).^x(2) + C.*(x(1)-t).^x(2)).*cos(x(3).*log(x(1)-t)+x(4))).^2);
y and t are two vectors of the same length which I already have.
When I try to run the algorithm Matlab says: "Not enough input arguments." Anyone has any idea how to solve this? Thanks in advance!!!

채택된 답변

Alan Weiss
Alan Weiss 2015년 3월 27일
You didn't show us your call to ga, but the way you are supposed to call a function with extra parameters (your y and t) is this:
x = ga(@(x)my_fun(x,y,t),4)
Alan Weiss
MATLAB mathematical toolbox documentation
  댓글 수: 2
Renovatio
Renovatio 2015년 3월 27일
Thank you very much!!! that seems to have solved my problem. Do you happen to know how I can do the same within the "gatool" interface?
And is there a way for the GA to ignore the A, B, C variables? As I would like to compute them later in a linear regression when I have the values of the other x variables.
wawan ramadhan
wawan ramadhan 2015년 9월 23일
hi sir I have assignment to use estimation using lppl, can you send me matlab code for lppl with genetic algorithm.

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

추가 답변 (1개)

John D'Errico
John D'Errico 2015년 3월 27일
Most probably, you are trying to use the run button from the editor. You don't use run on functions. Only on scripts. (Really run should be disabled for functions.)
Or maybe you are trying to use this function in some other way. Maybe you just typed in my_fun in the command window with no arguments.

카테고리

Help CenterFile Exchange에서 Genetic Algorithm에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by