Plot is not working

8 views (last 30 days)
Via
Via on 9 Apr 2019
Edited: Kevin Phung on 10 Apr 2019
Hi! I don't know what I'm doing wrong here. My plot doesn't show any lines nor scatter points. What is wrong with this?
Yo= 2012500;
K= 8050000;
r= 0.71;
t= 2;
Y= (K*Yo)./((K-Yo)*exp(-r*t)+Yo);
T= 0:0.5:t;
plot (T,Y)

Accepted Answer

Kevin Phung
Kevin Phung on 10 Apr 2019
Edited: Kevin Phung on 10 Apr 2019
Your T is a vector, and your Y is a scalar. There is no singular line because it is actually plotting all 5 points as individual line objects. check it out:
figure
Yo= 2012500;
K= 8050000;
r= 0.71;
t= 2;
Y= (K*Yo)./((K-Yo)*exp(-r*t)+Yo);
T= 0:0.5:t;
a= plot(T,Y,'ro')
The above code should plot 5 circular markers.
a will return 5 line objects.
if you ran this:
% here, both arguments are of the same size.
% All I did was repeat Y n number of times equal to the length of T
a= plot(T,repmat(Y,1,numel(T)),'r')
then a will return 1 line object, that is a line.
also, dont put a space between plot and the parentheses.
let me know if this clears your question
  3 Comments
Walter Roberson
Walter Roberson on 10 Apr 2019
Move your assignment to T to before the assignment to Y, and in Y change the reference to t to be a reference to T
Kevin Phung
Kevin Phung on 10 Apr 2019
Edited: Kevin Phung on 10 Apr 2019
^ You want Y to be a function of a vector, instead of just a constant (which is again, why you only got 1 point for 5 separate line objects).
Walter's comment:
figure
Yo= 2012500;
K= 8050000;
r= 0.71;
t= 2;
T= 0:0.5:t;
Y= (K*Yo)./((K-Yo).*exp(-r*.T)+Yo);
a= plot(T,Y,'r')
I suggest looking into the documentation for plot()

Sign in to comment.

More Answers (0)

Categories

Find more on Graphics Performance in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!