MATLAB Answers

0

How to plot a series of numbers which some of them are inf?

Asked by Zeynab Mousavikhamene on 19 Aug 2019 at 6:16
Latest activity Commented on by Walter Roberson
on 2 Sep 2019 at 21:19
I have a series of X and Y that some of Ys might be inf. Ys are changing in each loop there might be inf in them (more than one or none).
When I plot with plot(X,Y) function, it deos not show inf values. Any suggestion?

  4 Comments

Show 1 older comment
Bump ^^
What do you mean by "Bump ^^"?
for example at x=1, y=inf and all other x and y are nonzero. I want at x=1 to add an inf point in the figure like this:Capture.JPG
"Bump" was merely pointing to the question I asked above.

Sign in to comment.

Tags

1 Answer

Answer by Walter Roberson
on 19 Aug 2019 at 6:44

plot(X, min(Y, ValueYouWantPlottedInsteadOfInf))

  11 Comments

That will not happen with Adam's sample code: Adam only uses ytickLabels as a variable.
would you please explain more?
Adam posted
y = randi(1e10, 1,100);
y(randi(100,1,15)) = inf;
plot(min(y, 2e10), 'o')
set(gca,'ytick',0:2e+09:2e10)
ytickLabels = get(gca,'YTickLabel');
ytickLabels{end} = 'inf x10^{10}';
set(gca, 'YTickLabel', ytickLabels)
His line
ytickLabels = get(gca,'YTickLabel');
creates a variable named ytickLabels. His line
ytickLabels{end} = 'inf x10^{10}';
then changes the last label to that particular string.
Then the line
set(gca, 'YTickLabel', ytickLabels)
tells MATLAB to change the YTickLabel property of the axes to the value stored in the variable ytickLabels
Adam's code does not attempt to use ytickLabels as a function. His code cannot generate the error message you indicate,
Cannot find an exact (case-sensitive) match for 'ytickLabels'
Please post a copy of the code you are using that generates that error message.

Sign in to comment.