Plot in matlab

  • Thread starter sara_87
  • Start date
  • #1
763
0

Homework Statement



I want to plot into matlab the following function y(x):

when x is between 1 and 2: y=1
when x is between 2 and 3: y=2
.
.
.
when x is between 9 and 10: y=9
etc

I have tried a code. but this code only plots the curve for the final case (so y=9 when x is between 9 and 10).

I know that i can join 2 points like this:
eg
plot([1 2],[1 1],[2 3],[2 2])
However, it will be tedious if i was to do this 10 times (or even more).

Homework Equations





The Attempt at a Solution



I have tried the following code:

for i =1:10
x(i) = i
end
for j=1:9
if j==i || j==i+1
y(j)=i
end
plot([x(j) x(j+1)],[y(j) y(j)])
end


Any help or ideas will be very much appreciated.
Thank you
 

Answers and Replies

  • #2
34,299
5,936

Homework Statement



I want to plot into matlab the following function y(x):

when x is between 1 and 2: y=1
when x is between 2 and 3: y=2
.
.
.
when x is between 9 and 10: y=9
etc

I have tried a code. but this code only plots the curve for the final case (so y=9 when x is between 9 and 10).

I know that i can join 2 points like this:
eg
plot([1 2],[1 1],[2 3],[2 2])
However, it will be tedious if i was to do this 10 times (or even more).

Homework Equations





The Attempt at a Solution



I have tried the following code:

for i =1:10
x(i) = i
end
for j=1:9
if j==i || j==i+1
y(j)=i
end
plot([x(j) x(j+1)],[y(j) y(j)])
end


Any help or ideas will be very much appreciated.
Thank you
Hi sarah_87,
There's a problem with this definition:
when x is between 1 and 2: y=1
when x is between 2 and 3: y=2
.
.
.
when x is between 9 and 10: y=9
What happens when x equals one of the endpoints, say x = 2?

The first line sets y to 1, but the next line sets y to 2.

I'm going to assume that this is what you mean:
when x >= 1 && x < 2, y=1
when x >= 2 && x < 3, y=2
.
.
when x >= 9 && x < 10, y=9

See if this does what you want.
Code:
for i =1:10
x(i) = i
end

for j = 1:9
  for i = 1:10
    if j >= i && j < (i + 1)
       y(j)=i
    end
  end
end
plot(x, y)
%%plot([x(j) x(j+1)],[y(j) y(j)])
end
 

Related Threads on Plot in matlab

  • Last Post
Replies
1
Views
563
  • Last Post
Replies
5
Views
23K
  • Last Post
Replies
5
Views
2K
  • Last Post
Replies
1
Views
868
  • Last Post
Replies
3
Views
2K
  • Last Post
Replies
10
Views
10K
  • Last Post
Replies
1
Views
1K
  • Last Post
Replies
1
Views
9K
  • Last Post
Replies
6
Views
659
  • Last Post
Replies
2
Views
1K
Top