Assuming that fg, E, I, and L are scalar, the reason your code does not work (and you should have explained what does not work mean) is because you're always assigning the output to the same element of the same variable: y1(1) (if you don't put an index, it's assumed to be one). To solve, one possible way
for idx = 1:numel(x)
y(idx) = ((fg*x(idx)^2)/(24*E*I))*(x(idx)^2 - 4*L*x(idx) + 6*L^2);
However, the loop is not needed. Simply use the vectorising ability of matlab and just one line is needed:
y = ((fg*x.^2)/(24*E*I))*(x.^2 - 4*L*x + 6*L^2)
Note that I've replaced the ^ with .^ to tell matlab to apply the function elementwise.