How to plot this in MATLAB

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

What variables do you want on the axes?
Actually, I am not sure. I just know that this inequality plots a polyhedron, and I want to see this using MATLAB.
Oh, so you really want to plot the surface of the polyhedron?
What exactly is to be plotted? In how many dimensions?
How many dimensions are involved? It's very hard to visualize greater than 3 dimensions.
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

0 votes

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

Suppose all are given. How to plot it?

Sign in to comment.

Sean de Wolski
Sean de Wolski on 5 Apr 2011

0 votes

1 Comment

Thanks you, the code is not very much understandable. Can you comment on it, please?

Sign in to comment.

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

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.

Asked:

on 5 Apr 2011

Community Treasure Hunt

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

Start Hunting!