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

Cell Arrays

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.10.2011, 20:08     Titel: Cell Arrays
  Antworten mit Zitat      
Hallo an alle!!

Ich hab ein riesen Problem: ich hab ein cell-array, dass auch ca. 30 2x1 Matrizen besteht. Ich müsste jetzt diese teilen und zwar so, dass ich die ersten werte in eine variable speichere und den die zweiten werte in eine neue variable speicher. hab das mit einer for schleife probiert, aber leider greift matlab immer nur auf die erste matrix zu und auf die anderen nicht mehr. hab leider keine ahnung, was ich matlab genau sagen muss, damit es alle matrizen durchläuft.

Code:

for i=1:length(x_dir)
    for m=1:length(k);
        for n=1:length(k);
            k_x(i)=k(m,n) %(1,1)
            k_y(i)=k(m+1,n) %(2,1)
        end
    end
end


wobei k das cell array ist, das meine 30 2x1 einträge enthält.

Hoffe ihr könnt mir weiter helfen!!

Danke.


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 02.10.2011, 01:50     Titel: Re: Cell Arrays
  Antworten mit Zitat      
Hallo Anonymous,

Code:
...            k_x(i)=k(m,n) %(1,1)
            k_y(i)=k(m+1,n) %(2,1)

"i" ändert sich in der äußersten Schleife, die Werte von k_x und k_y werden also immer wieder überschrieben.

Zudem laufen die Schleifen über n und m beide bis length(k). Du brauchst wahrscheinlich aber size(k, 1) und size(k, 2).

Eine gute Methode so etwas zu analysieren ist der Debugger. Setze einen Breakpoint in den Code und lasse das Programm Zeile für Zeile abarbeiten. Dabei kann man genau kontrollieren, was geschieht.

Ich würde Dir auf alle fälle empfehlen, die FOR-Schleifen Methode so lange zu verbessern bis sie läuft. Dann würde ich dies verwenden:
Code:
Mk = cat(2, k{:});
k_x = Mk(1, :);
k_y = Mk(2, :);

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.10.2011, 17:57     Titel:
  Antworten mit Zitat      
Super, danke, das funktioniert jetzt!!!!

Jetzt hab ich aber das nächste problem: hab jetzt versucht das ganze zu plotten. Leider macht mir matlab jetzt 100 bilder auf.

Code:
       figure
        hold on
        imagesc(k_x(:))
        colorbar
 


Wie kann ich matlab sagen, dass es alle werte in einen plot zeichnen soll?

liebe grüße.
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 02.10.2011, 19:12     Titel:
  Antworten mit Zitat      
Hallo Anonymous,

Der gepostete Code öffnet keine 100 figures.
Es ist nicht klar, was Du dargestellt haben möchtest. IMAGESC zeigt Matrizen oder RGB-Images an. k_x is aber wohl ein Vektor, oder? Suchst Du nach dem PLOT-Befehl?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.10.2011, 19:21     Titel:
  Antworten mit Zitat      
habs auch mit dem PLOT befehl versucht, aber auch mit diesem befehl werden bei mir viele FIGUREs geöffnet und eigentlich will ich alle werte in einen plot zusammengefasst haben.
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.10.2011, 20:12     Titel:
  Antworten mit Zitat      
ich weiß leider auch nicht, wie ich mein problem genau beschreiben soll. Ich hab dir mal einen auszug von den ausgabewerten angehängt.


Code:

k_x =
    0.1300
k_x =
    0.1300
k_x =
    0.1250
k_x =
    0.1600
k_x =
    0.2550


meine frage ist jetzt, wie ich all diese werte zusammenfügen und in einen plot zeichnen lassen kann.

mlg
 
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.