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

Code in Schleife

 

Janika O
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 04.12.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.02.2018, 12:36     Titel: Code in Schleife
  Antworten mit Zitat      
Hallo ihr Lieben,

ich habe ein eigentlich nicht so schwieriges Problem, stehe aber schon eine ganze Weile total auf dem Schlauch. Ich habe einen relativ großen 1xM cell Array E, welcher mit Nx2 double "gefüllt" ist. Daraus möchte ich folgendes als Schleife wiedergegeben haben:

Code:

B=[E{:,i}];
M = cumtrapz(B(:,1),B(:,2));
SH=mean(M(:,1));
 


Also für jedes M den Maximalwert und das auch gerne in ein Dokument geschrieben.
Ich weiß wie Schleifen funktionieren und habe jetzt schon so viel ausprobiert und komme einfach nicht auf eine Lösung die mir das ausgibt was ich gerne hätte. Embarassed
Wenn ich biespielsweise:

Code:

B=[E{:,3}];
M = cumtrapz(B(:,1),B(:,2));
SH=mean(M(:,1));
 


eingebe bekomme ich auch ohne Probleme den gewünschten Wert, aber ich möchte das ungern für 4000 Werte händisch erledigen. Das sollte doch eigentlich kein Problem sein Crying or Very sad

Vielleicht kann mir ja jemand weiter helfen. Vielen Dank!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.02.2018, 22:19     Titel:
  Antworten mit Zitat      
Hallo,

du möchtest also mean(M(:,1)), mean(M(:,2)) etc. berechnen? Das erledigt
Code:


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Janika O
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 04.12.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.02.2018, 23:09     Titel:
  Antworten mit Zitat      
Letzten endes ja, das ist richtig, aber mein Problem besteht zunächst darin, dass ich diese Schleife bereits nicht zum laufen bekommen:
Code:

for
j= 1:wert
B{j}=[E{:,j}];
end

es scheint ein Problem mit dem cell array zu sein. Der Fehler lautet: Cell contents assignment to a non-cell array object.
Kann es damit zusammenhängen dass die cell array die in E enthalten sind aus Xx2 double bestehen? Aber auch diese Umzuschreiben funktioniert nicht ohne dass dabei etwas verloren geht. Die folgenden Rechnungen sollen einfach für jeden in E enthaltenen cell Array durchgeführt werden. Beispielsweise so:
Code:
for j= 1:wert
B{j}=[E{:,j}];
M{j} = cumtrapz(B{j}(:,1),B{j}(:,2));
SHB{j}=mean(M{j}(:,1));
end

Doch auch das ist natürlich aufgrund des Fehlers mit E nicht möglich.

Ich habe dabei das Gefühl den Wald vor lauter Bäumen nicht mehr zu sehen.
Trotzdem schon mal vielen Dank für deine Antwort!
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

aus dem ersten Beitrag wurde für mich nicht klar, dass das Problem darin bestand.

Wahrscheinlich hast du B zuvor mal als Nicht-Cell angelegt. Wenn du vorbelegst, sollte das klappen:
Code:
B = cell(1, wert)


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