jetzt meine Aufgabe wollen, ist eine Zelle C
zu konstruieren, die Matrizen enthalten, die ersten Dimensionen in einem VektorBaukonstruktion Zelle, die verschiedene Größen von Matrizen unterschiedlicher Dimension enthält
n = [12 23 54]
enthalten sind.
Während ihre zweite feste Abmessungen sind mit
r = 3
.
Also, ich möchte die Zelle C = {rand(12,3), rand(23,3), rand(54,3)}.
Ich weiß for-loop
meinen Zweck dienen kann, wie:
C=cell(3,1) % pre-allocation
for i = 1 : length(n)
C{i} = rand(n(i),r);
end
Darf ich wissen, wenn ich es tun kann smarter ohne for loop
in Matlab? Danke
Vielen Dank und Ihre Einführung für den 'arrayfun' Befehl für mich. – nam
"Kein Schaden in der Verwendung einer' for' Schleife "ist eine sehr allgemeine Aussage. In diesem Zusammenhang (Zellen-Arrays) gibt es keinen Schaden. In anderen Kontexten, wie z. B. numerischen Array-Berechnungen, gibt es ein paar Sonderfälle, für For-Schleifen gibt es nur einen marginalen Nachteil, aber normalerweise massive Vorteile, um sie zu vermeiden. – jez
@jez Glauben Sie mir, ich bin mir bewusst. Ich nahm an, dass, da ich eine * spezifische * Frage beantwortete, daraus geschlossen werden konnte, dass dieser Kommentar * direkt * auf das vorliegende Problem bezogen war. – Suever