MATLAB Answers

Contour with discrete (x,y) and continuous z

11 views (last 30 days)
I have a 3D data in which the x and y are piece-wise constant and z is constant in the interval of x and y. I would like to plot them with Matlab contourf function. The problem is that for an interval x,y the value z is interpolated. For example for x between x1 and x2 and y between y1 and y2, the value of z is k. Currently contourf in Matlab plots the interpolation of z around the region of x1,x2 and y1,y2. How can I keep the values of z is set constant in region between x1 and x2 and y1 and y2?
Thank you in advance.
Zul

  0 Comments

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 16 Jul 2011
That is 2D data. You have a matrix that has a value for two independent dimensions, x and y. That is 2D data. It can be represented as a image. You can increase the resolution with imresize (to get "in between" values of x and y) and the 'nearest' option if you want it to have a blocky stair step appearance. Then you can display it with imshow(), or with surf if you want a surface kind of appearance. I (and some others) call something like surf a 2.5D representation since it's not really 3D data (like a CT or MRI image where you have 3 dimensions or indexes into an array) but rather a 3D representation of 2D data.

  1 Comment

Zulkifli Hidayat
Zulkifli Hidayat on 16 Jul 2011
I have not used image processing toolbox. What function is used as a start, to create the image?
Then, I guess I can play with imresize.

Sign in to comment.

More Answers (2)

Fangjun Jiang
Fangjun Jiang on 16 Jul 2011
I am not sure if I fully understand your need. Does the following options for contourf() fit you need?
[x,y,z]=peaks(10);
figure(1);contourf(x,y,z);
figure(2);contourf(x,y,z,10);
figure(3);contourf(x,y,z,z);
Or do you want to achieve the same effect as below but want to apply to 3D?
figure(4);plot(1:50);
figure(5);stairs(1:50);

  2 Comments

Zulkifli Hidayat
Zulkifli Hidayat on 16 Jul 2011
Yes, like the second but in 3D and regular grid.
Fangjun Jiang
Fangjun Jiang on 16 Jul 2011
Please provide an example with small number of data. I don't think contourf() is the right function to look at at the first place.

Sign in to comment.


Zulkifli Hidayat
Zulkifli Hidayat on 16 Jul 2011
It seems that I am not clear enough. I need something like function stairs, but in 3D and the amplitude is in color. I hope it is more clear now.

  0 Comments

Sign in to comment.

Sign in to answer this question.