n-dimensional plotting in Matlab

10 次查看(过去 30 天)
So, I have n-dimensional vector x=(x1, x2, x3,...,xn) and a function of vector x: f(x) which is the result of mathematical operations on x1, x2, ..., xn.
I want to plot (x, f(x) ). In my understanding, I will need to plot it in a (n+1) dimensional space (1 axis for each xi and an axis for f(x) ). Is that correct?
How can I do that in Matlab? I only see plot and plot3 in Matlab.
Thanks,

采纳的回答

Wayne King
Wayne King 2011-10-26
Hi, You can't. How would you visualize say a ten-dimensional space? Even for complex-valued functions where you have two dimensions for the input variable and two dimensions for the output variable, the solution is to plot two separate planes to show the mapping between the input and output.
  1 个评论
Khanh
Khanh 2011-10-27
Yes, I agree, visualization is the hard part. Thanks for your quick response.

请先登录,再进行评论。

更多回答(2 个)

Walter Roberson
Walter Roberson 2011-10-26
There is no direct way to represent more than 3 dimensions in MATLAB plots (a common industry deficit!). You can use isoline plots, or you can represent one of the dimensions by color, or you can represent one of the dimensions by transparency, or you can represent one of the dimensions by point size.
Personally I don't think transparency works at all well as a dimensional representation, so I would say that there isn't any good way to do more than 5 dimensions. I guess you could use texture differences, perhaps.
Even 4D gets hard to read, in my opinion.
  1 个评论
Khanh
Khanh 2011-10-27
+1 Thank you, Walter. I understand how to represent dimensions by color but not sure how to represent it by transparency or point size.

请先登录,再进行评论。


bym
bym 2011-10-26
do you mean:
x = 1:10;
y = x^2 % for example
plot(x,y) % ??? (I must be missing something)
  2 个评论
Walter Roberson
Walter Roberson 2011-10-26
No, Khanh is using a function that maps R^n to R^1. Or, equivalently, is using a function over n variables that produces a single numeric value for any unique combination of variable values
For example, f(x,y,z,a,b,c,d,e,f,g) is a function in 10 variables, which is completely isomorphic to working on a function with a single variable with each element of the variable being a vector of length 10, a 10-dimensional point.
Khanh
Khanh 2011-10-27
yes, that's exactly what I meant. Thank you, Walter.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by