Help with creating a function

3 visualizaciones (últimos 30 días)
Sarah Hicks
Sarah Hicks el 1 de Mzo. de 2019
Respondida: Image Analyst el 1 de Mzo. de 2019
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
  2 comentarios
dpb
dpb el 1 de Mzo. de 2019
function output=poly3rd(a,s,d,f)
%this function creates a 3rd order polynomial with a,b,c, and d
  1. Why do your variables not match the help text? Not your actual problem, but still...why not document what you write correctly?
  2. x isn't defined in the function
  3. Can't refer to the function you're defining inside the function itself even if were valid syntax and if both of those were ok, polynomial would still only be visible inside poly3rd
  4. Bad syntax for poly3--no coefficients in the expression
Walter Roberson
Walter Roberson el 1 de Mzo. de 2019
It is possible to refer to a function you are defining inside the function itself. It is done all the time for recursive functions.

Iniciar sesión para comentar.

Respuesta aceptada

Image Analyst
Image Analyst el 1 de Mzo. de 2019
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.

Más respuestas (0)

Categorías

Más información sobre Polynomials en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by