Filter löschen
Filter löschen

create a matrix with existing matrix

1 Ansicht (letzte 30 Tage)
Elysi Cochin
Elysi Cochin am 3 Dez. 2013
Bearbeitet: Andrei Bobrov am 3 Dez. 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 Kommentare
ES
ES am 3 Dez. 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 am 3 Dez. 2013
Bearbeitet: ES am 3 Dez. 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

ES
ES am 3 Dez. 2013
Bearbeitet: ES am 3 Dez. 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.

Weitere Antworten (1)

Andrei Bobrov
Andrei Bobrov am 3 Dez. 2013
Bearbeitet: Andrei Bobrov am 3 Dez. 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);

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by