MATLAB: Adding text on an image in 2018a

image processing

Hello, Why text() is returning: "Index in position 1 exceeds array bounds (must not exceed 1)" when I do:
hold on;
imshow(img)
text(20, 40, 'Some text');
hold off;
This example from the documentation also doesn't work.
x = 0:pi/20:2*pi;
y = sin(x);
plot(x,y)
text(pi,0,'\leftarrow sin(\pi)')
I can live without this and have an alternative, but this would fit much nicer in my design. Many thanks

Best Answer

Then I'll repeat my suspicion as an answer: If you have strange errors about indexing, it is often the case that you overwrote (or more specifically: shadowed) the internal function by creating a variable with the same name. This is a mistake that occurs especially often with functions with names like text, sum, and union.
Using the which function, you can find out what function is actually called. Other options include using breakpoints and setting the pause on error flag.