Graph gives warning : function behaves unexpectedly on array inputs. What does this mean?

1 view (last 30 days)
%plot to view graph
g =@(x) 3*x^3 +x^2 -2*x - 5;
o = -40:40;
fplot(g,[-40 40])

Accepted Answer

Chris on 17 Sep 2022
Edited: Chris on 17 Sep 2022
You are using matrix (linear algebra) operators, which include * and ^. If you try to calculate the function directly, You get an error because raising a vector to a power doesn't work.
g =@(x) 3*x^3 +x^2 -2*x - 5;
o = -40:40;
y = g(o);
Error using ^
Incorrect dimensions for raising a matrix to a power. Check that the matrix is square and the power is a scalar. To operate on each element of the matrix individually, use POWER (.^) for elementwise

Error in solution (line 1)
g =@(x) 3*x^3 +x^2 -2*x - 5;
To operate on each x value individually, use elementwise operators (e.g, .^ .* ./ )
g =@(x) 3 .* x .^ 3 + x .^ 2 - 2 .* x - 5;

Sign in to comment.

More Answers (0)


Find more on 2-D and 3-D Plots in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!

Translated by