Borrar filtros
Borrar filtros

create symbolic expressions when using ndgrid

1 visualización (últimos 30 días)
Qun Wu
Qun Wu el 8 de Feb. de 2017
Comentada: Qun Wu el 17 de Mzo. de 2017
I try to use function Ndgrid to get the grid coordinators.
Such as
[X1,X2,X3,...,Xn] = ndgrid(x1gv,x2gv,x3gv,...,xngv)
Suppose that the grid vectors are as each columns in a matrix M of size m-by-n.
Can someone help me to get the expression in the brackets, i.e. x1gv,x2gv,x3gv,...,xngv, please?
Thank you.

Respuesta aceptada

Walter Roberson
Walter Roberson el 16 de Mzo. de 2017
[m, n] = size(M);
temp = mat2cell(M, m, ones(1, n) );
[X{1:n}] = ndgrid(temp{:});
temp2 = cellfun(@(v) v(:), X, 'uniform', 0);
result = horzcat(temp2{:});
  1 comentario
Qun Wu
Qun Wu el 17 de Mzo. de 2017
Thank you so much, I thought the question has gone with wind.

Iniciar sesión para comentar.

Más respuestas (1)

Karan Gill
Karan Gill el 13 de Feb. de 2017
If I understand correctly, you are trying to do something like this?
>> A = sym('A%d',[1 4]);
B = sym('B%d',[1 4]);
>> [D1,D2] = ndgrid(A,B)
D1 =
[ A1, A1, A1, A1]
[ A2, A2, A2, A2]
[ A3, A3, A3, A3]
[ A4, A4, A4, A4]
D2 =
[ B1, B2, B3, B4]
[ B1, B2, B3, B4]
[ B1, B2, B3, B4]
[ B1, B2, B3, B4]
  1 comentario
Qun Wu
Qun Wu el 16 de Mzo. de 2017
Not really, thanks anyway. I learned a trick from the answer.

Iniciar sesión para comentar.

Categorías

Más información sobre Function Creation en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by