Warning, unable to evaluate the function to numeric values in the region; complex values were detected
Description
Examples
The plot(f,x) calling sequence plots the real function, f, a function of the independent variable, x, over a horizontal real range.
This warning message occurs when the expression you are trying to plot using the plot(f,x) calling sequence evaluates to complex values for all of the values in the given range. The plot command only plots real-valued expressions.
Note: The warning message is generated only when no real-valued points are generated.
Verify that you are using the correct syntax for the plotting command and that the function evaluates to real numbers in the specified region.
Alternatively, to plot in the complex plane, use plots[complexplot].
Example 1: Plotting a complex expression
The value of a is complex, making the expression inside the plot command, complex. Although this example is trivial, this scenario can occur when you inadvertently use a variable name that was assigned another value (complex value in this case) somewhere else in your worksheet.
a≔5⋅I
a≔I⁢5
plot⁡a⋅x2,x=1..5
Solution : Change a to be real-valued.
a≔5
a:=5
Example 2: Real-valued expression with non-real values
In the range given, the solutions for the function x are all complex values that cannot be plotted with the plot command, resulting in an empty plot.
plot⁡x,x=−10..−1
Solution:
Change plotting range so that only real values are computed.
plot⁡x,x=0..10
Example 3: Some real values are computed
In this case, because some real values are computed, the plot is not empty and no warning message is generated.
plot⁡x,x=−10..10
Change plotting range so only real values are computed.
Example 4: Procedure returns complex value
The expression,
f ≔ procxI⋅xend proc
f:=procxI*xend proc
plot⁡f,1..2
Solution : Use the plots[complexplot] command.
with⁡plots
complexplot⁡f,1..2
Example 5: Non-real values when using plot3d
Similar to the plot command calling sequence, the plot3d command accepts real-valued expressions and plots these expressions over a real range. In this example, the x-values are all negative leading to complex values generated by sqrt(x).
plot3d⁡x,sqrtx,2,x=−25..−5,y=−1..1,axes=normal
Solution: Change the range for the x-variable to be positive values. Alternatively, use the plots[complexplot] command instead.
plot3dx,sqrtx,2,x=1..25,y=−1..1,axes=normal
See Also
plot
plot3d
plots[complexplot]
Download Help Document