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;
figure(2)
o = -40:40;
fplot(g,[-40 40])

Accepted Answer

Chris
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
power.

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;
fplot(g,[-40,40])
  3 Comments

Sign in to comment.

More Answers (0)

Categories

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

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by