MATLAB: Help with creating a function

function

Please write a MATLAB function with the following: (1) output a third-order polynomial function with the coefficients as the input variables; (2) Convert this function to function handle.
This is what I have but it will not work.
function output=poly3rd(a,s,d,f)
%this function creates a 3rd order polynomial with a,b,c, and d
%being the variables
output= a.*x.^3 +s.*x.^2 +d.*x+f
polynomial= @poly3rd;
end
poly3= @(x) *x.^3 +2.*x.^2+3.*x +4

Best Answer

Close. But your poly3 needs to take the coefficients in as the input, NOT x. Try this:
poly3= @(a,s,d,f) poly3rd(a,s,d,f) % Define anonymous function
% Plot a function
y = poly3(1,2,3,4);
plot(y, 'b-');
grid on;
and the function pretty much like what you had but you needed to define some x.
function output = poly3rd(a,s,d,f)
%this function creates a 3rd order polynomial with a,b,c, and d
%being the variables
x = linspace(-10, 10, 500); % Whatever.
output = a.*x.^3 + s.*x.^2 + d.*x + f;
end
I second dpb's comment about making your comment and your variables match: either a,s,d,f OR a,b,c,d.