Effacer les filtres
Effacer les filtres

create symbolic expressions when using ndgrid

1 vue (au cours des 30 derniers jours)
Qun Wu
Qun Wu le 8 Fév 2017
Commenté : Qun Wu le 17 Mar 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.

Réponse acceptée

Walter Roberson
Walter Roberson le 16 Mar 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 commentaire
Qun Wu
Qun Wu le 17 Mar 2017
Thank you so much, I thought the question has gone with wind.

Connectez-vous pour commenter.

Plus de réponses (1)

Karan Gill
Karan Gill le 13 Fév 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 commentaire
Qun Wu
Qun Wu le 16 Mar 2017
Not really, thanks anyway. I learned a trick from the answer.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Function Creation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by