Create a mesh with four variables

26 views (last 30 days)
Hello,
I've got my x, y and z components which contain four variables. I would like to know if there is a matlab function, similar to meshgrid, which creates a 4^n x 4^n matrix.
Thank you
Ben

Accepted Answer

Honglei Chen
Honglei Chen on 6 Aug 2012
  1 Comment
Walter Roberson
Walter Roberson on 6 Aug 2012
Edited: Walter Roberson on 6 Aug 2012
Maybe, but the output size would seem to be entirely wrong. ndgrid() would be used to create an (n x n x n x n) = n^4 array, not a 4^n x 4^n array.
[C1, C2, C3, C4] = ndgrid(component1_values, component2_values, component3_values, component4_values);
x = f1(C1, C2, C3, C4);
y = f2(C1, C2, C3, C4);
z = f3(C1, C2, C3, C4);
For example,
x = C1.^3 - 5*C2.^2 + cos(C3) - arctan(C4);

Sign in to comment.

More Answers (1)

kawak
kawak on 6 Aug 2012
Thank you Honglein Chen for your answer,
However I don’t think that ndgrid() will create a full grid.
For example, if you tape the following commands
>> [X1,X2,X3,X4] = ndgrid(0:1:2); >> A=[X1 X2 X3 X4]
You will see that the mesh A does not have the point A=0 0 0 0.
Thanks
Ben
  2 Comments
Honglei Chen
Honglei Chen on 6 Aug 2012
Edited: Honglei Chen on 6 Aug 2012
Hi Kawak,
You are not reading the result correctly. For example, X1 here is a 4-dimensional array. So to look for a given point, you need to find the corresponding element in each of these four matrices. For example
>> [X1(1,1,1,1) X2(1,1,1,1) X3(1,1,1,1) X4(1,1,1,1)]
ans =
0 0 0 0
kawak
kawak on 6 Aug 2012
Ah ok.. :-) Thanks a lot Chen, it does work now.
Thanks again

Sign in to comment.

Categories

Find more on Parallel for-Loops (parfor) in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!