Effacer les filtres
Effacer les filtres

create a matrix with existing matrix

1 vue (au cours des 30 derniers jours)
Elysi Cochin
Elysi Cochin le 3 Déc 2013
Modifié(e) : Andrei Bobrov le 3 Déc 2013
i have a matrix with dimension
A = M * 361
i wanted to create a matrix with size
B = M * 3600
with this matrix A
how to do it??
also a matrix with dimension
C = N * 900
i wanted to create a matrix with size
D = N * 3600
how to do it?? please do reply...
with this matrix A
  4 commentaires
ES
ES le 3 Déc 2013
C to D is straightforward since number of rows in C and D are equal, and D has 4 times the columns in C.
D=repmat(C,1,4)
ES
ES le 3 Déc 2013
Modifié(e) : ES le 3 Déc 2013
and for A to B you can use this workaround.
B=repmat(A,1,10)
B=B(:,1:3600);
I hope someone gives a straighter solution.

Connectez-vous pour commenter.

Réponse acceptée

ES
ES le 3 Déc 2013
Modifié(e) : ES le 3 Déc 2013
C and D have same number of rows. Similarly A and B have same number of rows. So C to D is straightforward since number of rows in C and D are equal, and D has 4 times the columns in C.
D=repmat(C,1,4)
and for A to B you can use this workaround.
B=repmat(A,1,10)
B=B(:,1:3600);
I hope someone gives a straighter solution.
  1 commentaire
Elysi Cochin
Elysi Cochin le 3 Déc 2013
thank you all for the reply....

Connectez-vous pour commenter.

Plus de réponses (1)

Andrei Bobrov
Andrei Bobrov le 3 Déc 2013
Modifié(e) : Andrei Bobrov le 3 Déc 2013
One way:
newsize2 = 3600;
[i0,j0] = ndgrid(1:size(A,1),1:size(A,2));
F = griddedInterpolant(i0,j0);
[io,jo] = ndgrid(i0(:,1),linspace(1,j0(end),newsize2));
B = F(io,jo);
or
B = zeros(M,3600);
B = A(:,rem((1:size(B,2))-1,size(A,2))+1);

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by