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.

 Accepted Answer

plot([0 1 2 3 4],[2 9/4 38/17 161/72 682/305])

3 Comments

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--')
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)
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)

Categories

Asked:

JJ
on 25 Jan 2017

Commented:

on 25 Jan 2017

Community Treasure Hunt

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

Start Hunting!