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

Basic: Array mit schleife befüllen?

 

Superyesright
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 11.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.10.2015, 14:21     Titel: Basic: Array mit schleife befüllen?
  Antworten mit Zitat      
Ich möchte aus beliebig vielen beliebig großen Matrizen ein 3 dimensionales beliebig tiefes Array bilden und komm da nicht weiter. Die Matrizen sind aber jeweils gleich groß. Also wenn die erst 4*5 ist dann sind alle 4*5 groß.

Zu erst komme ich nicht weiter wie ich ein Array mit einer for Schleife befülle
Dann kann ich nicht herausfinden wie ich alle Laufvariablen mit Werten aus den Daten verbinden kann. Also wenn es zB 5 Matrizen gibt wie ich dann die Laufvariable i mit 5 befülle.

Und dann noch die Laufvariable als "Ortsangabe" verwende, da ich ja Laufvariable*Arraytiefe : bräuchte.
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 11.10.2015, 14:26     Titel:
  Antworten mit Zitat      
Code:

a=nan(4,5,5);
for k=1:5
a(:,:,k)=rand(4,5);
end
 

grüße
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Superyesright
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 11.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.10.2015, 15:34     Titel:
  Antworten mit Zitat      
Cool danke,
Jetzt kann ich schon ein bisschen konkreter werden. Ich habe es soweit ich kann umgeschrieben, und ein paar mehr Fragen dazu.
Nicht lauffähiger code.
Code:

>>%// Beispieldaten
>> t1 = rand (4,5);
>> t2 = rand (4,5);
>> t3 = rand (4,5);
>> t4 = rand (4,5);
>> t5 = rand (4,5);
>> t6 = rand (4,5);
>> t7 = rand (4,5);
 
>>x=Spalte;
>>y=Zeile;
>>z=Anzahl der Matrizen;
%//Wie kann ich die Laufvariablen definieren wenn noch unbekannt bzw immer anders?

>> a=nan(x,y,z); %// Nan um ein leeres Array zu erstellen oder falls keine Daten an der Stelle vorhanden sind?

for k=1: %//Wie kann ich hier die Anzahl der t einfügen wenn sie immer anders ist?

a(:,:,k)= %//  und hier sollten jetzt die Daten von t1 bis tn hineingeschrieben werden.
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 11.10.2015, 15:51     Titel:
  Antworten mit Zitat      
du hast das problem das du einen index im namen versteckt hast und ihn nicht als index benutzt hast. diese dynamischen variablen müssen irgendwo umständlich erstellt werden. lassen sich schlecht debuggen und noch schlechter weiter verarbeiten. ich würde dir also empfehlen lieber lieber an der erstellung von t anzusetzen und das in ein ordentliches format zu bringen. zb cell arrays. falls das zuarbeit vom wem anders ist beschwere dich bei dem.
wenn du das nicht ändern kannst musst du wahrscheinlich mit eval arbeiten und who
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Superyesright
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 11.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.10.2015, 20:20     Titel:
  Antworten mit Zitat      
Ja, ich werde den Kollegen sagen das ich cell arays möchte. Bzw es selbst umsetzen.
Danke, lg
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 13.10.2015, 23:59     Titel:
  Antworten mit Zitat      
huhu
das ist schön das du mit dem kollegen drüber reden kannst. das wird dir die arbeit erleichern am besten ihr setzt euch beide mal zusammen und überlegt euch was das richtige datenformat ist. eine ungünstige wahl des formats ist nicht selten und wären das projekt bearbeitet wird kann sich das auch ändern. es macht also durchaus sinn sich da ausreichend gedanken drüber zu machen.
die gebräuchlichsten sachen sind cellarrays structs oder auch nur ein normales mehrdimensionales array. je nachdem wie deine daten aussehen und was du damit machen willst hat das alles seine vor und nachteile.
grüße
_________________

richtig Fragen
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.