Ich möchte einen Zeilenvektor (und später auch ein Spaltenvektor) zum Anhängen an eine bestehende x durch y durch z Matrix. Also im Grunde „eine neue Zeile hinzufügen (am‚Boden‘) für jedes z in der ursprünglichen 3D-Matrix Betrachten Sie das folgende kurze Matlab-ProgrammAppend Vektor zu 3D-Matrix in Matlab
appendVector = [1 2 3 4 5]; % Small matrix for brevity. Actual matrices used are much larger.
origMatrix = ones(5,5,3);
appendMatrix = [origMatrix(...); appendVector];
Meine Frage lautet:. Wie adressieren I (Matlab-style-Matrix Adressierung, nicht eine "manuelle" C-ähnliche Schleife) origMatrix (...) um den obigen Vektor anzufügen? Fühlen Sie sich frei, auch einen Vorschlag, wie die gleiche Operation für eine Spalte-Vektor (ich denke, dass der richtige Weg, um die letztere zu tun ist, einfach die ‚-Operator in Matlab zu verwenden).
Wie genau beabsichtigen Sie, einen 5-Element-Vektor an eine 3D-Matrix anzuhängen. Sie benötigen ein '1 x 5 x 3' Array, weil Sie die dritte Dimension ausfüllen müssen. – Suever
@Suever Ich nahm das als Teil der möglichen Lösung an. Gibt es eine Möglichkeit, diese Operation nur mit einem Vektor auszuführen (indem Matlab sich um zusätzliche Dimensionen kümmert) oder muss ich den angehängten Vektor vorbereiten, um vor dem Anhängen ein 3D-Array zu sein (wie oben beschrieben)? – Peter