WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Matrix Spaltenweise füllen

 

Simon_Opa
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 28.11.23
Wohnort: Recklinghausen
Version: ---
     Beitrag Verfasst am: 28.11.2023, 15:31     Titel: Matrix Spaltenweise füllen
  Antworten mit Zitat      
Hallo,
ich bin neu hier und habe innerhalb meines Praxisprojekts, welches in der Uni machen einige Probleme im bezug auf Matlab.

Problemstellung:
Ich habe einen "endlichen" Vektor: M_R = [ 1,2,3,4,5,6,7,8,9,10,12] % mit hier 12 Zahlen
und ich habe eine vorgefertige Matrix: MR = zeros (3,4)
Wie bekomme ich es hin, dass der Inhalt des Vektors M_R nacheinander in die Matrix MR "geladen" wird.

Endergebniss soll als Matrix so aus sehen:
1 2 3 4
5 6 7 8
9 10 11 12

Ich hatte schon bei Matlab selbst gesucht und mich seit gestern in vielen Foren quergelesen aber bislang noch nichts gefunden.

Mein Lösungsansatz:
Man erstellt eine for-Schleife die in der 1-Zeile anfängt und dann bis zur i-ten Zeile immer jeweils vier, Elemte auffüllt.
Ich weiß, dass man mein Probelm auch "händisch" lösen kann, ich brauche aber einen Allgemeinen Lösungsansatz, den ich auf größere Matrixen der Größe (68x1358) anwenden kann.

Wenn mir einer einen Lösungsansatz liefern könnte wäre ich sehr dankbar.

Im Gesamten ist das Projekt in Matlab/Simulink hinterlegt, es geht dabei um eine Windenergieanlage und das optimale anfahren, wo man abhängig von Drehzahl und Pitchwinkel das Drehmoment bekommt. Die Ergebnisse einer Berechnung gehen dann in die Steuerung bzw. Regelung ein.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.449
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.11.2023, 18:09     Titel:
  Antworten mit Zitat      
Hallo,

im Vektor soll wohl noch eine 11 sein, sonst geht das nicht auf. ;)

Code:
M_R = [ 1,2,3,4,5,6,7,8,9,10,11,12] % mit hier wirklich 12 Zahlen
MR = zeros (3,4)

M_R_new = reshape(M_R, size(MR'))'

Das doppelte Transponieren ist nötig, weil reshape spaltenweise befüllt, du aber dem gewünschen Ergebnis zufolge zeilenweise befüllen willst.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Simon_Opa
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 28.11.23
Wohnort: Recklinghausen
Version: ---
     Beitrag Verfasst am: 29.11.2023, 11:00     Titel:
  Antworten mit Zitat      
Danke für deine Hilfe, das hat mir sehr geholfen ! Cool
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.