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

Structures zusammenfügen

 

Vitalitasia

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.06.2009, 12:58     Titel: Structures zusammenfügen
  Antworten mit Zitat      
Hallo,

kann mir jemand sagen ob es möglich ist zwei (oder mehr) Structures zusammenzufügen...

Hintergrund:

Ich hab sozusagen eine Datenbank für jeweils alle Proben eines Jahres erstellt. Also für jedes Jahr ein Struct namens Probe. Jede Structure enthält so 400 - 500 Proben... von diesen sollen dann Plots erstellt werden, und zwar auch mit Werten verschiedener Jahre gleichzeitg.

Gibts da nun also eine Möglichkeit, oder muss ich mir nen anderen Weg suchen?

Beste Grüße und vielen Dank! Smile


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 08.06.2009, 13:12     Titel:
  Antworten mit Zitat      
Moin,

schau dir mal die Hilfe zu
Code:
und den darin verlinkten Funktionen an, damit solltest du dir was basteln können.

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Vitalitasia

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.06.2009, 13:54     Titel:
  Antworten mit Zitat      
Vielen Dank schonmal Smile

Weiß nicht ob ich das richtig seh (hab nicht soviel Ahnung) aber diese Befehle kann ich doch nur nutzen um die Fields zu ändern/beeinflussen etc. ich habe aber folgendes Problem:

Zwei Structures mit folgendem Aufbau:

Probe =

1x452 struct array with fields:
Name
Jahr
Monat
Land
Dichte
....

und jeweils enthalten sie die Einträge

Probe(1)
Probe(2)
...

ich möchte nun also vom ersten Structure die Einträge

Probe(1)
...
Probe(x)

haben und dann Probe(1) vom zweiten Structure als Probe(x+1) u.s.w. dranhängen... ist das überhaupt möglich?
 
Vitalitasia

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.06.2009, 14:16     Titel:
  Antworten mit Zitat      
Habs jetzt, auch wenns höchstwahrscheinlich total umständlich ist, geschafft...:

Code:
for i = Start:NeueLaenge
ProbeMulti(i)=Probe(i-AlteLaenge)
end


i ist das Intervall das angehängt werden soll..

Vielen Dank trotzdem und beste Grüße!
 
Titus
Forum-Meister

Forum-Meister


Beiträge: 871
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 08.06.2009, 16:53     Titel:
  Antworten mit Zitat      
Hallo,

wenn beide Proben-Strukturen die gleichen Felder haben (so sieht es aus, sonst würde die for-Schleife nicht funktionieren), helfen die magischen eckigen Klammern weiter:
Code:
probeMulti = [ProbeAlt1, ProbeAlt2];
 


Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
sbmiles21
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 16.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2012, 17:00     Titel:
  Antworten mit Zitat      
Hallo,
ich habe ein ähnliches Problem. Habe es mit den [] versucht wird mir jedoch ein Error angezeigt:(

ich habe 2 Felder in einem struct :

Code:
b.x(84x6) double
b.y(116x6) double


Der Datensatz aus b.y soll bei b.x angehängt werden. So das ich dann

Code:


erhalte.

Ich weiss struct arrays sind nicht so der Hit, habe jedoch schon mein ganzes Prog. so aufgenbaut. Ist es zumindest möglich die beiden Felder zu einem zu verwandeln?

Für einen Tip wär ich dankbar
Private Nachricht senden Benutzer-Profile anzeigen
 
Sirius3
Forum-Guru

Forum-Guru


Beiträge: 441
Anmeldedatum: 11.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2012, 18:02     Titel:
  Antworten mit Zitat      
Hallo,

Code:


Grüße
Sirius
Private Nachricht senden Benutzer-Profile anzeigen
 
sbmiles21
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 16.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2012, 18:05     Titel:
  Antworten mit Zitat      
geil, es geht, danke !

Gruss
Private Nachricht senden Benutzer-Profile anzeigen
 
sbmiles21
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 16.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2012, 21:09     Titel:
  Antworten mit Zitat      
Habe noch eine Frage dazu. Manuell funktioniert es bei mir.
Muss es jedoch in eine Schleife packen und dazu die Feldnamen immer ändern.

Als Beispiel ohne Schleife fpr b.cycle47 und b.cycle48

Code:

i1=47
    k69=['b.cycle',num2str(i1)]
   
    k70=['b.cycle',num2str(i1+1)]
   
   

       
        k70=vertcat(k69,k70);

Command Window:
Code:

i1 =

    47


k69 =

b.cycle47


k70 =

b.cycle48

>>


Ich bekomme zwar keinen Fehler, die beiden Cycles verändern sich jedoch nicht. weiss jemand was das sein kann?
Wenn ich es manuell eintippe : b.cycle48=vertcat(b.cycle....) , dann klappt es. mhhh

Kann man vielleicht vertcat nicht in einer Schleife bzw. mit variablen anwenden?

Zusatz:
Wenn ich mir k70 ausgeben lassen, bekomme ich das:

k70 =

b.cycle47
b.cycle48

er fügt also nur die beiden strings zusammen.
Muss ich die strings in etwas anderes convertieren?
Private Nachricht senden Benutzer-Profile anzeigen
 
Sirius3
Forum-Guru

Forum-Guru


Beiträge: 441
Anmeldedatum: 11.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2012, 21:46     Titel:
  Antworten mit Zitat      
Hallo,

auf variable Struct-Felder greift man über
Code:
b.(feldname)

zu.
Bei Dir:
Code:
vertcat(b.(sprintf('cycle%i',i)),b.(sprintf('cycle%i',i+1)))


Du hast nur zwei Char-Matrizen mit dem Inhalt "b.cycle47", bzw. "b.cycle48" erzeugt, und beim aneinanderfügen dann ein 9x2-Charmatrix erhalten.

Grüße
Sirius
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.