How to plot this in MATLAB

3 views (last 30 days)
S. David
S. David on 5 Apr 2011
Hi,
How to plot the following inequality in MATLAB in 3D:
Ax<=b
where A is an m-by-n matrix, x is an n-by-1 vector, and b is an m-by-1 vector??
Thanks in advance
  6 Comments
Andrew Newell
Andrew Newell on 5 Apr 2011
How many dimensions are involved? It's very hard to visualize greater than 3 dimensions.
S. David
S. David on 5 Apr 2011
Let us say 2D or 3D, not more. How can we do that?

Sign in to comment.

Answers (3)

the cyclist
the cyclist on 5 Apr 2011
A clever way to do this might be to use the "convhull" command, if you can generate a dataset that obeys that relationship.
  1 Comment
S. David
S. David on 5 Apr 2011
Suppose all are given. How to plot it?

Sign in to comment.


Sean de Wolski
Sean de Wolski on 5 Apr 2011
  1 Comment
S. David
S. David on 5 Apr 2011
Thanks you, the code is not very much understandable. Can you comment on it, please?

Sign in to comment.


the cyclist
the cyclist on 6 Apr 2011
I sat down and thought about this more carefully, and I think the question is a little ambiguous, in a couple different ways.
Let's look at the simplest possible example:
A = eye(2);
b = ones(2,1);
First, it is not perfectly clear what is meant by Ax<=b, because that is the comparison of two vectors, and there is no less than or greater than relationship between them. For example, if Ax = [2; 3] and b=[3; 2], then does the inequality hold?
Maybe it means, though, that every element of Ax must be less than b. If that is the case, then I guess we want to find the boundary. This is solution to A*x=b. (Note that this is now a strict equality now.) I have not done real matrix algebra in a while, but I believe the best way to do this in MATLAB is
x_boundary = A\b
which means in our simple case that x_boundary = [1;1].
So, it seems you want a plot of the region where x <= x_boundary. That's a semi-infinite region, methinks. Not sure how you want to plot that.
Hope that helps a little. It's been a while since I've thought about this type of math, so be sure to do your own thinking on this and see if it makes sense.
  1 Comment
S. David
S. David on 7 Apr 2011
Basically, Ax<=b is a polyhedron, and it is bounded, you just have to get the correct matrix A and vector b. As an example, let us say:
A=[1 1 1;1 1 -1; 1 -1 1; 1 -1 -1;-1 1 1;-1 1 -1;-1 -1 1;-1 -1 -1;];
b=[1;1;1;1;1;1;1;1]
These A and b, assures that the polyhedron is convex. The question now, given these A and b, how to plot the bounded polyhedron?
Thanks in advance

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!