MATLAB: My fitness function for timetabling in ga

fitness functiongaMATLABtimetabling

Im trying to write the fitness function for my timetabling project. however, it keeps giving me an error saying _"Undefined function or variable 'x1'.
Error in my_fun (line 5) y = w1*x1 + w2*x2 + w3*x3;"_
May i ask for help how to correct this error? Its a really simple code. Im still trying the most basic and experimenting on how to make it work. Please advice. the piece of code is as follows.
function y = my_fun(x)
w1 = 0.8;
w2 = 0.8;
w3 = 0.8;
y = w1*x1 + w2*x2 + w3*x3;

Best Answer

You need to subscript the ‘x’ variables, since they are elements of a vector.
You can also create ‘my_fun’ as an anonymous function:
w1 = 0.8;
w2 = 0.8;
w3 = 0.8;
my_fun = @(x) w1*x(1) + w2*x(2) + w3*x(3);
Related Question