MATLAB Answers

I want to plot a simple graph with specific x,y coordinates. I can plot when the y values are integers. But i need to plot values like 9/4. this is my error code Attempted to access y(2.25); index must be a positive integer or logical.

481 views (last 30 days)
JJ
JJ on 25 Jan 2017
Commented: Niels on 25 Jan 2017
i want to plot the points (0,2) (1,9/4) (2,38/17) (3,161/72) (4,682/305)

  0 Comments

Sign in to comment.

Accepted Answer

Niels
Niels on 25 Jan 2017
plot([0 1 2 3 4],[2 9/4 38/17 161/72 682/305])

  3 Comments

Niels
Niels on 25 Jan 2017
you should save the x values in 1 variable and the y values into another one:
x=[0 1 2 3 4];
y=[2 9/4 38/17 161/72 682/305];
then plot:
plot(x,y)
to learn more abour plot look here
example:
% change color to red, markers are set to diamonds, and dashed linestyle
plot(x,y,'rd--')
JJ
JJ on 25 Jan 2017
Thanks, i cant believe i was trying to make it so complicated. Do you know if you can extend the decimal value on the graph? I have changed to format long, on the screen the decimals haven changed but the graph is still rounding them, i wanted to show the values converging to sqrt(5)
Niels
Niels on 25 Jan 2017
you can change the YAxes Tick but it seems like you are not familiar with structur arrays nor properties of anything, so it will be hard for you. if you want to have more decimals on your y axes you have to acces the axes-properties .YTick:
>> h=plot(x,y,'.--');
>> h.Parent.YTick=[linspace(2,2.2,3),linspace(2.21,2.25,6)];

Sign in to comment.

More Answers (0)

Sign in to answer this question.