2016-07-31 14 views
0

Ich muss Ergebnisse einer for-Schleife in einer Matrix speichern, wo seine Größe 4 * 1 ist?Wie speichere ich das Ergebnis der Schleife für in einer Matrix?

Meine Funktion:

function test() 
for j=2:2:8 
    h= 3*j 
end 
end 

Ergebnisse:

h=6 
h=12 
h=18 
h=24 

Vielen Dank im Voraus.

+0

Sie brauchen dafür keine Schleife, nur 'h = 3 * (2: 2: 8).' ". –

+0

@ Dev-iL, ich postete ein einfaches Beispiel aus meiner Arbeit, also brauche ich diese Struktur, Vielen Dank für jede Art und Weise –

Antwort

0

Sie können dies über die Schleife tun, und als Sie sollen zuerst die Matrix erstellen:

function test() 
n = 2:2:8; 
h = zeros(length(n),1) 
counter = 1; 
for j = n 
    h(counter) = 3*j 
    counter = counter+1; 
end 
end 

Aber das ist der lang und nicht-effizienter Weg, anstatt sollten Sie vectorization:

n = 2:2:8; 
h = n.'*3 

oder einfach: h = (2:2:8).'.*3;

das ist es.

+0

Auch die Transponierung zu entsprechen, was das OP braucht. d.h. 4x1 Größenausgabe !! –

+0

Danke für diesen Kommentar, fügte es hinzu. – EBH

+0

@Sardar_Usama Vielen Dank für Ihre Hilfe, dieses Beispiel ist nur eine Verdeutlichung der wirklichen Funktion, die ich habe. Wenn ich die echte Funktion einstelle, versteht niemand, was ich wirklich tun möchte. Vielen Dank. –

Verwandte Themen