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

2er Matrix in Array abspeichern

 

Bazzinga
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 06.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.10.2011, 07:44     Titel: 2er Matrix in Array abspeichern
  Antworten mit Zitat      
Guten Morgen liebe User,
folgendes Problem:

Ich bekomme als Ergebnis eines Algorithmus eine 234 Matrix, z.B. Z=[5;5].
Ich variere die Startwerte dieses Algorithmus nun dauerhaft, sodass ich aus ca. 900 verschiedene Z-Werte komme. Z wird aber immer wieder überschrieben, weshalb ich die momentanen Werte gerne in ein Array oder ähnlichem abspeichern würde, da ich diese noch weiter bearbeiten muss.

Mein minimal Code:

D=[];
i=1;
....Algorithmus...
Z=[5;5];
D(i)=Z;
i=i+1;

Nun kommt aber folgende Fehlermeldung, die ich verstehe, aber nicht zu beheben weiß Smile

??? In an assignment A(I) = B, the number of
elements in B and
I must be the same.

Hat jemand eine Idee???

Vielen Dank schonmal im voraus...!

Grüße
Bazzinga
Private Nachricht senden Benutzer-Profile anzeigen


eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 18.10.2011, 08:01     Titel:
  Antworten mit Zitat      
Mit

Code:


sprichst du nur einen Eintrag im Vektor/in der Matrix D an, du willst aber 2 Werte ([5;5]) darin abspeichern. Achte darauf, dass Z ein Zeilenvektor ist ([5,5], KOMMA!) und speichere ihn dann mit

Code:
D(i,:) = Z;


Das sollte funktionieren, sofern D nicht zuvor als Vektor definiert wurde!
Private Nachricht senden Benutzer-Profile anzeigen
 
Bazzinga
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 06.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.10.2011, 12:19     Titel:
  Antworten mit Zitat      
Danke, diesen Vorschlag nehme ich sehr gerne als Plan b.
Ich brauche allerdings Z=[5;5] also zwei Zeilen.
Ist es nicht möglich Diese in D abzuspeichern ohne den Aufbau der Matrix zu ändern und sie Z´s anschließend wieder "herauszuholen"?

Ich möchte Z wie es oben steht in D einspeichern, dann habe ich ca. 900 verschiedene Z´s, also 900 Matrizen mit jeweils 2 Werten, die ich dann nacheinander bearbeiten bzw. miteinander vergleichen kann.

Hat jemand eine Idee wie das gehen könnte?

Viele Grüße
bazzinga
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 18.10.2011, 12:36     Titel:
  Antworten mit Zitat      
Das verstehe ich nicht...

Zitat:
...also 900 Matrizen mit jeweils 2 Werten


Das ist keine Matrix sondern ein Vektor. Eine Matrix hat mindestens 2x2 Elemente.

M = [1 2;3 4] % Matrix
Vektor = [1;5] % Spaltenvektor
Vektor = [1 5] % Zeilenvektor
Private Nachricht senden Benutzer-Profile anzeigen
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 18.10.2011, 12:37     Titel:
  Antworten mit Zitat      
Im Endeffekt ist (zumindest praktisch) egal, ob du 900 Zeilen und 2 Spalten (900x2) oder 900 Spalten und 2 Zeilen hast.

Code:
Z = [1,2];
D(i,:) = Z; % speichere als 2 Spalten
% alternativ
Z = [1;2];
D(:,i) = Z; % speichere als 2 Zeilen
Private Nachricht senden Benutzer-Profile anzeigen
 
Bazzinga
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 06.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.10.2011, 13:34     Titel:
  Antworten mit Zitat      
...nicht mein ruhmreichster Tag.
Natürlich ein völlig richtiger Eintrag eupho.
Es ist ein Vektor.

Ich danke dir vielmals für deine Mühen. Werde es heute Abend testen und nochmals antworten. Denke aber das die Lösung völlig korrekt ist. Smile

Viele Grüße
Bazzinga
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 - 2025 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.