2016-06-14 2 views
0

Ich möchte in MATLAB Zufallszahlen in eine gegebene 2D-Matrix einfügen. Zum Beispiel wennWie kann ich 2d Zufallszahlen in eine 2d Matrix einfügen in Matlab

A = [1 2 3; 
    4 5 6; 
    7 8 9]; 

und wenn B ist eine Matrix, die Matrix gleichmäßig verteilt ist, dann möchte ich eine neue Matrix verschmelzenden diese zwei Matrizen (A & B), wie neue Matrix

C = [1 0.653 2 2.55 3; 
    4 4.3 5 5.4 6; 
    7 7.6 8 8.09 9] 

Wie könnte ich dafür MATLAB-Code schreiben?

+0

Siehe hier: [Mehrfachzugriff-Matrizen in MATLAB mit reshape] (htt p: //www.peteryu.ca/tutorials/matlab/interleave_matrices). –

Antwort

1

Wenn Sie bereits B haben und unter der Annahme, dass A eine n ist -by- m Matrix und B ist eine n -by- m-1 Matrix:

[n,m] = size(A); 
C = zeros(n,2*m-1); 
C(:,1:2:end) = A; 
C(:,2:2:end) = B; % end-1 is not necessary since 2*m-1 is an odd number but if you prefer for readability then you can do C(:,2:2:end-1) = B 

Sie B wie dies schaffen könnten (abhängig von die Grenzen des B, die aus Ihrer Frage nicht klar ist)

B = A(:,1:end-1) + rand(n,m-1)*2 - 1